The Early Days of Automatic Floorplan Design Martin D.F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign ISPD 2016
Floorplan Design Pack modules on a rectangular chip to optimize total area and interconnect cost. Module: – Hard modules – Soft modules C B A D Connectivity: A B C D 2 1 10 5
Early 1980s Min-Cut Placement Rectangular Dual Slicing Structure U. Lauther, “A min-cut placement algorithm for general cell assemblies based on a graph representation”, DAC 1979. Rectangular Dual W. Heller, G. Sorkin, K. Maling, “The planar package planner for system designers”, DAC 1982. Slicing Structure R. Otten, “Automatic Floorplan Design”, DAC 1982. R. Otten, “Efficient Floorplan Optimization”, ICCD 1983. L. van Ginneken and R. Otten, “Optimal slicing of plane point placement”, Euro-DAC 1990. Simulated Annealing S. Kirpatrick, C. Gellat, M. Vechhi, “Optimization by Simulated Annealing”, Science 1983. R. Otten and L. van Ginneken, “Floorplan Design using Annealing”, ICCAD 1984 C. Sechen and A. Sangiovanni-Vicentelli, “The Timberwolf Placement and Routing Package”, IEEE Journal on Solid State Circuits, April 1985. D. F. Wong and C. L. Liu, “A new algorithm for floorplan design”, DAC 1986.
Min-Cut Placement (Lauther 79) Polar graph placement data structure Series-parallel graphs Placement optimization Minimize Minimize
Polar Graphs Series-parallel graphs for min-cut placement. v1 v2 v3 v4 6 2 5 4 3 7 1 2 5 7 4 3 6 v1 v2 v4 v3 v5 h1 h2 h3 h4 h5 h1 h2 h3 h4 h5 1 2 3 4 5 6 7
Rectangular Dual Heller, Sorkin, Maling 1982 1 2 5 4 3 Rectangular floorplan Rectangular Dual Graph (RDG) 3 4 5 1 2 1 2 5 4 3
Rectangular Dual 1 2 5 4 3 RDG represents module adjacencies b a No floorplan exists 1 2 5 4 3 Rectangular floorplan Rectangular Dual Graph (RDG) 3 4 5 1 2 3 4 5 1 2 triangles RDG represents module adjacencies Assume no cross junction, a RDG is a planar triangulated graph No complex triangle
Slicing Structure R. Otten, “Automatic Floorplan Design”, DAC 1982 3 2 4 5 V H 6 7 6 7 1 5 2 3 4 Slicing Floorplan Slicing Tree
Otten’s Approach (1982 DAC) Convert net weights into “distances” (Dutch metric) Analytically place n points in a suitable high dimensional space to exactly match these “distances”. Project all points onto a 2-dimensional space with guaranteed minimum error. Recursively slice the 2D points into two parts to derive a slicing structure consistent with the ordering of the points. How to slice? Determine shrink factor for each slice line. Determine deformation factor for each slice line. Pick the slice line with largest shrink factor s.t. deformation is within a given value.
d(i,j) d(i,j) = 1- cij Point Placement Dutch Metric Deformation Factor 2 d(i,j) = 1- cij Deformation Factor
Shrinking Factor
Optimal Slicing of Plane Point Placement L. van Ginneken and R. Otten, Euro-DAC 1990 Dynamic Programming Find shape curve for this rectangle over all possible slicing structures
Optimal Slicing of Plane Point Placements Otten, 1983 ICCD
Other Applications Mehta, Chen, Menezes, Wong, Pillegi, “Clustering and load balancing for buffered clock tree synthesis”, ICCD 1997. Wu, Wong, Liu, “Post-Placement voltage island generation under performance Requirement”, ICCAD 2005.
Simulated Annealing * + 2 3 * 1 + 4 5 + 6 7 * + * 3 2 1 4 5 6 7 Wong and Liu, DAC 1986 6 7 1 5 2 3 Slicing Tree 4 Slicing Floorplan 2 3 * 1 + 4 5 + 6 7 * + * Polish Expression DAC-86
DAC-86
Wong-Liu Algorithm DAC-86
Wong-Liu Algorithm DAC-86
How good are slicing floorplans?
Results for Soft Blocks Experimental results => slicing is good for soft modules *all modules have aspect ratio between 0.5 and 2
Results for Hard Blocks Excellent results by slicing for the largest MCNC benchmarks (Cheng, Deng, Wong, ASPDAC 2005)
Results on Large Benchmarks Yan and Chu, DAC-2008 Slicing approach produced best results on GSRC & HB large benchmarks 22
Can we mathematically explain these excellent empirical results?
Theoretical Analysis Theorem [Young and Wong ISPD-97] Given a set of soft blocks of total area Atotal , maximum area Amax and shape flexibility r 2, there exists a slicing floorplan F of these blocks such that: where
Can we do better? Conjecture: For each non-slicing floorplan, there exists a slicing floorplan with “similar” area and topology. Are slicing floorplans “dense” ? slicing floorplan
Wheel Floorplans with Squared Blocks Lemma Given any wheel floorplan with 5 squared blocks, there is a “neighboring” slicing floorplan with equal/smaller area. It is not possible that x1 > x2 and x2 > x3 and x3 > x4 and x4 > x1. Otherwise, x1 > x1! We may assume x1 ≤ x2. It is easy to see that there is a “neighboring” slicing floorplan which is smaller!
Tightly Packed Wheel Floorplans 5 blocks: A, B, C, and D are identical; E is a square 0 ≤ x ≤ 1; block aspect ratio is in [1/2,2] When 0 ≤ x < 0.783 There is a neighboring slicing floorplan with area at most 1.77% larger
Tightly Packed Wheel Floorplans When 0.783 ≤x≤ 1 The neighboring slicing floorplan can be packed with zero dead-space
Slicing Tree is a “Complete” Floorplan Representation Theorem (Lai & Wong, DATE 2001) Each slicing tree gives a maximally compact placement Conversely, each maximally compact placement can be obtained from a slicing tree 3 2 1 4 5 * + 6 7 1 2 6 5 3 4 1 2 6 5 3 4 7 7
Conclusions Presented a brief survey of floorplan design work in early 1980s. Prof. Otten’s work had great impact on the early part of my career. Congratulations on the ISPD Life Time Achievement Award!