M - KFUPM Faculty List

Fuzzy Evolutionary Algorithm for
VLSI Placement
Sadiq M. Sait
Habib Youssef Junaid A. Khan
Department of Computer Engineering
King Fahd University of Petroleum and Minerals
Dhahran, Saudi Arabia
Presentation Overview





Introduction
Problem statement and cost functions
Proposed scheme
Results
Conclusion
2
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.
3
Problem Statement & Cost
Functions
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)



5
Cost Functions

Wire length Estimation
Costwire   li
iM
Where
li …… is the estimate of actual
length of signal net vi,computed
using median Steiner tree
technique

Power Estimation
1
Pt   Ci V 2 DD  f  Si  
iM 2
Where:
Si …… Switching probability of
module mi
Ci …… Load Capacitance of
module mi
VDD … Supply Voltage
f …… Operating frequency
 …… Technology dependent
constant
6
Cost Functions

Power Estimation (contd.)

Also
Ci  Cir 
C
g
j
jM i
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 Cjg are
constant and power
dissipation depends only on
Si and Cir which is proportional
to wire-length of the net vi.
Therefore the cost due to
power can be written as:
Cost power   Si  li
iM
7
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.
Ti is the delay of path i
computed as:
q
Ti   (CDi  IDi )
Where
CDi …… is the delay due to
the cell driving signal net vi.
IDi …… is the interconnect
delay of signal net vi.
Now
Costdelay  max( Ti ).....i  {1,2,3,4......k}
i 1
8
Cost Functions

Width Constraint
Widthmax  (1  a )  Widthopt
Where
Widthmax is the maximum
allowable width of layout
Widthopt is the optimal width of
layout
a denotes how wide layout we
can have as compared to its
optimal value.
9
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)
10
SE Algorithm
ALGORITHM 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 Each
SELECTION:
For Each m  M
If Selection(m,B) Then
Ps = 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 met
Return (Best Solution)
End SimE
11
Proposed Fuzzy goodness evaluation
IF cell i is
near 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
i e ( x )   e  min( iwe ( x ), ipe ( x ), id e ( x ))
 (1   e )
1
ije ( x )

3 j  w , p ,d
Where
id e ( x )   d e  max(  einet ( x ),  eipath( x )) 
e 1
(1   d ) (  e inet ( x )   e ipath( x ))
2
12
Goodness (Membership Functions)
1.0
near optimal wire-length
 we
near optimal power
1.0
 pe
am in_w
am ax_w
am in_p
am ax_p
Xwe
1.0
Xpe
near optimal net delay
 net e
1.0
T max(i) is much smaller
than T max
 pathe
am in_net
am ax_net
Xnete
1.0
2.0
Xpathe
13
Goodness (base values)
k
X iw ( x) 
e
l
*
j 1
k
l
j 1
k
j
X ip ( x) 
e
j
*
S
.
l
 j j
*
X e inet ( x) 
j 1
Ki
 S .l
j 1
j
Where
l*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
j
IDi  ID p
X e ipath ( x) 
*
IDi  ID p
Tmax
Tmax (i )
Where
IDi* …… 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
14

Goodness (amin_i and amax_i )
amin_i = average(Xei) – 2xSD(Xei)
amax_i = average(Xei) + 2xSD(Xei)

Selection
A 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
15
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
16
Allocation (contd.)
 a i _ pwd (l )   a min(  a iw (l ),  a ip (l ),  a id (l )) 
(1   a )
1
 a ij (l )

3 j  p , w ,d
i a (l )  min(  a i _ width (l ),  a i _ pwd (l ))
Where
l …… represents a location
iwa …… 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
17
Allocation (Membership
functions)
reduced power
reduced wire-length
1.0
1.0
wa
p
ki
X a iw (l ) 
a
( lim   l jm ) n
m 1
ki
1.0
Xpa
reduced delay
1.0
1.0
X a id (l ) 
within acceptable width
 wa
d a
ad
Xd
a
1.0
X a ip (l ) 
m 1
ki
kj
m 1
ki
m 1
kj
( S imlim   S jml jm ) n
( S imlim   S jml jm ) n 1
m 1
m 1
1.0
ap
Xwa
m 1
kj
( lim   l jm ) n 1
m 1
aw
kj
1+awidth
( IDi  IDip  ID j  ID jp ) n
( IDi  IDip  ID j  ID jp ) n 1
X a i _ width(l ) 
CostW idthn
Widthopt
These values are computed when
cell i swap its location with cell
j, in nth iteration
Xawidth
18
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
19
Fuzzy Cost Measure (contd.)

Following fuzzy rule is suggested
in order to combine all objectives
and constraint
 c pdl ( x )   c  min(  c p ( x ),  c d ( x ),  c l ( x )) 
IF a solution is within acceptable
wire-length AND acceptable
power AND acceptable delay
AND within acceptable layout
width
 c ( x)  min(  c pdl ( x),  c width ( x))
(1   c ) 
1
 ci ( x)

3 i  p ,d ,l
THEN it is an acceptable
solution
20
Fuzzy Cost Measure (contd.)
where
X … is the solution
cpdl … 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
Oi …… optimal costs
Ci …… actual costs
gwidth
Cwidth/Owidth
Membership functions
21
Genetic Algorithm
• Membership value c(x) is • Variable mutation rate in the
used as the fitness value.
range [0.03- 0.05] is used
• Roulette wheel selection
depending upon the standard
scheme is used for parent
deviation of the fitness value
selection.
in a population.
• Partially Mapped Crossover.
• Extended Elitism Random
Selection is used for the
creation of next generation.
22
Experiments and Results
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
24
Circuits and Layout Details
25
Comparison b/w GA and FSE
26
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
27
Comparison b/w GA and FSE
(a)
(c)
(b)
(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.
28
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
29