Professional Documents
Culture Documents
Logical Circuit Gate Sizing Using MPSO Guided by Logical Effort - An Examination of The 12-Stage Ripple Carry Adder Circuit
Logical Circuit Gate Sizing Using MPSO Guided by Logical Effort - An Examination of The 12-Stage Ripple Carry Adder Circuit
mcx
-
min
+ y
mn
(9)
where:
y = particle position.
y
mn
= lowest integer value position.
y
mux
= highest integer value position.
r
mn
= lowest range for continuous-valued solution.
r
mux
= upper range for continuous-valued solution.
F. Particle Mutation
The mutation of particles was used to prevent particles
from being trapped in suboptimal points during search[24].
Consider a swarm with N particles. After the particle positions
have been updated, the worst-performing N/2 particles were
eliminated, and were replaced with mutated versions of gBest.
The mutation was performed by making N/2 copies of gBest,
and adding small random values to them so that they are placed
nearby gBest. Therefore, the new particle positions:
X
d
= gBcst +(mFoctor ronJ
3
) (10)
where rand
3
is a random value between 0 and 1. The
pseudo code for MPSO is shown in Figure 3.
Figure 3 Pseudo code for MPSO algorithm.
2011 IEEE Colloquium on Humanities, Science and Engineering Research (CHUSER 2011), Dec 5-6 2011, Penang
427
IV. METHODOLOGY
A. Description of Experiments
For the problem presented, several experiments were
performed. For half adder experiments, the initial swarm was
uniformly distributed inside [0.3, 5.2]
D
, where D is 4, the
corresponding dimension for the number of gate widths to be
optimized. While, for the full adder experiment, the initial
swarm was distributed inside [0.5, 7]
D
, where D is 8. The
swarm sizes tested is shown in Table III.
For each swarm size, the experiments were repeated 5 times
(using different random initialization values generated using
the Mersenne-Twister Algorithm (MTA). The initial MTA
state (for the first repetition) starts from 0 and increased by
50,000 for next repetitions. This was done to measure the
convergence with different initial particle values, as well as to
ensure repeatability of the experiments. For author/s of only
one affiliation (Heading 3): To change the default, adjust the
template as follows.
TABLE III. SWARM SIZES FOR MPSO OPTIMIZATION
Swarm size Max. Iteration Interval [ymin, ymax]
5 10, 15, 20, 25, 30 [0.3, +5.5]
10 10, 15, 20, 25, 30 [0.3, +5.5]
15 10, 15, 20, 25, 30 [0.3, +5.5]
20 10, 15, 20, 25, 30 [0.3, +5.5]
25 10, 15, 20, 25, 30 [0.3, +5.5]
30 10, 15, 20, 25, 30 [0.3, +5.5]
B. PSO Parameter Setting
For the PSO algorithm, the constriction factor method was
used. The values of C
1
and C
2
were both set to 2.05 [25]. The
minimum and maximum values of X
d
were set to 0 and 1,
respectively, to constrain the particle values between 0 and 1.
The dynamic range of I
d
was set to between -1 (when X
d
moves from 1 to 0) and +1 (when X
d
moves from 0 to 1). The
process of LE optimization can be described with a flow chart
in Figure 4.
Figure 4. Logical Effort Optimization Process
C. Fitness Function
The delay or optimization objective was set to 84.11
where Tau () is a measurement of the response time with
units. This delay can be set according to the requirements of
the circuit design. The delays for several types of E are shown
in Table IV.
TABLE IV. DELAY OF 4-STAGE RIPPLE CARRY ADDER
Electrical Effort (H) Delay
16 84.11
8 76.79
4 70.53
2 65.15
1 60.56
During optimization, the gate widths were set according to
MPSO values, and the corresponding delay is calculated. The
difference between the calculated delay ( J
MPS0
) and the
desired delay (J
dcscd
) was determined as:
itncss = |J
dcscd
- J
MPS0
| (11)
A low fitness value indicates a good solution (as the fitness
minimizes the difference between the desired delay and the
delay calculated using MPSO), and vice versa. This fitness
value was then fed back to the MPSO algorithm for it to
optimize its search in the following iterations.
V. RESULTS & DISCUSSIONS
The convergence of the MPSO algorithm was tested for
different swarm sizes, iterations and initial seeds. For each
swarm size, the experiment was repeated 5 times with different
initial particle values generated using MTA. If MPSO managed
to achieve the optimal value of fitness, the optimization is
considered a success. Else, the optimization is considered a
failure.
From the ripple carry adder circuit in Fig. 1, the path delay
was first minimized with maximum electrical effort in Table
IV. Then we used this minimum delay as our timing constraint
for minimizing area. The best convergences plots of the half
adder delay by using MPSO algorithm are shown in Figure 5
and summarized in Table V.
TABLE V. SUMMARY OF CONVERGENCE PLOT
Result Particles Seed Iteration Difference
Best 1 15 150000 10 9.82 1u
-05
Best 2 25 50000 25 1.S7 1u
-04
Best 3 30 0 20 1.84 1u
-04
Best 4 15 200000 15 2.94 1u
-04
Best 5 5 150000 30 S.S9 1u
-04
From Table V, it can be seen that the swarm size of 15, 10
iterations at seeds equal to 150,000 gave the optimum delay
since it gave the lowest difference between the PSO-optimized
delay and the objective delay which is 9.82 1u
-uS
. The
convergence of MPSO with different swarm sizes was
relatively consistent, indicating that small swarm sizes were
sufficient to approximate the solution to the given problem.
The values of swarm size and iterations are adjustable for more
difficult circuit topologies.
2011 IEEE Colloquium on Humanities, Science and Engineering Research (CHUSER 2011), Dec 5-6 2011, Penang
428
Figure 5. Logical Effort Optimization Process
After optimization, all trials converged to 84.11., which
was the optimal fitness value. All trials managed to find the
optimal gate sizes for all logic gates in the full adder path. This
result indicates that the proposed method has successfully been
implemented to solve the test problem, even with different
initialization values.
TABLE VI. COMPARISON OF CONVERGENCE PLOT BETWEEN MPSO AND
PSO
Result
MPSO PSO
Iteration Difference Iteration Difference
Best 1 10 9.82 1u
-05
10 9.82 1u
-05
Best 2 25 1.S7 1u
-04
15 9.82 1u
-05
Best 3 20 1.84 1u
-04
20 9.82 1u
-05
Best 4 15 2.94 1u
-04
25 9.82 1u
-05
Best 5 30 S.S9 1u
-04
30 9.82 1u
-05
A comparison between the MPSO algorithm with the PSO
algorithm when applied to the 12-stage ripple carry adder
circuit is shown in Table VI. The MPSO method were expected
to find better solution in term of speed(iteration) or
solution(difference) but it can be seen that the best result for
MPSO same like PSO which is 9.82 1u
-05
. This is because
the ripple carry adder circuit has more dimensions where at
every iterations, the worst-performing particle have to be
eliminated hence effected the solutions.
The gate widths, without considering the wire capacitance
for the best case are shown in Figure. 6. As shown in the
figure, the continuous sizing area is expressed in terms of
capacitance. As expected, the areas for the gates are inside the
dimension that has been allocated before. The MPSO
algorithms managed to produce consistent results (indicated by
small different of delay found even with different seeds, swarm
sizes and iterations).
Figure 6. Ripple Carry Adder gate width found using MPSO.
.
VI. CONCLUSION
A novel PSO method by [4-6] was extended to find the
gate widths of an 12-stage Ripple Carry Adder circuit. The
method uses the MPSO algorithm to automatically find the
gate widths for the full adder logic gates based on a predefined
delay. Experiments show that the MPSO method was capable
to solve the LE problem well, even with increased complexity
of the test circuit, with consistent results throughout different
swarm sizes, iterations and initial conditions.
REFERENCES
[1] I. E. Sutherland, et al., Logical Effort: Designing
Fast CMOS Circuits.: Morgan Kaufmann, 1999.
[2] N. H. E. Weste and D. Harris, CMOS VLSI Design,
3rd. ed. ed.: Pearson Addison, 2005.
[3] B. S. I. Sutherland and D. Harris, Logical Effort-
Designing Fast CMOS Circuits, 1999.
[4] H. A. Hassan, et al., "Logical Effort using a Novel
Discrete Particle Swarm Optimization Algorithm,"
2008.
[5] A. Johari, et al., "Logical Circuit Gate Sizing using
PSO guided by Logical Effort An Examination of
the 4-Stage Half Adder Circuit " 2010.
[6] M. N. T. I. M. Yassin, N. M. Tahir, "Modification of
Particle Swarm Optimization Algorithm for
Optimization of Discrete Values," IEEE Trans.
Evolutionary Computation, submitted for publication.
[7] J. Kennedy and R. C. Eberhart, "Particle swarm
optimization," Proc. IEEE Int. Conf. on Neural
Networks, vol. 4, pp. 1942-1948, 1995.
[8] R. E. X. Hu and Y. Shi, "Recent advances in particle
swarm," in Proc. IEEE Congress on Evolutionary
Computation Portland, OR, 2004, pp. 90-97.
[9] H. H. Balci and J. F. Valenzuela, "Scheduling electric
power generators using particle swarm optimization
combined with the lagrangian relaxation method,"
2011 IEEE Colloquium on Humanities, Science and Engineering Research (CHUSER 2011), Dec 5-6 2011, Penang
429
Int. J. Appl. Math Comput. Sci, vol. 14, pp. 411-421,
2004.
[10] J. S. Heo, et al., "Multiobjective control of power
plants using PSO techniques," IEEE Trans. on
Energy Conversion, vol. 21, pp. 552-561, 2006.
[11] L. Khriji and K. El-Metwally, "Rational-based
particle swarm optimization for digital image
interpolation," Int. J. Intelligent Technology, vol. 1,
pp. 223-227, 2006.
[12] M. G. H. Omran, et al., "Dynamic clustering using
particle swarm optimization with application in
unsupervised image classification," Trans.
Engineering, Computing and Technology, vol. 9, pp.
199-204, 2005.
[13] P.-Y. Yin, et al., "A Particle Swarm Optimization
Approach to Composing Serial Test Sheets for
Multiple Assessment Criteria," Educational
Technology & Society, vol. 9, pp. 3-15, 2006.
[14] E. F. Campana, et al., "Particle swarm optimization:
efficient globally convergent modifications," in 3rd
European Conf. on Computational Mechanics Solids,
Structures and Coupled Problems in Engineering,
Lisbon, Portugal, 2006, pp. 1-18.
[15] K. E. Parsopoulos and M. N. Vrahatis, "Recent
approaches to global optimization problems through
Particle Swarm Optimization," Natural Computing,
vol. 1, pp. 235-306, 2002.
[16] H. Yoshida, et al., "A particle swarm optimization for
reactive power and voltage control considering
voltage security assessment," IEEE Trans. on Power
Systems, vol. 15, pp. 1232-1239, 2000.
[17] A. K. Pramanick and S. M.Reddy, "On the Fault
Coverage of Gate Delay Fault Detecting Tests," IEEE
Trans. Computer-Aided Design of Integrated Circuits
and Systems, vol. 16(1), pp. 78-94, 1997.
[18] David Harris and I. Sutherland, "Logical Effort of
Carry Propagate Adders," IEEE 2003.
[19] Hoang Dao and V. G. Oklobdzija, "Application of
Logical Effort Techniques for Speed Optimization
and Analysis of Representative Adders," presented at
the 35th Asilomar Conf. on Signals, Systems and
Computers., Pacific Grove, California, 2001.
[20] C. A. CoelloCoello, et al., "Handling multiple
objectives with particle swarm optimization," IEEE
Trans. on Evolutionary Computation, vol. 8, pp. 256-
279, 2004.
[21] A. M. Abdelbar, et al., "Applying co-evolutionary
particle swam optimization to the egyptian board
game seega," in Proc. of 1st Asian- Pacific Workshop
on Genetic Programming. Canberra, Australia, 2003,
pp. 9-15.
[22] SAURABH UPADHYAY and B. M. MANES,
"LOGICAL EFFORT MODELING FOR A RIPPLE
CARRY ADDER," 2004.
[23] I.M.Yassin, et al., "Modification of particle swarm
optimization algorithm for optimization for discrete
value," Journal of Engineering and Technology
Research, in press.
[24] I. M. Yassin, et al., "Novel Mutative Particle Swarm
Optimization Algorithm for Discrete Optimization,"
2008.
[25] R. C. Eberhart and Y. Shi, "Comparing inertia
weights and constriction factors in particle swarm
optimization," presented at the Proc. Congress of
Evolutionary Computation, San Diego, CA, 2000.
2011 IEEE Colloquium on Humanities, Science and Engineering Research (CHUSER 2011), Dec 5-6 2011, Penang
430