Download presentation
Presentation is loading. Please wait.
1
Floorplanning Professor Lei He lhe@ee.ucla.edu http://eda.ee.ucla.edu/
2
Problem Formulation Given, for each block B i Area of B i w i h i =A i Aspect ratio of B i (continuous or discrete) Connectivity Determine: for each block location (x i,y i ), and dimension (w i, h i ) min total area interconnections i i i i r h s w 5 11 3 7 4 2 10
3
Slicing Floorplan and General Floorplan non-slicing floorplan Slicing Tree 1 2 h v h 74 v v 3h 65 Slicing floorplan 1 2 3 5 6 47
4
Overview of This Chapter Module orientation problem Slicing floorplan design Non-slicing floorplan design student presentation
5
Area Utilization Area utilization Depends on how nicely the rigid modules’ shapes are matched Soft modules can take different shapes to “fill in” empty slots Floorplan sizing 1 76 2 3 4 5 m1 m7 m6 m5 m2 m4 m3 m1 m7 m6 m5 m2 m4 m3 m7 m1 m7 Area = 20x22 = 440Area = 20x19 = 380
6
Slicing Floorplan Sizing Bottom-up process Has to be done per floorplan perturbation Requires O(n) time (N is the # of shapes of all modules) V LR H TB bibi aiai yjyj xjxj b i + y j max(a i, x j ) bibi aiai max(b i, y j ) a i + x j yjyj xjxj
7
Slicing Floorplan Sizing Simple case: all modules are hard macros No rotation allowed, one shape only 17x16 m1 9x15 m7 m6 9x7 m5 8x16 8x11 m2 m4 m3 4x11 1234567 1672345 2345167 43 62734 4x75x4 8x8 4x8 3x6 4x5 7x5 1 3 4 5 2 67
8
Slicing Floorplan Sizing General case: all modules are soft macros Stockmeyer’s work (1983) for optimal module orientation Non-slicing = NP complete Slicing = polynomial time solvable with dynamic programming Phase 1: bottom-up Input: floorplan tree, modules shapes Start with sorted shapes lists of modules Perform Vertical_Node_Sizing & Horizontal_Node_Sizing When get to the root node, we have a list of shapes. Select the one that is best in terms of area Phase 2: top-down Traverse the floorplan tree and set module locations
9
Sizing Example A A B B a1 a2 a3 4x6 5x56x4 b1 b2 b3 3x4 2x7 4x2 6x77x78x7 b1 a1 b1 a2 b1 a3 7x68x59x4 b2 a1 b2 a2 b2 a3 8x69x5 10x4 b3 a1 b3 a2 b3 a3
10
Stockmeyer Algorithm Procedure Vertical_Node_Sizing Input: Sorted lists L = {(a 1, b 1 ),..., (a s,b s )}, R = {(x 1, y 1 ),..., (x t, y t )}, where a i b j, x i y j (for all i < j) Output: A sorted list H = {(c 1, d 1 ),..., (c u,d u )}, where u ≤ s + t - 1, c i d j (for all i < j) Begin H := Ø i := 1, j := 1, k = 1 while (i ≤ s) and (j ≤ t) do (c k, d k ) := (a i + x j, max(b i, y j )) H := H U {(c k, d k )} k := k + 1 if max(b i, y j ) = b i then i := i + 1 if max(b i, y j ) = y j then j := j + 1
11
Complexity of the Algorithm n= # of leaves = 2 * # of modules d=depth of the tree Running time= O(nd) Storage = O(n) because, at depth k, sum of the lengths of the lists =O(n) time to construct these lists =O(n) configurations stored at this node can be release as soon as the node is processed Extension Each module has k possible shapes Running time and storage O(nkd) depth k
12
Floorplan using Simulated Annealing References 1. D.F. Wong and C.L. Liu A New Algorithm for Floorplan Design 23rd IEEE/ACM Design Automation Conference 1986, P101-107 2. D.F. Wong and C.L. Liu Floorplan Design for Rectangular and L-shaped modules ICCAD-87 P520-523 3. D.F. Wong, H.W. Lceng, C.L. Liu Simulated Annealing for VLSI Design Kluwer Academic Publishers 1988 P31-71
13
Basic Ingredients for S.A. Solution space Neighborhood Structure Cost Function Annealing Schedule
14
Representation of Solutions 1 6 35 2 4 7 + + + 16 3 5 2 74 16+35 2+74+
15
Corresponding Slicing Tree May Not Unique 1 3 2 4 1 + 32 4 1 + 3 2 4 132+4 132+ 4 + ++ + Normalization: do not allow following slicing trees
16
Normalized Polish Expressions 16+35 2+ 74+ # of operands = 4 # of operators = 2 …….. = 7 …….. = 5 Total length =2n-1 Permutation of { 1, 2, …, n} and # of operators =n-1 # of operators < # of operands at every position No consecutive operators of the same type (due to normalization)
17
Neighborhood Structure The moves: M1: swap adjacent operands M2: Complement some chain of operators M3: swap 2 adjacent operand and operator Chain: + + +….. or + + …. 16+35 2+ 74+ chains
18
Examples of Neighboring Solutions 1 2 3 + 4 5 + 1 2 4 + 3 5 + 1 2 4 + 3 5 + 1 2 4 3 + 5 + 1 2 + 4 3 5 + 1 2 4 3 5 + + 1 2 + 4 3 5 + + 2 5 3 4 1 53 2 4 1 3 2 4 1 5 3 2 4 1 5 1 5 3 2 4 3 2 4 1 5 5 4 2 3 1 M1 M3 M2
19
Cost Function 3 2 41 5 A ),(),( ),( jicjidAA Eji ww 35 2 1 4 35 2 1 4 35 2 1 4 A=minimum area ij dc w : W Wirelength:
20
Computing cost function + + 7 4 108 9 ++ 162 35 6 1 2 35 4 8 9 7 byax ii , b yax ii , a ybx ii , b yax ii , or b, yax ii ,Ayx ii Ayx ii a, ybx ii , Ayx ii or
21
Computing Cost Function (Cont’d) + 4 ++ 16 2 35 + 7 108 9
22
Summary Floorplan is a very important step for design planning Floorplan may be performed before synthesis of each block (at RTL level) Slicing floorplan allows efficient representation and optimization Module orientation and sizing problem can be solved easily Good results using SA on Polish expression representation Recent progress non-slicing floorplanning via Sequence pair representation Floorplanning and system design co-optimization
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.