On Legalization of Row-Based Placements Andrew B. KahngSherief Reda CSE & ECE Departments University of CA, San Diego La Jolla, CA CSE Department University of CA, San Diego La Jolla, CA Igor L. Markov EECS Department University of Michigan Ann Arbor, MI VLSI CAD Laboratory at UCSD
Outline Introduction and Previous Work Legalization Objectives Legalization Method Experimental Results Conclusions
Introduction: Objectives Used in Legalization An Illegal Placement due to Overlaps Overlap may be due: buffer insertion, gate sizing, etc Overlap must be removed, sample objectives include minimizing: (i)Total distance moved, i.e., total perturbations (ii)Total increase in HPWL (wirelength) (iii)The maximum distance moved by a cell Overlap cell row
Comparisons to Previous Work Overlap removal algos in well-known VLSI placers (separate from detail placement optimization) Simulated annealing in TimberWolf and Dragon Greedy cell-shifting in Capo Network flow in GORDIAN and BonnPlace Dynamic programming in FengShui Additional work Whitespace allocation via dynamic programming by Kahng, Tucker and Zelikovsky This Work Develop a generic dynamic-programming algorithm that optimizes one of several objectives Study the effect of the objective choice on total wirelength and routability
Outline Introduction and previous work Legalization Objectives Legalization Method Experimental Results Conclusions
Overview of the Legalization Procedure We propose a two-phase approach for overlap removal: Phase I: Juggle cells to meet row capacity constraints. Phase II: Remove the overlaps within each row using a generic dynamic-programming approach according to a number of objectives.
Phase I: Cell Juggling Juggle cells to meet row capacity constraints by moving cells from over-capacity rows to under-capacity rows. Under- capacity rows Over- capacity rows
Phase I: Cell Juggling Algorithm 1.Sort the rows in a non-increasing order according to over capacity 2.For each over-capacity row r o in order: 3. Repeat until row r o is under capacity: 4. For each cell c in the row r o : find an under-capacity row r u such that moving c to r u yields the smallest increase in HPWL (wirelength) 5. Move the cell that yields the smallest increase in HPWL in Step 3.
Phase II: Overlap Removal Within Rows Overlap A generic dynamic-programming technique removes all overlap while minimizing a number of objectives Phase I outcome is a placement where the set of cells in every row meets the row capacity, but with possible overlaps.
Each chain represents the possible sites that a cell can be placed at The order of chains correspond to the order of cells from left to right in a row Overlap Removal Using Dynamic Programming sites cell 1 cell 2 cell 3 cell n row start node end node
Start and end sites Sites that cell will be placed at Empty sites Sites not included in calculation There are many paths from the start and end nodes → select the one that optimizes one of our objectives Overlap Removal Using Dynamic Programming sites cell 1 cell 2 cell 3 cell n row
Min Total Distance Overlap Removal 1.Label a diagonal edge starting at some column j and chain c by the difference in distance between j and current location of cell c. 2. Label all horizontal edges by cost 0 3. Find the shortest path from start to end nodes using lexicographical sorting. row c
Min HPWL Overlap Removal row c Label a diagonal edge starting at some column j and chain c by the difference in HPWL between placing cell c at j and its current location 2. Label all horizontal edges by cost 0 3. Find the shortest path from start to end nodes using lexicographical sorting. This objective can be iterated (iterated minHPWL) a number of times until the percentage improvement in HPWL drops below 1% Bounding box of a net connected to c Min HPWL has similarities to “Optimization of Linear Placements for Wirelength with Free sites,” Kahng, Tucker and Zelikovsky, ASPDAC’99.
1.Label a diagonal edge starting at some column j and chain c by the difference in distance between j and current location of cell c. 2. Label all horizontal edges by cost 0 3. Find the path from start to end nodes that minimizes the maximum edge using lexicographical sort. row c Min-Max Displacement Overlap Removal
Outline Introduction and Previous Work Legalization Objectives Legalization Method Experimental Results Conclusions
Experimental Results (IBM01) ModeOverlapsHPWLRuntime(s)Impr (%) ibm01Capo illegal Capo legalizer QPlace –eco min HPWL % min Dist % min-max Disp % Iterated minHPWL % Improvement percentage is relative to QPlace -eco We execute Capo (without its built-in legalizer) + Legalizer
ModeOverlapsHPWLRuntime(s)Impr (%) ibm02Capo illegal Capo legalizer QPlace –eco min HPWL % min Dist % min-max Disp % Iterated minHPWL % Improvement percentage is relative to QPlace -eco Experimental Results (IBM02) Flow: Capo → illegal placement → Legalizer Similar results are attained for remaining IBM benchmarks
Experimental Results benchmarkObjectiveHPWLGlobal Routing MetricsViolations OvertrackOvercapacity ibm01min-max disp min dist minHPWL The min dist and min-max dist objectives attempt to preserve the whitespace map → preserves routability Min HPWL objective optimizes wirelength, but may alter the whitespace map Flow: Capo → illegal placement → Legalizer → Cadence’s WarpRoute
Conclusions A generic dynamic-programming that handles a number of legalization objectives: A two-phase legalizer is proposed Minimum-total displacement Minimum-total HPWL Minimum-Max displacement The effect of various objectives on routability and wirelength are evaluated The effect of cut directions on the amount of overlap is studied
Thanks
Introduction: Source of Overlaps in Min-cut Placement A vertical cut on a single row can be adjusted to fit the partition size A horizontal cut cannot be adjusted to fit the partition size → overlap may occur A vertical cut on a number of subrows creates twice the number of subrows → future overlaps when horizontal cuts are executed on them 12 If a partition has more total cell weight that its capacity → overlap occurs Overlap Figure IFigure IIFigure III Min-cut placement recursively partitions a circuit’s netlist and places the partitioned netlist in partitioned placement areas
Effect of Cut-Sequence on Amount of Overlaps Relationship between number of vertical cuts, total Wirelength, and number of overlaps. Vertical cuts on a number of rows are the main reason for overlaps in min-cut placement