Presentation is loading. Please wait.

Presentation is loading. Please wait.

Floorplanning Professor Lei He

Similar presentations


Presentation on theme: "Floorplanning Professor Lei He"— Presentation transcript:

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 ww  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


Download ppt "Floorplanning Professor Lei He"

Similar presentations


Ads by Google