Professional Documents
Culture Documents
Submitted By:
NIT Jalandhar
OUTLINE
INTRODUCTION
FLOORPLAN BACKGROUND
PROBLEM STATEMENT O-TREE
CONCLUSION
FUTURE SCOPE REFERENCES
Monday, May 13, 2013 NIT Jalandhar 2
INTRODUCTION
Floorplanning is an important problem in Very Large scale Integrated-Circuit (VLSI) design automation as it
determines the performance, size, yield, and reliability of VLSI chips This presentation addresses Memetic Algorithm for VLSI Floorplanning problem, which quickly produces optimal solution for all the tested benchmark problems. MA is a hybrid genetic algorithm that uses an effective genetic search method to explore the search space and an efficient local search method to exploit information in the search space.
Monday, May 13, 2013 NIT Jalandhar 3
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 positions of these cells The third stage, Floorplan optimization
NIT Jalandhar
I/O Pads
Floorplan
Module a
Module b Block a Module c Chip Planning GND Block Pins Block b Block d VDD Block c
Module d
Block e
NIT Jalandhar
Example
Given: Three blocks with the following potential widths and heights Block A: w = 2, h = 2 Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1 Task: Floorplan with minimum total area enclosed
C A B
B A
NIT Jalandhar
Example
Given: Three blocks with the following potential widths and heights Block A: w = 2, h = 2 Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1 Task: Floorplan with minimum total area enclosed
NIT Jalandhar
Example
Given: Three blocks with the following potential widths and heights Block A: w = 2, h = 2 Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1 Task: Floorplan with minimum total area enclosed
Solution: Aspect ratios Block A with w = 2, h = 2; Block B with w = 2, h = 1; Block C with w = 1, h = 3 This floorplan has a global bounding box with minimum possible area (9 square units).
Monday, May 13, 2013 NIT Jalandhar 8
V c e f d a H b c d H H V a H b
V H d c f e H V f
9
e
Monday, May 13, 2013 NIT Jalandhar
W b c e
b a
e c
a d d
W H
PROBLEM STATEMENT
A module mi is a rectangular block with fixed height
hi and width wi, M = {m1,m2, . . . , mn} 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.
NIT Jalandhar
11
PROBLEM STATEMENT
Minimize cost(F)
Area(F) = area of the smallest rectangle enclosing all the
modules Wire length(F)= total length of the wires fulfilling the interconnections specified by N Area - Estimated minimal area Wire length - 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.
NIT Jalandhar 12
slicing floorplan Satisfy cost function that includes area and amount of interconnect Benefits of O-tree Representation Transformation between O-tree and constraint graph is O(n) One instance of O-tree maps to one placement. Can easily incorporate interconnect and area costs Fast deterministic algorithm for operation on O-Tree
Monday, May 13, 2013 NIT Jalandhar 13
What is an O-tree?
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 m1,m2,,mn and one node corresponds to left boundary of the problem.
There exists a directed edge from module m to mj iff xj = xi + wi so that there is no overlapping of modules where xi, xj are left edge coordinate of mi, mj and wi is width of mi. mi mj
xi
Monday, May 13, 2013
wi
xj
14
NIT Jalandhar
Encoding
Horizontal O-tree
(00110100011011, adbcegf)
The root represents the left-boundary of the chip
Monday, May 13, 2013 NIT Jalandhar 16
Admissible Floorplan
If no module can be shifted left or bottom without moving other modules in the Floorplan.
L-Compact: no block can
shift left from its original position with other components fixed B-Compact: no block can shift down from its original position with other components fixed LB-Compact: placement that is both L-Compact and BCompact A placement is admissible if it is LB-Compact
Monday, May 13, 2013 NIT Jalandhar 17
Admissible O-tree
O-tree
is admissible if its corresponding floorplan is admissible Given an admissible O-tree, it is equal to the shortest path spanning tree.
Monday, May 13, 2013 NIT Jalandhar 18
Memetic Algorithm
Initialize population
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
Monday, May 13, 2013 NIT Jalandhar 20
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.
NIT Jalandhar
21
MEMETIC ALGORITHM
Representation of individual
Fitness Function Initial Population
Genetic Operators
Local Search Description of the MA
NIT Jalandhar
22
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
Monday, May 13, 2013 NIT Jalandhar 23
Genetic Operators
In GA, crossover is used for both exploration and exploitation, and mutation is used for exploration. In MA, the crossover and mutation operators are used only for exploration, or discovering new promising search regions by evolving memes. Meme : Sub tree
Crossover Mutations
Monday, May 13, 2013 NIT Jalandhar 24
Crossover
One sub tree selected from one parent and remaining from other parent
NIT Jalandhar
25
Mutation
One top level sub tree is identified and its order is changed
randomly.
Monday, May 13, 2013 NIT Jalandhar 26
It randomly select a sub tree at any level, remove it and insert it back to O-tree.
Monday, May 13, 2013 NIT Jalandhar 27
Local search
A Local search method discussed earlier is used.
Individuals optimized
satisfying
certain
criteria
is
point. Those individuals which are more closer to optimum(i.e. higher fitness) is better choice for optimization
NIT Jalandhar
28
when the size of the problem increases. Hence, it is impossible for MA to exploit all the regions. A technique that is usually used to deal with the problem is to use a bias search strategy Instead of exploiting all the search points generated by the genetic operators, MA only exploits those search points (admissible floorplans) whose fitness value is equal to or greater than a threshold v and ignores those search points whose fitness value is less than v.
Monday, May 13, 2013 NIT Jalandhar 29
NIT Jalandhar
30
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 mutations (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.
Monday, May 13, 2013 NIT Jalandhar 31
popular MCNC (Microelectronics Center of North Carolina) benchmark problems for the VLSI Floorplanning problem: ami33 and ami49 ami33 has 33 modules, 123 nets, 480 pins, and 42 IO pads ami49 has 49 modules, 408 nets, 931 pins, and 42 IO pads.
NIT Jalandhar
32
Performance of the MA
Improvements of MA Best Solution Over mDA (multistart Deterministic Algo) 1.10% to 2.94% Average Solution 0.36% to 2.46%
Over GA
1.55% to 4.23 %
1.85% to 5.56 %
mDA generates search points randomly, whereas MA generate using genetic operators.
Monday, May 13, 2013 NIT Jalandhar 33
Observations 1. MA is Sensitive to configuration 2. Two Objectives are mutually Constrained with each other
Monday, May 13, 2013 NIT Jalandhar 35
CONCLUSION
Presented
an MA for a non-slicing VLSI Floorplanning problema 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.
NIT Jalandhar
36
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.
NIT Jalandhar
37
References
P.N.
Guo, C.K. Cheng, and T. Yoshimura, " An O-Tree Representation of Nonslicing Floorplan and Its Applications, ACM/IEE Design Automation Conf. pp. 268-273, June 1999. Maolin Tang, and Xin Yao, A Memetic Algorithm for VLSI Floorplanning, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 37, NO. 1, FEB 2007 P.-N. Guo, T. Takahashi, C.-K. Cheng, and T. Yoshimura, Floorplanning using a tree representation, IEEE Trans. Comput.Aided Design Integr. Circuits Syst., vol. 20, no. 2, pp. 281289, Feb. 2001. M. Rebaudengo and M. Reorda, GALLO: A genetic algorithm for floorplan area optimization, IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 15, no. 8, pp. 943951, Aug. 1996.
NIT Jalandhar
38
NIT Jalandhar
39
Thank You
Monday, May 13, 2013 NIT Jalandhar 40