A Memetic Algorithm for VLSI
Floorplanning
Maolin Tang,
Member, IEEE, and Xin Yao, Fellow, IEEE
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS
—
PART B: CYBERNETICS, VOL.
37, NO. 1, FEBRUARY 2007
Presented By
Chinmaya Kumar Swain
Mohamed Hanoosh
RajKumar Gajavelly
TALK FLOWS
•
INTRODUCTION
•
FLOORPLAN BACKGROUND
•
MEMETIC ALGORITHM
•
EMPIRICAL STUDIES ON THE MA
•
CONCLUSION
INTRODUCTION
•
Floorplanning
is
an
important
problem
in
Very
Largescale
Integrated

Circuit
(VLSI)
design
automation
as
it
determines
the
performance,
size,
yield,
and
reliability
of
VLSI
chips
•
VLSI
floorplanning
is
an
NP

hard
problem
•
This
paper
addresses
Memetic
Algorithm
for
VLSI
floorplanning
problem,
which
quickly
produces
optimal
solution
for
all
the
tested
benchmark
problems
.
•
MA
is
a
hybrid
genetic
algorithm
Floorplan
Background
•
VLSI is a process used to build
electronic
components such as microprocessors and
memory chips comprising millions of transistors
•
The first stage of the VLSI design process typically
produces a set of indivisible rectangular blocks
called
cells
•
In a second stage, interconnection information is
used to determine the relative placements of
these cells
•
The third stage,
Floorplan optimization
,
Floorplan optimization problem with three cells
and six possible configurations
PROBLEM STATEMENT
•
A module m
i
is a rectangular block with fixed height h
i
and width w
i
, M = {m
1
,m
2
, . . . , m
n
} is a set of modules,
and N is a net list specifying interconnections between
the modules in M
•
A floorplan
F is an assignment of M onto a plane such
that
no module overlaps with another.
PROBLEM STATEMENT
Minimize
cost(F)
–
Area(F) = area of the smallest
rectangle enclosing all the modules
–
W
irelength(F)= total length of the wires
fulfilling the
interconnections specified by
N
–
Area
∗

Estimated minimal area
–
Wirelength
∗

Estimated
minimal interconnection cost
–
w1 and w2 are weights assigned to the area
minimization
objective
and the interconnection minimization objective
where 0
≤ w1, w2 ≤ 1, and w1 + w2 = 1.
O

Tree Representation
•
A floorplan with n rectangular modules can be
represented in a horizontal(vertical) O

tree of
(n+1) bocks, of which n nodes correspond to n
modules m
1
,m
2
,…,m
n
and one node corresponds
to left boundary of the problem.
•
There exists a directed edge from module m to
m
j
iff x
j
= x
i
+ w
i
where x
i
, x
j
are left edge
coordinate of m
i
, m
j
and w
i
is width of m
i
.
(T, π)
= (00110100011011, adbcegf)
Local Search Method
1) For each node
m
i
in (T,
π):
a) delete m
i
from (T, π);
b) insert m
i
in the position where we can get
the smallest cost value among all possible
insertion positions in (T, π) as an external
node of the tree;
c) perform (a) and (b) on its orthogonal O

tree.
2) Output (
T,
π).
Memetic Algorithm
Initialize population
While (Stopping criteria)
•
Evaluate fitness of each individual
•
Select parents
•
Produce children
•
Apply local search
(This is additional step compared to GA. Local search is used
optimize selected individuals so that it can lead to convergence
faster)
•
Advance to next generation
Proposed MEMETIC ALGORITHM
•
MA
is
a
hybrid
GA
that
uses
genetic
search
method
to
explore
the
search
space
and
uses
a
local
search
method
to
exploit
information
in
the
search
region
.
•
The
exploration
and
exploitation
are
balanced
by
a
bias
search
strategy
.
Proposed MEMETIC ALGORITHM
•
Representation of individual
•
Fitness Function
•
Initial Population
•
Genetic Operators
•
Local Search
•
Description of the MA
•
Representation of individual
–
an admissible ﬂoorplan represented by an O

tree and
encoded in a tuple (T, π)
–
T is a 2n

bit string identifying the structure of the O

tree ,
and π is a permutation of the nodes.
•
Fitness function
–
f((T,
π
)) = 1/ cost (F
(T,
π
)
)
•
Initial population
–
Randomly generate a sequence of modules
π and
insert into the O

tree in the same order such that
the cost is optimum for its insertion
–
Repeat above to get each individual
•
Genetic Operators
–
Exploration of search regions
•
Meme : Sub tree
–
Crossover
–
Mutations
Crossover
•
One sub tree selected from one
parent and remaining from other
parent
Mutation
•
One top level tree is identified
and its children's order changed
•
Remove a sub tree and insert it
back
Local search
•
A Local search method discussed earlier is
used.
•
Individuals satisfying a certain criteria is
optimized
–
Different individuals may lead to same optimum
point.
–
Those individuals which are more closer to
optimum(ie higher fitness) is better choice for
optimization
Strategy to bias the search
•
If Fitness value >= threshold then
exploit(optimize) it
Algorithm for MA
1)
t := 0;
2) generate an initial population
P(t) of size
PopSize
;
3) evaluate all individuals in
P(t) and find the best individual best
4) while the preset runtime is not up:
a)
t := t + 1;
b) for each individual in
P(t):
i
) this individual becomes the first parent
p1;
ii) select a second parent using roulette wheel selection
p2;
iii) probabilistically apply crossover to produce a child
c1;
iv) if
fitness(c1) ≥ v, then optimize c1 using the local
search method;
v) if
fitness(c1) ≥ fitness(p1), then p1 := c1;
vi) if
fitness(c1) ≥ fitness(best), then best := c1;
vii) probabilistically apply the two
mutators
(picked up
randomly) on
c1 to produce a new individual f;
viii) if
fitness(f) ≥ v, then optimize f using the local
search method;
ix) if
fitness(f) ≥ fitness(p1), then p1 := f;
x) if
fitness(f) ≥ fitness(best), then best := f.
5) output
best.
EMPIRICAL STUDIES ON THE MA
•
Two popular benchmarks are used here to
1.
Study the performance of the MA
2.
Determination of the Value of the Threshold v
3.
The Effectiveness of the Threshold Strategy
•
The benchmarks used in the empirical studies are two popular
MCNC benchmark problems for the VLSI
floorplanning
problem: ami33 and ami49
ami33 has 33 modules, 123 nets, 480 pins, and 42 input
–
output (IO)
pads
ami49 has 49 modules, 408 nets, 931 pins, and 42 IO pads.
Performance of the MA
Best
Solution
Average Solution
Over
mDA
1.10%
to 2.94%
0.36% to 2.46%
Over
GA
1.55% to 4.23 %
1.85% to 5.56%
Improvements of MA
Performance of the MA
Best
Solution
Average Solution
Over
mDA
1.10%
to 2.94%
0.36% to 2.46%
Over
GA
1.55% to 4.23 %
1.85% to 5.56%
Improvements of MA
Dynamic Performance Comparison
for benchmark
–
ami33
Dynamic Performance Comparison
for benchmark
–
ami49
On the Determination of the Value
of the Threshold v
Observations:
1.
For fitness

value
<
0.6
there is no significant
improvement after
optimization.
2.
Best of the 100 optimized
floorplans
is generated
from an initial
floorplan
whose fitness

value ≥ 0.6.
On the Effectiveness of the
Threshold Strategy
Two Approaches used to test the effectiveness of MA
1.
Threshold strategy for picking up the individuals
2.
Randomly picking up the individuals
On the Tradeoff Between the Two
Optimization Objectives
Observations
1.
MA is Sensitive to configuration
2.
Two Objectives are mutually
Constrained with each other
CONCLUSION
•
Presented
an
MA
for
a
non

slicing
and
hard
module
VLSI
floorplanning
problem
—
a
challenging
optimization
problem
in
VLSI
design
automation
.
•
The
exploration
and
exploitation
are
balanced
by
a
threshold
bias
search
strategy
.
•
Experimental
results
have
shown
that
the
MA
outperforms
both
the
mDA
and
GA
for
the
benchmark
problems
.
Future Scope
•
Dynamic threshold bias search strategies
–
It
is
conjectured
that
if
v
can
dynamically
change
in
the
light
of
the
status
of
the
population
of
the
MA,
the
performance
of
the
MA
could
be
further
improved
.
•
Improving
the
crossover
operator
such
that
it
can
effectively
preserve
good
memes
contributing
to
both
area
and
interconnection
minimizations
.
Thank you
Comments 0
Log in to post a comment