Floorplan Sizing 1 Floorplanning Algorithms • Common Goals To minimize the total length of interconnect, subject to an upper bound on the floorplan area • or To simultaneously optimize both wire length and area 2 3.5.1 Floorplan Sizing h h Legal shapes w h*w A a a Otten, R.: Efficient Floorplan Optimization. Int. Conf. on Computer Design, 499-502, 1983 Shape functions Legal shapes w Block with minimum width and height restrictions 3 h h w Discrete (h,w) values w Hard library block Otten, R.: Efficient Floorplan Optimization. Int. Conf. on Computer Design, 499-502, 1983 3.5.1 Floorplan Sizing Shape functions 4 3.5.1 Floorplan Sizing Corner points h 5 5 2 2 2 5 w 2 5 5 Slicing Floorplan Sizing 6 مرتض ي صاحب الزماني • Algorithm: Floorplan Sizing finds the minimum floorplan area for a given slicing floorplan in polynomial time. For non-slicing floorplans, the problem is NP-hard. Construct the shape functions of all individual blocks • Bottom up: Determine the shape function of the top-level floorplan from the shape functions of the individual blocks • Top down: From the corner point (minimum top-level floorplan area), trace back to each block’s shape function − Find that block’s dimensions and location 7 3.5.1 Floorplan Sizing – Example Step 1: Construct the shape functions of the blocks 3 Block A: 5 5 3 Block B: 4 2 2 4 8 3.5.1 Floorplan Sizing – Example Step 1: Construct the shape functions of the blocks h 3 Block A: 5 5 3 6 5 4 Block B: 4 2 2 2 4 2 3 4 6 w 9 3.5.1 Floorplan Sizing – Example Step 1: Construct the shape functions of the blocks h 3 Block A: 5 5 3 6 4 3 2 Block B: 4 2 2 4 2 4 5 6 w 10 3.5.1 Floorplan Sizing – Example Step 1: Construct the shape functions of the blocks h 3 Block A: 5 5 3 6 4 Block B: 4 hA(w) 2 2 2 4 2 4 6 w 11 3.5.1 Floorplan Sizing – Example Step 1: Construct the shape functions of the blocks h 3 Block A: 5 5 3 6 4 Block B: 4 hA(w) hB(w) 2 2 2 4 2 4 6 w 12 3.5.1 Floorplan Sizing – Example Step 2: Determine the shape function of the toplevel floorplan (vertical) h 8 6 4 hA(w) hB(w) 2 2 4 6 w 13 3.5.1 Floorplan Sizing – Example Step 2: Determine the shape function of the toplevel floorplan (vertical) h 8 6 4 hA(w) hB(w) 2 2 4 6 w 14 3.5.1 Floorplan Sizing – Example Step 2: Determine the shape function of the toplevel floorplan (vertical) h h 8 8 6 6 4 4 hA(w) hB(w) 2 2 4 6 w hC(w) hA(w) hB(w) 2 2 4 6 w 15 3.5.1 Floorplan Sizing – Example Step 2: Determine the shape function of the toplevel floorplan (vertical) h h 8 8 6 6 4 4 hA(w) hB(w) 2 2 4 6 w hC(w) hA(w) hB(w) 2 2 4 6 5x5 w 16 3.5.1 Floorplan Sizing – Example Step 2: Determine the shape function of the toplevel floorplan (vertical) 3x9 h h 8 8 6 6 4 4 hA(w) hB(w) 2 2 4 6 w 4x7 hC(w) hA(w) hB(w) 2 2 4 6 5x5 w 17 3.5.1 Floorplan Sizing – Example Step 2: Determine the shape function of the toplevel floorplan (vertical) 3x9 h h 8 8 6 6 4 4 hA(w) hB(w) 2 2 4 6 w 4x7 hC(w) hA(w) hB(w) 2 2 4 6 5x5 w Minimimum top-level floorplan with vertical composition 18 3.5.1 Floorplan Sizing – Example Step 2: Determine the shape function of the toplevel floorplan (vertical) hB(w) hA(w) hC(w) hB(w) hA(w) h h 5x5 6 6 4 4 2 2 2 4 6 8 w 7x4 2 4 6 8 w 9x3 Minimimum top-level floorplan with horizontal composition 19 3.5.1 Floorplan Sizing – Example Step 3: Find the individual blocks’ dimensions and locations h (1) Minimum area floorplan: 5 x 5 6 4 2 2 4 6 8 w Horizontal composition 20 3.5.1 Floorplan Sizing – Example Step 3: Find the individual blocks’ dimensions and locations h (1) Minimum area floorplan: 5 x 5 6 4 2 (2) Derived block dimensions : 2 x 4 and 3 x 5 2 4 6 8 w Horizontal composition 21 3.5.1 Floorplan Sizing – Example Step 3: Find the individual blocks’ dimensions and locations h (1) Minimum area floorplan: 5 x 5 5x5 6 4 2 (2) Derived block dimensions : 2 x 4 and 3 x 5 2 4 6 8 Horizontal composition w 2x4 3x5 22 3.5.1 Floorplan Sizing – Example 5x5 V Resulting slicing tree B B A A 2x4 3x5 23 DeFer: Deferred Decision Making Enabled Fixed-Outline Floorplanner Jackey Z. Yan Chris Chu DAC 2008 24 Fixed-Outline Floorplanning 25 Constraints of Ordinary Slicing Tree V B A D H H B C E A V C D E • Block orientation • Slice line direction (H/V) • Left-right or top-bottom relative order 26 DDM in Shape/Orientation Defer the decision for subfloorplan (i.e., block) orientation until the end Pick any point! B E D A Fixed-outline region C V H H H A A B C V A W D E 27 DDM in Relative Order The relative order (left-right / top-down) between subfloorplans does not affect the shape curves H ABV V A H V B A A B B BAV B A W W Same shape curve V A V B A V and B B A Decision on subfloorplan relative order will be made at the end to minimize HPWL 28 DDM in Slice Line Direction Two combine operators in ordinary slicing tree V A H B A B B A A B Generalized combine operator H V and A B A A B B A B B A 29 Floorplans by Generalized Slicing Tree B A B A B A B A B B A A A A A B B A B B B BA AB A • Left-right or top-bottom relative order B B B AA A • Slice line direction A • Block orientation B Deferred Decision Making (DDM) 30 Shape Curve Operation for C A A B C B H H Ch Ch B A W=H Cv W ( i ) Addition W ( ii ) Flipping H C Ch W=H Cv W ( iii ) Merging 31 DeFer Binary and source code in − http://www.public.iastate.edu/~zijunyan/ 32 • Cluster growth: Cluster Growth Iteratively add blocks to the cluster until all blocks are assigned − Merged either horizontally, vertically, or diagonally with the cluster. Only the different orientations of the blocks (instead of the shape/aspect ratio) are taken into account h h h Growth direction b 6 2 a a w 4 c 6 a w 4 w 4 33 © 2011 Springer Verlag b • Cluster growth: Cluster Growth Blocks b and c are placed so that the increase to the floorplan’s dimensions is minimum. • Linear ordering to minimize total wirelength of connections between blocks h h h Growth direction b 6 2 a a w 4 c 6 a w 4 w 4 34 © 2011 Springer Verlag b Linear Ordering • Linear-ordering algorithms often invoked to produce initial placement solutions for iterative-improvement placement algorithms. • Linear-ordering objective: Arrange blocks in a single row so as to minimum total wirelength of connections Initial block: − Either randomly − Or based on number of connections to others 35 Linear Ordering • Categories of nets for a block: Terminating nets: − have no other incident blocks that are unplaced. New nets − have no pins on any block from the partiallyconstructed ordering. Continuing nets − have at least one pin on a block from the partially-constructed ordering and at least one pin on an unordered block. 36 Linear Ordering Terminating nets New nets … Continuing nets 37 Cluster Growth Example • cluster growth.ppt 38 Cluster Growth Example • Given: (1) blocks a-e (2) linear ordering <a b d e c>. • a: (wa = 2, ha = 3) or (wa = 3, ha = 2) • b: Growth direction (wb = 2, hb = 1) or (wb = 1, hb = 2) • c: (wc = 2, hc = 4) or (wc = 4, hc = 2) • d: (wd = 3, hd = 3) • e: (we = 6, he = 1) or (we = 1, he = 6) • Task: find a floorplan with minimum global bounding box area. 39 Cluster Growth Example 40 Cluster Growth Example 41