FastPlace: Efficient FastPlace: Efficient Analytical Placement Analytical Placement using Cell Shifting, using Cell Shifting, Iterative Local Iterative Local Refinement and a Hybrid Refinement and a Hybrid Net Model Net Model Natarajan Viswanathan Natarajan Viswanathan Chris Chong-Nuen Chu Chris Chong-Nuen Chu Iowa State University Iowa State University International Symposium on Physical International Symposium on Physical Design Design April 19, 2004 April 19, 2004
26
Embed
Natarajan Viswanathan Chris Chong-Nuen Chu Iowa State University
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. - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
FastPlace: Efficient FastPlace: Efficient Analytical Placement Analytical Placement using Cell Shifting, using Cell Shifting,
Iterative Local Iterative Local Refinement and a Hybrid Refinement and a Hybrid
Net ModelNet ModelNatarajan ViswanathanNatarajan Viswanathan
Chris Chong-Nuen ChuChris Chong-Nuen Chu
Iowa State UniversityIowa State University
International Symposium on Physical International Symposium on Physical DesignDesign
April 19, 2004April 19, 2004
FastPlace – Key FeaturesFastPlace – Key Features
1.1. Cell Shifting Cell Shifting 2.2. Iterative Local Iterative Local Refinement Refinement 3.3. Hybrid Net ModelHybrid Net Model
Are Existing Algorithms Are Existing Algorithms Adequate?Adequate?
Solution QualitySolution Quality
There may be significant room for improvementThere may be significant room for improvement For existing wirelength-driven placement For existing wirelength-driven placement algorithmsalgorithms
Cong et al. [ASPDAC 03] [ISPD 03]Cong et al. [ASPDAC 03] [ISPD 03] For existing timing-driven placement For existing timing-driven placement algorithmsalgorithms
Cong et al. [ICCAD 03]Cong et al. [ICCAD 03]
EfficiencyEfficiency
Important to have fast placement algorithmsImportant to have fast placement algorithms Circuit sizes are huge in modern designCircuit sizes are huge in modern design Placement must be run in early design stagesPlacement must be run in early design stages
Why Analytical ?Why Analytical ?
Inherently minimize the wirelengthInherently minimize the wirelength
repeatrepeatSolve the convex quadratic program Solve the convex quadratic program Reduce wirelength by iterative heuristic Reduce wirelength by iterative heuristic Spread the cells Spread the cells
until the cells are evenly distributed until the cells are evenly distributed
Special features of FastPlace:Special features of FastPlace: Cell ShiftingCell Shifting
Easy-to-compute techniqueEasy-to-compute technique Enable fast convergenceEnable fast convergence
Hybrid Net ModelHybrid Net Model Speed up solving of convex QP Speed up solving of convex QP
Iterative Local RefinementIterative Local Refinement Minimize wirelength based on linear objectiveMinimize wirelength based on linear objective
Framework:Framework:repeatrepeat
Solve the convex quadratic Solve the convex quadratic program program
Reduce wirelength by iterative Reduce wirelength by iterative heuristic heuristic
Spread the cells Spread the cells until the cells are evenly distributed until the cells are evenly distributed
OutlineOutlineFastPlace: FastPlace:
Efficient Analytical Efficient Analytical Placement Placement using using
1.1. Cell Shifting Cell Shifting 2.2. Iterative Local Iterative Local Refinement Refinement 3.3. Hybrid Net ModelHybrid Net Model
Spreading by Cell ShiftingSpreading by Cell Shifting Quadratic placement should produce good Quadratic placement should produce good
relative position of cellsrelative position of cells Simple shifting of cells should be able to Simple shifting of cells should be able to
produce a good placementproduce a good placement Major difficulties:Major difficulties:
1.1. How to shift cells in a 2-D region?How to shift cells in a 2-D region?
2.2. How to make sure wirelength will still be good?How to make sure wirelength will still be good? Our Approach:Our Approach:
1.1. Perform 1-D shifting in x and y directions Perform 1-D shifting in x and y directions independentlyindependently
2.2. Interleave a small amount of shifting with Interleave a small amount of shifting with quadratic placementquadratic placement
Cell ShiftingCell Shifting
Uniform Bin Structure Non-uniform Bin Structure
1.1. Shifting of bin boundary Shifting of bin boundary
2.2. Shifting of cells linearly within Shifting of cells linearly within each bineach bin Apply to all rows and all columns independentlyApply to all rows and all columns independently
Pseudo pin and Pseudo netPseudo pin and Pseudo net
Pseudo net
Additional Force
Pseudo pin
Target Position
Original Position
Pseudo net
Pseudopin
Need to add forces Need to add forces to prevent cells to prevent cells from collapsing backfrom collapsing back
Done by adding Done by adding pseudo pins and pseudo pins and pseudo netspseudo nets
Only diagonal and Only diagonal and linear terms of the linear terms of the quadratic system quadratic system need to be updatedneed to be updated
Takes a single pass Takes a single pass of of O(n)O(n) time to time to regenerate matrix Q regenerate matrix Q (which is common for (which is common for both x and y both x and y problems)problems)
OutlineOutlineFastPlace: FastPlace:
Efficient Analytical Efficient Analytical Placement Placement using using
1.1. Cell ShiftingCell Shifting 2.2. Iterative Local Iterative Local Refinement Refinement 3.3. Hybrid Net ModelHybrid Net Model
Iterative Local RefinementIterative Local Refinement Iteratively go through all the cells one by Iteratively go through all the cells one by oneone
For each cell, consider moving it in four For each cell, consider moving it in four directions by a certain distancedirections by a certain distance
Compute a score for each direction based onCompute a score for each direction based on Half-perimeter wirelength (HPWL) reductionHalf-perimeter wirelength (HPWL) reduction Cell density at the source and destination Cell density at the source and destination regionsregions
Move in the direction with highest positive Move in the direction with highest positive score score (Do not move if no positive score)(Do not move if no positive score)
Distance moved (H or V) is Distance moved (H or V) is decreasing over iterationsdecreasing over iterations
Detailed placement is handledDetailed placement is handledby the same heuristicby the same heuristic
H H
V
V
OutlineOutlineFastPlace: FastPlace:
Efficient Analytical Efficient Analytical Placement Placement using using
1.1. Cell ShiftingCell Shifting 2.2. Iterative Local Iterative Local RefinementRefinement 3.3. Hybrid Net ModelHybrid Net Model
Effect of Net Model on Effect of Net Model on RuntimeRuntime
Need to replace each multi-pin net by 2-pin netsNeed to replace each multi-pin net by 2-pin nets Then the placement problem (even with pseudo nets) Then the placement problem (even with pseudo nets) can be formulated as a convex QP:can be formulated as a convex QP:
Solved by any convex QP algorithmsSolved by any convex QP algorithms Use Incomplete Cholesky Conjugate Gradient (ICCG)Use Incomplete Cholesky Conjugate Gradient (ICCG)
Runtime is proportional to # of non-zero entries in Runtime is proportional to # of non-zero entries in Q Q
Each non-zero entry in Q corresponds to one 2-pin Each non-zero entry in Q corresponds to one 2-pin netnet
Traditionally, placers model each multi-pin net by a Traditionally, placers model each multi-pin net by a cliqueclique
High-degree nets will generate a lot of 2-pin netsHigh-degree nets will generate a lot of 2-pin nets Slow down convex QP algorithms significantlySlow down convex QP algorithms significantly
const2
1
2
1cost Total yyyxxx T
yTT
xT dQdQ const
2
1
2
1cost Total yyyxxx T
yTT
xT dQdQ
Clique, Star and Hybrid Clique, Star and Hybrid Net ModelsNet Models
Star model is introduced by Mo et al. Star model is introduced by Mo et al. [ICCAD-00] for macro placement[ICCAD-00] for macro placement
Introduce a star node even for 2-pin Introduce a star node even for 2-pin netsnets
Not clear how the placement result Not clear how the placement result will be affectedwill be affected
Equivalence of Clique and Equivalence of Clique and Star ModelsStar Models
Lemma: By setting the net weights Lemma: By setting the net weights appropriately,appropriately,
clique and star net models clique and star net models are equivalent.are equivalent.
Proof: When star node is at Proof: When star node is at equilibrium position,equilibrium position,
total forces on each cell total forces on each cell are the same forare the same for
clique and star net models.clique and star net models.
Star Node
Clique Model Star Model
Weight = γWWeight = γW Weight = γ kWfor a k-pin net
Weight = γ kWfor a k-pin net
Experimental SetupExperimental Setup ISPD-02 mixed-mode benchmark suite by ISPD-02 mixed-mode benchmark suite by IBMIBM
Macro blocks replaced by standard cells Macro blocks replaced by standard cells with width set to 4 x average cell widthwith width set to 4 x average cell width
10% whitespace10% whitespace
FastPlace implemented in CFastPlace implemented in C Compared with:Compared with:
MetaPl-Capo 8.8 in default modeMetaPl-Capo 8.8 in default mode Dragon 2.2.3 in fixed die modeDragon 2.2.3 in fixed die mode
All placers run on a 750MHz Sun Sparc-2 All placers run on a 750MHz Sun Sparc-2 machinemachine
ibm01ibm01 3 m 59 s3 m 59 s 29 m 06 s29 m 06 s 13 s13 s x 18.4x 18.4 x 134.3x 134.3ibm02ibm02 7 m 15 s7 m 15 s 31 m 13 s31 m 13 s 33 s33 s x 13.2x 13.2 x 56.8x 56.8ibm03ibm03 8 m 23 s8 m 23 s 31 m 49 s31 m 49 s 33 s33 s x 15.2x 15.2 x 57.8x 57.8ibm04ibm04 10 m 46 s10 m 46 s 1 h 5 m1 h 5 m 39 s39 s x 16.6x 16.6 x 100.0x 100.0ibm05ibm05 10 m 44 s10 m 44 s 1 h 48 m1 h 48 m 51 s51 s x 12.6x 12.6 x 127.1x 127.1ibm06ibm06 12 m 08 s12 m 08 s 1 h 21 m1 h 21 m 45 s45 s x 16.2x 16.2 x 108.0x 108.0ibm07ibm07 18 m 32 s18 m 32 s 1 h 47 m1 h 47 m 1 m 19 s1 m 19 s x 14.1x 14.1 x 81.3x 81.3ibm08ibm08 19 m 53 s19 m 53 s 4 h 30 m4 h 30 m 1 m 33 s1 m 33 s x 12.8x 12.8 x 174.2x 174.2ibm09ibm09 22 m 50 s22 m 50 s 3 h 43 m3 h 43 m 1 m 42 s1 m 42 s x 13.4x 13.4 x 131.2x 131.2ibm10ibm10 29 m 04 s29 m 04 s 3 h 19 m3 h 19 m 2 m 25 s2 m 25 s x 12.0x 12.0 x 82.3x 82.3ibm11ibm11 31 m 11 s31 m 11 s 2 h 22 m2 h 22 m 2 m 13 s2 m 13 s x 14.1x 14.1 x 64.1x 64.1ibm12ibm12 30 m 41 s30 m 41 s 3 h 48 m3 h 48 m 2 m 23 s2 m 23 s x 12.9x 12.9 x 95.7x 95.7ibm13ibm13 39 m 27 s39 m 27 s 3 h 04 m3 h 04 m 2 m 54 s2 m 54 s x 13.6x 13.6 x 63.4x 63.4ibm14ibm14 1 h 12 m1 h 12 m 7 h 37 m7 h 37 m 5 m 34 s5 m 34 s x 12.9x 12.9 x 82.1x 82.1ibm15ibm15 1 h 30 m1 h 30 m 10 h 34 m10 h 34 m 8 m 45 s8 m 45 s x 10.3x 10.3 x 72.4x 72.4ibm16ibm16 1 h 31 m1 h 31 m 12 h 06 m12 h 06 m 10 m 52 s10 m 52 s x 8.4x 8.4 x 66.8x 66.8ibm17ibm17 1 h 43 m1 h 43 m 26 h 54 m26 h 54 m 11 m 30 s11 m 30 s x 9.0x 9.0 x 140.3x 140.3ibm18ibm18 1 h 44 m1 h 44 m 23 h 39 m23 h 39 m 12 m 21 s12 m 21 s x 8.4x 8.4 x 114.9x 114.9
AverageAverage x 13.0x 13.0 x 97.4x 97.4
Runtime ComparisonRuntime Comparison
FastPlace - Breakdown of RuntimeFastPlace - Breakdown of Runtime
AlgorithmAlgorithm 13.0x faster than Capo13.0x faster than Capo 97.4x faster than Dragon97.4x faster than Dragon Comparable WL to Capo and DragonComparable WL to Capo and Dragon
Based on three techniques:Based on three techniques:1.1. Cell ShiftingCell Shifting
Fast convergenceFast convergence Simple computationSimple computation
2.2. Iterative Local RefinementIterative Local Refinement Reduce wirelength based on HPWL measureReduce wirelength based on HPWL measure
3.3. Hybrid Net ModelHybrid Net Model 1.5x speedup compared to Clique1.5x speedup compared to Clique Applicable to any analytical placement Applicable to any analytical placement