# A Memetic Algorithm for VLSI

Ηλεκτρονική - Συσκευές

26 Νοε 2013 (πριν από 4 χρόνια και 7 μήνες)

118 εμφανίσεις

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

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, π)

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)

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)

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