270 likes | 446 Views
FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model. Natarajan Viswanathan Chris Chong-Nuen Chu Iowa State University International Symposium on Physical Design April 19, 2004. FastPlace – Key Features.
E N D
FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model Natarajan Viswanathan Chris Chong-Nuen Chu Iowa State University International Symposium on Physical Design April 19, 2004
FastPlace – Key Features Efficient Analytical Placement using 1. Cell Shifting 2. Iterative Local Refinement 3. Hybrid Net Model • Standard cell placement • Wirelength minimization • Flat placement
Are Existing Algorithms Adequate? • Solution Quality There may be significant room for improvement • For existing wirelength-driven placement algorithms • Cong et al. [ASPDAC 03] [ISPD 03] • For existing timing-driven placement algorithms • Cong et al. [ICCAD 03] • Efficiency Important to have fast placement algorithms • Circuit sizes are huge in modern design • Placement must be run in early design stages
Why Analytical ? • Inherently minimize the wirelength • Efficient Intrinsically • Elegant convex quadratic programming formulation • Very efficient techniques to solve convex QP • Typically employ a flat placement methodology • All cells are placed simultaneously • Maintain relative positions of cells throughout the placement process
Analytical Placement Formulation • Analytical Placement Framework: repeat Solve the convex quadratic program Spread the cells until the cells are evenly distributed
FastPlace Approach • Framework: repeat Solve the convex quadratic program Reduce wirelength by iterative heuristic Spread the cells until the cells are evenly distributed • Framework: repeat Solve the convex quadratic program Reduce wirelength by iterative heuristic Spread the cells until the cells are evenly distributed • Special features of FastPlace: • Cell Shifting • Easy-to-compute technique • Enable fast convergence • Hybrid Net Model • Speed up solving of convex QP • Iterative Local Refinement • Minimize wirelength based on linear objective
Outline FastPlace: Efficient Analytical Placement using 1. Cell Shifting 2. Iterative Local Refinement 3. Hybrid Net Model
Spreading by Cell Shifting • Quadratic placement should produce good relative position of cells • Simple shifting of cells should be able to produce a good placement • Major difficulties: • How to shift cells in a 2-D region? • How to make sure wirelength will still be good? • Our Approach: • Perform 1-D shifting in x and y directions independently • Interleave a small amount of shifting with quadratic placement
Cell Shifting • Shifting of bin boundary • Apply to all rows and all columns independently Uniform Bin Structure Non-uniform Bin Structure • Shifting of cells linearly within each bin
Bin i Bin i Bin i+1 Bin i+1 k Ui j Ui+1 l OBi-1 OBi OBi+1 OBi-1 OBi+1 OBi k j l NBi Cell Shifting – Animation … NBi
Pseudo pin and Pseudo net Pseudo pin • Need to add forces to prevent cells from collapsing back • Done by adding pseudo pins and pseudo nets • Only diagonal and linear terms of the quadratic system need to be updated • Takes a single pass of O(n) time to regenerate matrix Q (which is common for both x and y problems) Pseudo net Pseudo pin Additional Force Pseudo net Target Position Original Position
Outline FastPlace: Efficient Analytical Placement using 1. Cell Shifting2. Iterative Local Refinement 3. Hybrid Net Model
V H H V Iterative Local Refinement • Iteratively go through all the cells one by one • For each cell, consider moving it in four directions by a certain distance • Compute a score for each direction based on • Half-perimeter wirelength (HPWL) reduction • Cell density at the source and destination regions • Move in the direction with highest positive score (Do not move if no positive score) • Distance moved (H or V) is decreasing over iterations • Detailed placement is handled by the same heuristic
Outline FastPlace: Efficient Analytical Placement using 1. Cell Shifting2. Iterative Local Refinement3. Hybrid Net Model
Effect of Net Model on Runtime • Need to replace each multi-pin net by 2-pin nets • Then the placement problem (even with pseudo nets) can be formulated as a convex QP: • Solved by any convex QP algorithms • Use Incomplete Cholesky Conjugate Gradient (ICCG) • Runtime is proportional to # of non-zero entries in Q • Each non-zero entry in Q corresponds to one 2-pin net • Traditionally, placers model each multi-pin net by a clique • High-degree nets will generate a lot of 2-pin nets • Slow down convex QP algorithms significantly
Clique, Star and Hybrid Net Models • Star model is introduced by Mo et al. [ICCAD-00] for macro placement • Introduce a star node even for 2-pin nets • Not clear how the placement result will be affected Star Node Hybrid Model Clique Model Star Model
Equivalence of Clique and Star Models • Lemma: By setting the net weights appropriately, clique and star net models are equivalent. • Proof: When star node is at equilibrium position, total forces on each cell are the same for clique and star net models. Star Node Weight = γW Weight = γ kW for a k-pin net Clique Model Star Model
Experimental Setup • ISPD-02 mixed-mode benchmark suite by IBM • Macro blocks replaced by standard cells with width set to 4 x average cell width • 10% whitespace • FastPlace implemented in C • Compared with: • MetaPl-Capo 8.8 in default mode • Dragon 2.2.3 in fixed die mode • All placers run on a 750MHz Sun Sparc-2 machine
Half Perimeter Wirelength Average Wirelength Ratio FastPlace / Capo : 1.010 FastPlace / Dragon : 1.016
Circuit Global Optimization Cell Shifting Iterative Local Refinement Detail Placement Total Runtime % Runtime % Runtime % Runtime % ibm01 3.75 28.6 1.44 11.0 6.37 48.6 1.55 11.8 13.11 ibm06 13.27 29.2 3.91 8.6 25.04 55.1 3.21 7.1 45.43 ibm11 56.80 42.9 14.67 11.1 49.20 37.1 11.86 8.9 132.53 ibm16 257.41 39.4 53.93 8.3 292.74 44.9 47.99 7.4 652.07 ibm18 285.57 38.5 57.09 7.7 345.28 46.6 52.98 7.2 740.92 FastPlace - Breakdown of Runtime All runtime in seconds
Complexity Analysis Runtime ≈ O(n1.412) where n = # of pins Runtime ≈ O(n1.37) where n = # of pins
Summary • FastPlace -- Efficient Flat Placement Algorithm • 13.0x faster than Capo • 97.4x faster than Dragon • Comparable WL to Capo and Dragon • Based on three techniques: • Cell Shifting • Fast convergence • Simple computation • Iterative Local Refinement • Reduce wirelength based on HPWL measure • Hybrid Net Model • 1.5x speedup compared to Clique • Applicable to any analytical placement tools