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
iM
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
iM 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
jM 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
iM
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.
Ti is the delay of path i
computed as:
q
Ti (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( Ti ).....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
© Copyright 2026 Paperzz