Presentation is loading. Please wait.

Presentation is loading. Please wait.

FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model FastPlace: Efficient Analytical Placement.

Similar presentations


Presentation on theme: "FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model FastPlace: Efficient Analytical Placement."— Presentation transcript:

1 FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model 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

2 FastPlace – Key Features 1.Cell Shifting 2.Iterative Local Refinement 3.Hybrid Net Model 1.Cell Shifting 2.Iterative Local Refinement 3.Hybrid Net Model Standard cell placement Standard cell placement Wirelength minimization Wirelength minimization Flat placement Flat placement Efficient Analytical Placement using

3 Are Existing Algorithms Adequate? Solution Quality Solution Quality There may be significant room for improvement For existing wirelength-driven placement algorithms For existing wirelength-driven placement algorithms Cong et al. [ASPDAC 03] [ISPD 03] Cong et al. [ASPDAC 03] [ISPD 03] For existing timing-driven placement algorithms For existing timing-driven placement algorithms Cong et al. [ICCAD 03] Cong et al. [ICCAD 03] Efficiency Efficiency Important to have fast placement algorithms Circuit sizes are huge in modern design Circuit sizes are huge in modern design Placement must be run in early design stages Placement must be run in early design stages

4 Why Analytical ? Inherently minimize the wirelength Inherently minimize the wirelength Efficient Intrinsically Efficient Intrinsically Elegant convex quadratic programming formulation Elegant convex quadratic programming formulation Very efficient techniques to solve convex QP Very efficient techniques to solve convex QP Typically employ a flat placement methodology Typically employ a flat placement methodology All cells are placed simultaneously All cells are placed simultaneously Maintain relative positions of cells throughout the placement process Maintain relative positions of cells throughout the placement process

5 Analytical Placement Formulation Analytical Placement Framework : Analytical Placement Framework :repeat Solve the convex quadratic program Spread the cells until the cells are evenly distributed

6 FastPlace Approach Framework: 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: Special features of FastPlace: Cell Shifting Cell Shifting Easy-to-compute technique  Easy-to-compute technique  Enable fast convergence  Enable fast convergence  Hybrid Net Model Hybrid Net Model Speed up solving of convex QP  Speed up solving of convex QP  Iterative Local Refinement Iterative Local Refinement Minimize wirelength based on linear objective  Minimize wirelength based on linear objective  Framework: Framework:repeat Solve the convex quadratic program Reduce wirelength by iterative heuristic Spread the cells until the cells are evenly distributed

7 Outline FastPlace: Efficient Analytical Placement using 1.Cell Shifting 2.Iterative Local Refinement 3.Hybrid Net Model

8 Spreading by Cell Shifting Quadratic placement should produce good relative position of cells Quadratic placement should produce good relative position of cells Simple shifting of cells should be able to produce a good placement Simple shifting of cells should be able to produce a good placement Major difficulties: Major difficulties: 1.How to shift cells in a 2-D region? 2.How to make sure wirelength will still be good? Our Approach: Our Approach: 1.Perform 1-D shifting in x and y directions independently 2.Interleave a small amount of shifting with quadratic placement

9 Cell Shifting Uniform Bin StructureNon-uniform Bin Structure 1.Shifting of bin boundary 2.Shifting of cells linearly within each bin Apply to all rows and all columns independently Apply to all rows and all columns independently

10 Cell Shifting – Animation … NB i Bin i Bin i+1 OB i OB i-1 OB i+1 UiUi U i+1 j k l Bin i Bin i+1 OB i OB i-1 OB i+1 j k l NB i

11 Pseudo pin and Pseudo net Pseudo net Additional Force Pseudo pin Target Position Original Position Pseudo net Pseudo pin Need to add forces to prevent cells from collapsing back Need to add forces to prevent cells from collapsing back Done by adding pseudo pins and pseudo nets Done by adding pseudo pins and pseudo nets Only diagonal and linear terms of the quadratic system need to be updated 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) Takes a single pass of O(n) time to regenerate matrix Q (which is common for both x and y problems)

12 Outline FastPlace: Efficient Analytical Placement using 1.Cell Shifting 2.Iterative Local Refinement 3.Hybrid Net Model

13 Iterative Local Refinement Iteratively go through all the cells one by one Iteratively go through all the cells one by one For each cell, consider moving it in four directions by a certain distance For each cell, consider moving it in four directions by a certain distance Compute a score for each direction based on Compute a score for each direction based on Half-perimeter wirelength (HPWL) reduction Half-perimeter wirelength (HPWL) reduction Cell density at the source and destination regions Cell density at the source and destination regions Move in the direction with highest positive score Move in the direction with highest positive score (Do not move if no positive score) Distance moved (H or V) is Distance moved (H or V) is decreasing over iterations Detailed placement is handled Detailed placement is handled by the same heuristic HH V V

14 Outline FastPlace: Efficient Analytical Placement using 1.Cell Shifting 2.Iterative Local Refinement 3.Hybrid Net Model

15 Effect of Net Model on Runtime Need to replace each multi-pin net by 2-pin nets 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: Then the placement problem (even with pseudo nets) can be formulated as a convex QP: Solved by any convex QP algorithms Solved 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 Q Runtime is proportional to # of non-zero entries in Q Each non-zero entry in Q corresponds to one 2-pin net Each non-zero entry in Q corresponds to one 2-pin net Traditionally, placers model each multi-pin net by a clique Traditionally, placers model each multi-pin net by a clique High-degree nets will generate a lot of 2-pin nets High-degree nets will generate a lot of 2-pin nets Slow down convex QP algorithms significantly Slow down convex QP algorithms significantly

16 Clique, Star and Hybrid Net Models Star Node Clique ModelStar Model Hybrid Model # pins Net Model 2Clique 3Clique 4Star 5Star 6Star …… Star model is introduced by Mo et al. [ICCAD-00] for macro placement Star model is introduced by Mo et al. [ICCAD-00] for macro placement Introduce a star node even for 2-pin nets Introduce a star node even for 2-pin nets Not clear how the placement result will be affected Not clear how the placement result will be affected

17 Equivalence of Clique and Star Models Lemma: By setting the net weights appropriately, Lemma: By setting the net weights appropriately, clique and star net models are equivalent. clique and star net models are equivalent. Proof: When star node is at equilibrium position, Proof: When star node is at equilibrium position, total forces on each cell are the same for total forces on each cell are the same for clique and star net models. clique and star net models. Star Node Clique ModelStar Model Weight = γ W Weight = γ kW for a k-pin net Weight = γ kW for a k-pin net

18 Experimental Setup ISPD-02 mixed-mode benchmark suite by IBM ISPD-02 mixed-mode benchmark suite by IBM Macro blocks replaced by standard cells with width set to 4 x average cell width Macro blocks replaced by standard cells with width set to 4 x average cell width 10% whitespace 10% whitespace FastPlace implemented in C FastPlace implemented in C Compared with: Compared with: MetaPl-Capo 8.8 in default mode MetaPl-Capo 8.8 in default mode Dragon 2.2.3 in fixed die mode Dragon 2.2.3 in fixed die mode All placers run on a 750MHz Sun Sparc-2 machine All placers run on a 750MHz Sun Sparc-2 machine

19 Circuit#Nodes#Terminals#Nets#Pins#Rows ibm0112506246141115056696 ibm02193422591958481199109 ibm03228532832740193573121 ibm042722028731970105859136 ibm0528146120128446126308139 ibm063233216634826128182126 ibm074563928748117175639166 ibm085102328650513204890170 ibm095311028560902222088183 Ibm106868574475196297567234 Ibm117015240681454280786208 ibm127043963777240317760242 ibm138370949099666357075224 ibm14147088517152772546816305 ibm15161187383186608715823303 ibm16182980504190048778823347 ibm17184752743189581860036379 ibm18210341272201920819697361 Placement Benchmark Statistics

20 Circuit # Non-zero Entries Speed-Up ( Hybrid / Clique ) Clique Model Hybrid Model Clique / Hybrid ibm01109183411642.651.5 ibm02343409700144.902.4 ibm03206069746802.761.4 ibm04220423845562.611.2 ibm053496761082823.231.3 ibm063213081068353.011.6 ibm073733281470092.541.3 ibm087325501735414.222.0 ibm094787771851022.591.4 ibm107079692511012.821.6 ibm115084422308652.201.2 ibm127483712708492.761.6 ibm137445002950482.521.5 ibm1411251474564742.461.3 ibm1517514746072892.881.4 ibm1619239956684912.881.3 ibm1722357167535072.971.4 ibm1822218607117023.121.4 Average2.951.5 Clique Net Model vs Hybrid Net Model

21 Half Perimeter Wirelength Average Wirelength Ratio Average Wirelength Ratio FastPlace / Capo : 1.010FastPlace / Dragon : 1.016

22 Circuit RuntimeSpeed-Up Capo 8.8 Dragon 2.2.3 FastPlace (Capo / FP) (Dragon / FP) ibm01 3 m 59 s 29 m 06 s 13 s x 18.4 x 134.3 x 134.3 ibm02 7 m 15 s 31 m 13 s 33 s x 13.2 x 56.8 x 56.8 ibm03 8 m 23 s 31 m 49 s 33 s x 15.2 x 57.8 x 57.8 ibm04 10 m 46 s 1 h 5 m 39 s x 16.6 x 100.0 x 100.0 ibm05 10 m 44 s 1 h 48 m 51 s x 12.6 x 127.1 x 127.1 ibm06 12 m 08 s 1 h 21 m 45 s x 16.2 x 108.0 x 108.0 ibm07 18 m 32 s 1 h 47 m 1 m 19 s x 14.1 x 14.1 x 81.3 x 81.3 ibm08 19 m 53 s 4 h 30 m 1 m 33 s x 12.8 x 12.8 x 174.2 x 174.2 ibm09 22 m 50 s 3 h 43 m 1 m 42 s x 13.4 x 13.4 x 131.2 x 131.2 ibm10 29 m 04 s 3 h 19 m 2 m 25 s x 12.0 x 12.0 x 82.3 x 82.3 ibm11 31 m 11 s 2 h 22 m 2 m 13 s x 14.1 x 14.1 x 64.1 x 64.1 ibm12 30 m 41 s 3 h 48 m 2 m 23 s x 12.9 x 12.9 x 95.7 x 95.7 ibm13 39 m 27 s 3 h 04 m 2 m 54 s x 13.6 x 13.6 x 63.4 x 63.4 ibm14 1 h 12 m 7 h 37 m 5 m 34 s x 12.9 x 12.9 x 82.1 x 82.1 ibm15 1 h 30 m 10 h 34 m 8 m 45 s x 10.3 x 10.3 x 72.4 x 72.4 ibm16 1 h 31 m 12 h 06 m 10 m 52 s x 8.4 x 8.4 x 66.8 x 66.8 ibm17 1 h 43 m 26 h 54 m 11 m 30 s x 9.0 x 9.0 x 140.3 x 140.3 ibm18 1 h 44 m 23 h 39 m 12 m 21 s x 8.4 x 8.4 x 114.9 x 114.9 Average x 13.0 x 13.0 x 97.4 x 97.4 Runtime Comparison

23 FastPlace - Breakdown of Runtime All runtime in seconds %Runtime%Runtime%Runtime%Runtime 52.98 47.99 11.86 3.21 1.55 345.28 292.74 49.20 25.04 6.37 57.09 53.93 14.67 3.91 1.44 285.57 257.41 56.80 13.27 3.75 740.927.246.67.738.5ibm18 652.077.444.98.339.4ibm16 132.538.937.111.142.9ibm11 45.437.155.18.629.2ibm06 13.1111.848.611.028.6ibm01 Total Detail Placement Iterative Local Refinement CellShifting Global Optimization Circuit

24 Complexity Analysis Runtime ≈ O(n 1.412 ) where n = # of pins Runtime ≈ O(n 1.37 ) where n = # of pins

25 Summary FastPlace -- Efficient Flat Placement Algorithm FastPlace -- Efficient Flat Placement Algorithm 13.0x faster than Capo 13.0x faster than Capo 97.4x faster than Dragon 97.4x faster than Dragon Comparable WL to Capo and Dragon Comparable WL to Capo and Dragon Based on three techniques: Based on three techniques: 1.Cell Shifting Fast convergence Fast convergence Simple computation Simple computation 2.Iterative Local Refinement Reduce wirelength based on HPWL measure Reduce wirelength based on HPWL measure 3.Hybrid Net Model 1.5x speedup compared to Clique 1.5x speedup compared to Clique Applicable to any analytical placement tools Applicable to any analytical placement tools

26 Thank You !!


Download ppt "FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model FastPlace: Efficient Analytical Placement."

Similar presentations


Ads by Google