Beruflich Dokumente
Kultur Dokumente
Thus a regular gate sizing algorithm will solve the non-linear minimization problem, unless otherwise stated. The various
optimization problem stated in Equation 2 and provide the steps in Algorithm 1 are explained below.
end user with a single s. The constraints place an upper
3.2.1 GenerateInitialPopulation Operator
bound on the penalty entailed while trying to optimize the
objective function, where penalty can be in form of area or This process generates pop, an array of size N × P , which
delay overhead. contains N (population size) members, each of which is a
vector for length P . This population is created by generating
3. NON-DOMINATED SORTING GENETIC uniformly distributed random numbers bounded by [xL U
j , xj ]
for each xj .
ALGORITHM
In this section we provide an overview of Non-dominated 3.2.2 NonDominatedRanking Operator
Sorting Genetic algorithm (NSGA) which will be used as the
base for our gate sizing algorithm. Extensive study has Definition 1. Say operator ‘’ denotes worse and ‘’
been done in multi-objective programming using genetic al- denotes better solution i.e, for a minimization problem a b
gorithms in the past [9, 10, 11, 12]. One of the most influ- means a > b while for a maximization problem a b means
ential work has been done by Deb in [13], in which he has a < b and vice-versa for ‘’ operator. Thus a solution xa is
coined the primary prototype of NSGA. said to dominate xb if both of following condition is true:
Algorithm 2 Non-Dominated Ranking Algorithm 3.2.4 Selection Operator
χ ← 1 {comment: pop is the current population and After fitness has been assigned to all the solutions of the
{xa , xb } ∈ pop} current population, one solution is randomly picked up from
repeat the pool. The probability of selection of a solution xa with
N ← length(pop) fitness value fa is given by [12]:
for a = 1 to N do
if ∃ b such that xb xa then P (xa ) =
fa
push(xa , dominated)
N
fj
end if j=1
end for
for a = 1 to N do 3.2.5 Crossover Operator
if xa ∈
/ dominated then Crossover is the fundamental mechanism of genetic rear-
rankxa ← χ rangement for both real organisms and genetic algorithms.
remove(xa , pop) After two parents are selected by the Selection operator,
end if these two parents are crossed over with a probability of 0.9
end for to give rise to two new children. The Crossover operation
χ←χ+1 can be summarized as:
clear dominated
until pop = {∅} i. Calculate βq as:
return NonDominatedRanking ⎧ 1
⎨ ηc +1 1
(uα) , ifu ≤
βq = 1
α
⎩ ηc +1
1. xa is no worse than xb for any of the objective func- 1
( 2−uα ) otherwise
tions. In other words, fi (xa ) fi (xb ) for all j =
1, . . . , M . where ηc = 30, u is a random number between 0 and 1
and α = 2 − β −(ηc +1) where β is calculated as follows:
2. The solution xa is strictly better than xb in at least
one objective. In other words, ∃j for which fj (xa ) 2
β = 1+ min[(xai − xL U b
i ), (xi − xi )]
fj (xb ). xbi − xai
Now for a set of N solution vectors, the non-dominated rank- ii. The children are then calculated as follows:
ing can be done according to Algorithm 2.
yia = 0.5[(xai + xbi ) − βq xbi − xai]
3.2.3 FitnessAssignment Operator yib = 0.5[(xai + xbi ) + βq xbi − xai ]
After the population of size N has been ranked, fitness
values are assigned each of the solution. At first all the 3.2.6 Mutation Operator
solutions in a particular front (having same rank) are as-
Mutations modify a small fraction of the solution vari-
signed same fitness value (fk ) and then those fitness value is
ables: roughly one in every 10,000. Mutation alone does not
shared with other solutions in the same front. The sharing
generally advance the search for a solution, but it does pro-
procedure for a solution xa in the kth front is performed as
vide insurance against the development of a uniform popu-
follows:
lation incapable of further evolution. After the two children
i. Compute Euclidean distance measure with another so- are generated by the Crossover operator, they are mutated
lution xb in the kth front as: by using the polynomial probability distribution [13]. The
following steps are used on each yi for i ∈ {1, P } with a
P
xap − xbp 2 probability pm :
dab =
p − xp
xU L
p=1
i. Parameter δq is calculated as:
ii. The Sharing function value is then computed as [12]: ⎧ 1
⎪
⎪ [2u + (1 − 2u)(1 − δ)ηm +1 ] ηm +1 − 1
2 ⎨
if u ≤ 0.5
1 − dab , if dab ≤ ξ δq = 1
S (dab ) = ξ ⎪
⎪ 1 − [2(1 − u) + 2(u − 0.5)(1 − δ)ηm +1 ] ηm +1
0 otherwise ⎩
otherswise
0.5
where ξ ≈ √
P
10 where u is a random number between 0 and 1, δ =
iii. The niche count is then computed as: min[(yia −yiL ), (yiU −yia )], ηm = 100+iteration number.
pk
ii. The mutated child portion is calculated as follows:
na = S(dab )
b=1 zia = yia + δq (yiU − yiL )
th
where pk is the number of solutions in the k front.
The mutation probability pm is linearly varied from P1 till
iv. Then the new fitness value is computed as: 1.0.
fk For minimization problems in NSGA, the objective function
fi = of the form fj (−
→
x ) ≤ tj is modified to minfj (−
→x )−tj where
na
the operator x returns x if x is positive or 0 otherwise. A
This procedure is repeated for all the fronts with fk+1 = much detailed explanation for these operators can be found
min(fk ) − κ where κ is a small positive value. in [10]
4. NSGA DEMONSTRATION
j
We shall now demonstrate the application of NSGA on sj
a sample non-linear multi objective optimization problem. fan−out1
5. YOGA IMPLEMENTATION
NSGA in [13] concentrated on convergence of such Pareto-
optimal set, while YOGA maintains wide diversity in the so-
lution set, so as to provide the designer with ample different
solutions distributed over design spectrum. Thus for using
NSGA in YOGA, the problem is formulated as in Equation 5.
f ind s
M inimize max (−
→σ O /−
→
µ O)
(5)
M inimize π (G)
Subject to sL U
j ≤ sj ≤ sj , ∀j ∈ [1, N ] , gj ∈ G
where O is the set of all the outputs of the circuit, G is the
set of all the N gates in the circuit, −
→
µ O is a vector of mean
delay values of all the outputs in O, −→
σ O is a vector of delay
deviation of all the outputs in O and gi is the ith gate with
Figure 1: Non-overlapping Criterion Space and De- a sizing factor of si .
cision space of the problem stated according to Thus the solution vector of YOGA will be set of vectors
Equation 4 each of length N , where each element of each solution will
correspond to the sizing factor of the respective gates.
the traditional optimization technique will cease to give any
fruitful results, and on the other hand the solutions provided 5.1 Gate Delay model
by NSGA are plotted in Figure 2. Thus NSGA provides solu- In the past, for the purpose of Statistical Timing Anal-
tions which are concentrated in a certain neighborhood and ysis (STA) of digital circuit, the delay was modelled as a
tries to bring both the objective functions near their goals random variable to incorporate the manufacturing uncer-
and also the tries to keep the penalty of the solutions to tainty. Song in [7] modelled the variation in delay as sum of
a minimum. Thus instead of providing no-feasible-solution, a factor directly proportional to delay and another random
it provides the solutions from the decision space which are factor whereas Raj in [2] assumed variation to be 15% of the
closest to the required non-feasible objective function point. expected value. In our work we model the delay as:
Thus the advantages of NSGA over the traditional techniques
di = max (Ai1 , . . . , Ain ) + dgatei + dloadi (6)
7
st
1 Generation solution
where di is the delay at wire i, (Ai1 , . . . , Ain ) are the arrival
times of fan-ins of node i, dgatei is the intrinsic delay of gatei
th
50 Generation solution
4
factor, larger is the uncertainty in manufacturing. Thus the
factor (σ/µ) decreases with increasing size (where σs and
3
µs are the variance and mean of sizing factor respectively).
With this kind of delay model and delay characterization
2
Criterion (Section 5.2.1), delay at node i can be computed fairly ac-
Space curately by considering effects of arrival time, intrinsic delay,
1
1 2 3 4 5 6 7 the loading effect.
f1
max(σ/µ)
0.05
N Run
signers needs and requirements. The only input which is re- max (σ/µ)
quired is circuit topology and the minimum and maximum Name gates Area = j=1 αj sj time(s)
allowable gate sizes. 25.1485 0.0769
32.4708 0.0425
c17 6 54.7947 0.0275 4.42
7. CONCLUSION 71.5729 0.0193
In this paper, we have shown the advantages of Multi- 96.1451 0.0163
objective optimization techniques over the traditional single 769.5831 0.0538
objective techniques. A new algorithm YOGA was proposed 1054.2467 0.0317
to use multi-objective optimization technique for gate sizing c432 160 2131.5073 0.0169 43.43
domain of digital circuits and flexibility obtained by it was 3028.1891 0.0142
demonstrated for various benchmark circuits. 3798.7005 0.0121
1418.9510 0.0231
2025.2311 0.0189
c499 202 3869.6068 0.0145 51.37
8. REFERENCES 4932.4860 0.0135
[1] S. H. Choi, B. C. Paul, and K. Roy, “Novel sizing 6420.8214 0.0126
algorithm for yield improvement under process 1818.4447 0.0618
variation in nanometer technology,” in DAC, 2004. 3102.6154 0.0432
[2] S. Raj, S. Vrudhula, and J. Wang, “A methodology to c880 383 4756.7919 0.0281 94.25
improve timing yield in the presence of process 6281.9218 0.0228
variations,” in DAC, 2004, pp. 448–453. 7554.7382 0.0205
[3] A.A.Ilumoka, “Optimal transistor sizing for cmos vlsi 2681.1763 0.0117
circuits using modular artificial neural networks,” in 3817.4057 0.0085
Twenty-Ninth Southeastern Symposium on System c1355 546 3965.4355 0.0068 137.18
Theory, 1997. 8815.9168 0.0057
[4] J. Singh, V. Nookala, Z.-Q. Luo, and S. Sapatnekar, 10672.4103 0.0042
“Robust gate sizing by geometric programming,” in 3218.8936 0.0247
DAC, 2005. 5476.0578 0.0202
[5] A. Nardi and A. L. Sangiovanni-Vincentelli, c1908 880 8981.3529 0.0163 227.20
“Synthesis for manufacturability- a sanity check,” in 12692.8132 0.0148
Design Automation and Test in Europe, 2004. 15834.0099 0.0131
[6] M. Pan, C. C. N. Chu, and H. Zhou, “Timing yield 6973.1389 0.0687
estimation using statistical static timing analysis,” in 9281.2028 0.0534
Intl Symposium on Circuits and Systems, 2005. c270 1193 16315.1987 0.0323 341.68
[7] O. Neiroukh and X. Song, “Improving the 22180.6038 0.0241
process-variation tolerance of digital circuits using 24872.2772 0.0213
gate sizing and statistical techniques,” in Design 7281.1988 0.0357
Automation and Test in Europe, 2005. 14672.0153 0.0248
[8] M. Mani, A. Devgan, and M. Orshansky, “An efficient c3540 1669 21915.7468 0.0162 470.75
algorithm for statistical minimization of total power 29180.4415 0.0151
under timing yield constraints,” in DAC, 2005. 34971.9318 0.0138
[9] C. M. Foncesa and P. J. Flemming, “Genetic 172.4660 0.0631
algorithms for multi-objective optimization: 275.4186 0.0421
Formulaton, discussion and generalization,” in 5th Intl circuit1 20 438.8642 0.0284 7.67
Conf on Genetic Algorithms, 1993, pp. 416–423. 569.5252 0.0231
661.2028 0.0208
[10] N. Srinivas and K. Deb, “Multi-objective function
252.6721 0.0648
optimization using non-dominated sorting genetic
628.8381 0.0408
algorithms,” in Evolutionary Computation, 1994.
circuit2 30 912.0196 0.0256 10.20
[11] A. G. Cunha, P. Oliveira, and J. A. Covas, “Use of
1181.6013 0.0237
genetic algorithms in multicriteria optimization to
1263.3795 0.0228
solve industrial problems,” in Proceedings of the
Seventh International Conference on Genetic
Algorithms, 1997, pp. 682–688.
statistical timing analysis by probabilistic event
[12] D. E. Goldberg, Genetic algorithms for search, propagation,” in DAC, 2001, pp. 661–666.
optimization, and machine learning. MA:
[16] C. Clark, “The greatest of a finite set of random
Addison-Wesley., 1989.
variables,” Operations Research, vol. 9, no. 2, 1961.
[13] K. Deb, “Non-linear goal programming using
[17] M. Hansen, H. Yalcin, and J. P. Hayes, “Unveiling the
multi-objective genetic algorithms,” Evolutionary
iscas-85 benchmarks: A case study in reverse
Computation Journal, 1994.
engineering,” IEEE Design and Test, 1999.
[14] A. Devgan and C. Kashyap, “Block-based static
[18] “Berkeley ptm.” [Online]. Available:
timing analysis with uncertainty,” in ICCAD, 2003.
http://www-device.eecs.berkeley.edu/∼ptm/
[15] J. Liou, K. Cheng, S. Kundu, and A. Krstic, “Fast