fuzzy evolutionary algorithm for vlsi placement sadiq m. saithabib youssefjunaid a. khan department...
Post on 21-Dec-2015
215 views
TRANSCRIPT
Fuzzy Evolutionary Algorithm for VLSI Placement
Sadiq M. Sait Habib Youssef Junaid A. Khan
Department of Computer EngineeringKing Fahd University of Petroleum and Minerals
Dhahran, Saudi Arabia
2
Presentation Overview Introduction Problem statement and cost functions Proposed scheme Results Conclusion
3
Introduction A Fuzzy Evolutionary Algorithm for VLSI placement is presented. Standard Cell Placement is:
A hard multi-objective combinatorial optimization problem. With no known exact and efficient algorithm that can
guarantee a solution of specific or desirable quality. Simulated Evolution is used to perform intelligent search towards
better solution. Due to imprecise nature of design information, objectives and
constraints are expressed in fuzzy domain. The proposed algorithm is compared with Genetic Algorithm.
Problem Statement & Cost Functions
5
Problem Statement Given
A set of modules M = {m1,m2,m3,… mn}
A set of signals V = {v1, v2, v3,… vk}
A set of Signals Vi V, associated with each module mi M
A set of modules Mj = {mi|vj Vi}, associated with each signal vj V
A set of locations L = {L1, L2, L3…Lp}, where p n
Objectives The objective of the problem is
to assign each mi M a unique location Lj, such that
Power is optimized Delay is optimized Wire length is optimized Within accepted layout
Width (Constraint)
6
Cost Functions Wire length Estimation
Whereli …… is the estimate of
actual length of signal net vi,computed using median Steiner tree technique
Power Estimation
Where:Si …… Switching probability of
module mi
Ci …… Load Capacitance of module mi
VDD … Supply Voltagef …… Operating frequency …… Technology dependent
constant
Mi
iwire lCost
iDD
Mii SfVCP 2
t 2
1
7
Cost Functions Power Estimation
(contd.) Also
Where
Cir is the interconnect capacitance at
the output node of cell i.
Cjg is the input capacitance of cell j.
In standard cell placement VDD, f, , and Cj
g are constant and power dissipation depends only on Si and Ci
r which is proportional to wire-length of the net vi. Therefore the cost due to power can be written as:
iMj
gj
rii CCC
Mi
iipower lSCost
8
Cost Functions
Delay Estimation We have a set of
critical paths {1, 2, 3……k}
{vi1, vi2, vi3…… viq} is the set of signal nets traversing path i.
Ti is the delay of path i computed as:
WhereCDi …… is the delay due to the cell driving signal net vi.
IDi …… is the interconnect delay of signal net vi.
Now
q
iiii IDCDT
1
)(
}......4,3,2,1{).....max( kiTCost idelay
9
Cost Functions
Width Constraint
WhereWidthmax is the maximum
allowable width of layoutWidthopt is the optimal width
of layout
a denotes how wide layout we can have as compared to its optimal value.
optWidthaWidth )1(max
10
Cost Functions Fuzzy logic for
multiobjective optimization Unlike crisp set theory, members of a
fuzzy set have degree of membership in the range [0,1]
Each objective cost is mapped to the membership value in the corresponding fuzzy set of “good in that objective”
Some linguistic fuzzy rule is used to combine objectives (AND or OR logic)
Linguistic rule is mapped to some fuzzy operator, where membership values are combined into membership in fuzzy set of good overall solution
Fuzzy Operators Used And-like operators
Min operator = min(1, 2) And-like OWA
= * min(1, 2) +
½ (1-)(1+2) Or-like operators
Max operator = max(1, 2) Or-like OWA
= * max(1, 2) +
½ (1- )(1+ 2)
11
SE AlgorithmALGORITHM SimE(M,L)/* M: Set of moveable elements *//* L: Set of locations *//* B: Selection bias */INITIALIZAION:Repeat
EVALUATION: For Each m M
compute(gm) End For EachSELECTION: For Each m M
If Selection(m,B) ThenPs = Ps U {m}
Else Pr = Pr U {m}End If
End For Each
Sort the elements of Ps;
ALLOCATION:
For Each m Ps
Allocation(m) End For Each
Until Stopping criteria are metReturn (Best Solution)End SimE
12
Proposed Fuzzy goodness evaluation
IF cell i isnear its optimal wire-length AND near its optimal power AND near its optimal net delay OR Tmax(i) is much smaller than TmaxTHEN it has high goodness.
Where
Tmax is the delay of the most critical path in the current iteration and Tmax(i) is the delay of the longest path traversing cell i in the current iteration
Where
dpwj
eij
e
ed
eip
eiw
eei
x
xixxx
,,
)(3
1)1(
))(),(),(min()(
))()((2
1)1(
))(),(max()(
xx
xxx
ipathe
inetee
d
ipathe
inetee
de
id
13
Goodness (Membership Functions)
X nete
enet
amin_net amax_net
1.0near optimal net delay
X pathe
epath
1.0 2.0
1.0 T max (i) is much smallerthan T max
X we
ew
amin_w amax_w
1.0near optimal wire-length
X pe
ep
amin_p amax_p
1.0near optimal power
14
Goodness (base values)
Wherel*
j …… lower bound on wire length of signal net vj
lj …… actual wire length of signal net vj
Sj …… is the switching probability of vi
WhereIDi
* …… is the lower bound on interconnect delay of vi
IDp* …… is the lower bound on
interconnect delay of the input net of cell i that is on max(i)
Tmax(i) …… Delay of longest path traversing cell i Tmax …… Delay of most critical path in current iteration
k
jj
k
j
j
eiw
l
l
xX
1
1
*
)(
Ki
jjj
k
j
jje
ip
lS
lS
xX
1
1
*
.
.
)(pi
piinet
e
IDID
IDIDxX
**
)(
)()(
max
max
iT
TxX ipath
e
15
Goodness (amin_i and amax_i )
amin_i = average(Xei) – 2xSD(Xe
i)
amax_i = average(Xei) + 2xSD(Xe
i)
SelectionA cell i will be selected if
Random gi + bias
Range of the random number will be fixed i.e, [0,M]
M = average(gi) + 2 x SD(gi)
M is computed in first few iteration, and updated only once when size of selection set is 90% of its initial size
16
Allocation Selected cells are sorted w.r.t. their
connectivity to non-selected cells. Top of the list cell is picked and its
location is swapped with other cells in the selection set or with dummy cells, the best swap is accepted and cell is removed from the selection set.
Following Fuzzy Rule is used to find good swap.
IF a swap results in
reduced overall wire length AND reduced overall power AND reduced overall delay AND within acceptable layout width
THEN it gives good location
17
Allocation (contd.)Wherel …… represents a locationiw
a …… membership in fuzzy set, reduced wire length
ipa …… membership in fuzzy set, reduced power
ida …… membership in fuzzy set, reduced delay
ai_width …… membership in fuzzy set, smaller layout width
ia(l) …… is the membership in fuzzy set of good location for cell i
dwpj
ijaa
ida
ipa
iwaa
pwdia
l
llll
,,
_
)(3
1)1(
))(),(),(min()(
))(),(min()( __ lll pwdia
widthiaa
i
18
Allocation (Membership functions)
These values are computed when cell i swap its location with cell j, in nth iteration
X da
ad
ad1.0
1.0reduced delay
X awidth
aw
1.0within acceptable width
1+a width
X wa
aw
aw1.0
1.0reduced wire-length
X pa
ap
ap1.0
1.0reduced power
kj
mnjm
ki
mim
kj
mnjm
ki
mim
iwa
ll
lllX
11
1
11
)(
)()(
kj
mnjmjm
ki
mimim
kj
mnjmjm
ki
mimim
ipa
lSlS
lSlSlX
11
1
11
)(
)()(
1)(
)()(
njpjipi
njpjipiid
a
IDIDIDID
IDIDIDIDlX
opt
Widthlwidthi
a
Width
CostX n)(_
19
Fuzzy Cost Measure Set of solutions is generated by
SimE Best solution is one, which
performs better in terms of all objectives and satisfies the constraint
Due to multi-objective nature of this NP hard problem fuzzy logic (fuzzy goal based computation) is employed in modeling the single aggregating function
Range of acceptable solutions
20
Fuzzy Cost Measure (contd.) Following fuzzy rule is
suggested in order to combine all objectives and constraint
IF a solution is within acceptable wire-length AND acceptable power AND acceptable delay AND within acceptable layout width
THEN it is an acceptable solution
ldpi
icc
lc
dc
pcc
pdlc
x
xxxx
,,
)(3
1)1(
))(),(),(min()(
))(),(min()( xxx widthc
pdlcc
21
Fuzzy Cost Measure (contd.)where X … is the solutionc
pdl … is membership in fuzzy set, acceptable power and delay and wire-length
cp … is membership in fuzzy set, acceptable power
cd … is membership in fuzzy set, acceptable delay
cl … is membership in fuzzy set, acceptable wire-length
cwidth … is membership in fuzzy set, acceptable width
c … is membership in fuzzy set, acceptable solution
cwidth
1.0
gwidthCwidth/Owidth
Oi …… optimal costsCi …… actual costs
Membership functions
22
Genetic Algorithm• Membership value c(x) is
used as the fitness value.• Roulette wheel selection
scheme is used for parent selection.
• Partially Mapped Crossover.• Extended Elitism Random
Selection is used for the creation of next generation.
• Variable mutation rate in the range [0.03- 0.05] is used depending upon the standard deviation of the fitness value in a population.
Experiments and Results
24
Technology Details .25 MOSIS TSMC CMOS technology library is
used Metal1 is used for the routing in horizontal tracks Metal2 is used for the routing in vertical tracks
0.25 technology parameters
25
Circuits and Layout Details
26
Comparison b/w GA and FSE
27
Comparison b/w GA and FSE
(a) (b)
(c) (d)
(a) And (c) represents current and best fitness of solution by FSE. (b) and (d) represent average and best membership by GA for S1196
28
Comparison b/w GA and FSE
(a) (b)
(c)(d)
(a) and (b) show number of solution visited in a particular membership range. (c) and (d) show cumulative number of solutions in specific membership ranges vs. execution
time for FSE and GA respectively for S1196.
29
Conclusion An evolutionary algorithm (FSE) for low power high
performance VLSI standard cell placement is presented Fuzzy logic is used to overcome the multiobjective nature
of the problem FSE performs better than GA with less execution time and
better quality of final solution FSE has better evolutionary rate as compared to GA