A Memetic Algorithm for VLSI

mittenturkeyElectronics - Devices

Nov 26, 2013 (3 years and 11 months ago)

97 views

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 floorplan 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