Download presentation
Presentation is loading. Please wait.
1
Placement Feedback: A Concept and Method for Better Min-Cut Placements Andrew B. KahngSherief Reda CSE & ECE Departments University of CA, San Diego La Jolla, CA 92093 abk@cs.ucsd.edu CSE Department University of CA, San Diego La Jolla, CA 92093 sreda@cs.ucsd.edu VLSI CAD Laboratory at UCSD http://vlsicad.ucsd.edu
2
Outline Min-cut Placement and Terminal Propagation Ambiguous Terminal Propagation Placement Feedback Iterated Controlled Feedback Accelerated Feedback Experimental Results Conclusions
3
Min-Cut Placement: Objective Steiner tree represents the minimum wirelength need to connect a number of cells Total wirelength is the sum of the length of Steiner trees Routed wirelength is the typically larger than total wirelength due to detours arising from contention on routing resources Half-Perimeter Wirelength (HPWL) correlates well with the routed wirelength, represents a lower bound on the net length and fast to calculate Min-cut Placement Objective: Total wirelength minimization
4
Min-Cut Placement: Method Input Level 1 Min-Cut Placement Method: Sequential min-cut partitioning Level 2 block Key Issues: How to partition a hypergraph? Multilevel hypergraph partitioning using the Fiduccia/Mattheyses heuristic How to propagate net connectivity information from one block to another? Netlist (hyper- graph) block
5
Terminal Propagation AB CD Simple hypergraph A B C D 1 2 After first placement level 1 2 A B C D Case II Case II: Information about cells in one block are accounted for in the other block → local partitioning results are translated to global wirelength results 1 Well-studied problem: Terminal propagation (Dunlop/Kernighan85) Global objectives/cycling (HuangK97, Zheng/Dutt00, Yildiz/Madden01) 2 A B C D Case I Case I: Blocks are partitioned in isolation → optimal local partitioning results but far from optimal global results 1
6
Terminal Propagation Mechanism B1B1 B2B2 u v ufuf B 1 has been partitioned; B 2 is to be partitioned u is propagated as a fixed vertex u f to the subblock that is closer u f biases the partitioner to move v upward
7
X ? Ambiguous propagation occurs when terminals, e.g. Y 4, are equally close to the two subblocks of a block under partitioning Traditional solution: either propagate to both subblocks or not to propagate at all Ambiguous Terminal Propagation Y1Y1 Y2Y2 partition fuzziness Y4Y4 Y3Y3 f1f1 f2f2 f3f3
8
Effect of Ambiguous Terminal Propagations L R Given an edge e with a set of cells I: ● cells are closer to L than R Conclusion: Ambiguous propagations lead to indeterminism in propagation decisions → wirelength increase ● cells are closer to R than L ● cells are equally proximate to both L and R 1. Only ● → L 2. Only ● → R 3. ● and ● → neither Terminal Propagation decisions (without ambiguous) 1. ● and ● → L or neither 2. ● and ● → R or neither 3. ● ● and ● → neither 4. ● → neither or L or R Terminal Propagation decisions (with ambiguous)
9
Min-Cut Placement Flow Level 1 Partitioning Terminal Propagation Level 2 Partitioning Terminal Propagation Level m Partitioning Terminal Propagation The input to the flow is the I/O pad locations, and the circuit netlist where all are collapsed at the center of the chip The output of the flow is a global placement, where groups of cells are assigned portions of the chip’s rows A detailed placer determines the exact locations of all cells
10
Outline Min-cut Placement and Terminal Propagation Ambiguous Terminal Propagation Placement Feedback Iterated Controlled Feedback Accelerated Feedback Experimental Results Conclusions
11
Mitigating Ambiguous Terminal Propagation Two hyperedges: {A, B, C}, {X, A, B}. B 1 is partitioned before B 2 B A C X C is ambiguously propagated B A C X 211 B A C X Further partitioning Cuts = 3, Wirelength = 6 1 Undo B A C X C Repartition X A C B C C is propagated to the top Further partitioning X A C B Cuts = 2, Wirelength = 5 B1B1 B2B2
12
Placement Feedback Traditional Placement Flow Level 1 Partitioning Terminal Propagation Level 2 Partitioning Terminal Propagation Level m Partitioning Terminal Propagation Placement Flow with Feedback For each placement level: - Undo all partitioning/block bisecting results, but retain the new cell locations for terminal propagations - Use the new cell locations to re-do the level’s placement
13
Placement Feedback Assessment Metrics: Reduction in ambiguous terminal propagations Associated reduction in HPWL Experimental Setup We implement feedback in Capo (version 8.7) For each placement level: - Measure the number of ambiguous terminal propagations before and after feedback - Measure the HPWL estimate before and after feedback (assuming all previous placements levels had feedback)
14
Feedback Effects Percentage reduction in ambiguous propagations Reductions in ambiguous terminals and HPWL per level are strongly correlated Placement Level Percentage reduction in HPWL Placement Level
15
Outline Min-cut Placement and Terminal Propagation Ambiguous Terminal Propagation Placement Feedback Iterated Controlled Feedback Accelerated Feedback Experimental Results Conclusions
16
Since the feedback loop produces new outputs → iterate over the feedback loop a number of times If the feedback response is not desirable → insert a feedback controller to enhance the response. Iterative Placement Feedback Feedback controller should: Evaluate and optimize some placement quality or objective Decide when to terminate feedback iterating Feedback Controller Placement Flow with Feedback Controllers Level 1 Partitioning Terminal Propagation Level 2 Partitioning Terminal Propagation Level m Partitioning Terminal Propagation
17
Feedback Controller Objectives c1c1 c2c2 d1d1 d2d2 Cut partitioning objective: Q P = c 1 + c 2 HPWL objective: Q H = c 1 × d 1 + c 2 × d 2 Q P and Q H are not correlated! Example: Assume d 1 = 6 and d 2 = 8 c 1 = c 2 = 100 → Q P = 200 and Q H = 1400 c 1 = 85, c 2 = 112 → Q P = 197 and Q H = 1406 Two possible objectives (placement qualities) to optimize: B1B1 B2B2
18
Feedback Controller Stopping Criteria Feedback Controller Placement Flow with Feedback Controllers Level 1 Partitioning Terminal Propagation Level 2 Partitioning Terminal Propagation Level m Partitioning Terminal Propagation A.Monotonic Improvement Criterion: Iterate per placement level until there is no further improvement in Q P (or Q H ) Q P or Q H Iteration 012345
19
Feedback Controller Stopping Criteria Feedback Controller Placement Flow with Feedback Controllers Level 1 Partitioning Terminal Propagation Level 2 Partitioning Terminal Propagation Level m Partitioning Terminal Propagation B. Best Improvement Criterion: Iterate per placement level a fixed number of times but pass the best results seen Q P (or Q H ) Q P or Q H Iteration 012345
20
Feedback Controller Stopping Criteria Feedback Controller Placement Flow with Feedback Controllers Level 1 Partitioning Terminal Propagation Level 2 Partitioning Terminal Propagation Level m Partitioning Terminal Propagation C. Unconstrained Criterion: Iterate per placement level a fixed number of times and pass the last results Q P or Q H Iteration 012345
21
Controller Type Comparison Feedback Controller Placement Flow with Feedback Controllers Level 1 Partitioning Terminal Propagation Level 2 Partitioning Terminal Propagation Level m Partitioning Terminal Propagation 3 Stopping Criteria2 Objectives Monotonic ImprovementTotal Cut (Q P ) HPWL Estimate (Q H ) Best ImprovementTotal Cut (Q P ) HPWL Estimate (Q H ) Unconstrained- Combinations of the 3 stopping criteria and 2 objectives yield 5 controllers We study the aggregate impact of the different controllers on the final HPWL
22
Q P (based on partitioning) controllers dominate Q H (based on HPWL) controllers Best Improvement controllers outperform monotonic improvement controllers Best Improvement Q P controller slightly outperforms the unconstrained controller Effect of Controller on Final Wirelength Monotonic Q H Best Q H Monotonic Q P Best Q P Unconstrained Final HPWL versus number of iterations for different controllers Iteration
23
Results are average of 6 seeds for up to 12 iterations using the best improvement Q P controller Final value slightly oscillates around a fixed value with a 8-9% improvement in HPWL in comparison to traditional placement flow Asymptotic Controller Behavior Final HPWL versus number of iterations for different controllers Best Q P Iteration
24
Typically, placers call the multilevel partitioner a number of times and utilize the best cluster-tree partitioning results In iterated feedback, only the last feedback iteration determines the partitioning results; other loops determine accurate terminal propagation. Accelerated Feedback V Cycle Feedback runtime α number of feedback iterations CoarseningUncoarsening To speedup our feedback implementation: → Call the multi-level partitioner once (1 V-Cycle) for each feedback loop → Restore to default placer settings (2 V-Cycles) for the last feedback iteration
25
Outline Min-cut Placement and Terminal Propagation Ambiguous Terminal Propagation Placement Feedback Iterated Controlled Feedback Accelerated Feedback Experimental Results Conclusions
26
We test our methodology in Capo version 8.7 Placement results are average of 6 seeds Experimental Setup Cadence’s WarpRoute is used for routed wirelength evaluation All experiments conducted on 2.4 GHz Xeon Linux workstation, 2 GB RAM Code implementation took 130 lines of C++ code We evaluate feedback on the IBM version 1, version 2, and PEKO benchmarks
27
We use 3 feedback iterations with the best improvement Q p feedback controller Percentage improvement in HPWL (Half-Perimeter Wirelength) in comparison to Capo AFB FB HPWL Results (IBM Version 1) %
28
Feedback: Max improvement 13.73% and average improvement 5.43% with 4.10x the original in Capo runtime Accelerated Feedback: Max improvement 13.43% and average improvement 4.70% with 2.43x the original Capo runtime PEKO benchmarks: Max improvement 10% and average improvement 5% for feedback at the expense of 2-3x increase in Capo runtime HPWL Results (IBM Version 1)
29
Routed Wirelength Results (IBM Version 2 - Hard) % Percentage improvement in routed wirelength in comparison to Capo bench mark Violations CapoFeedBack Ibm01601103 Ibm0200 Ibm074500 Ibm08590 Number of routing violations
30
Percentage improvement in routed wirelength in comparison to Capo. % bench mark Violations CapoFeedBack Ibm0112380 Ibm0200 Ibm0700 Ibm0800 Number of routing violations Routed Wirelength Results (IBM Version 2 - Easy)
31
Conclusions New understanding of how ambiguous terminal propagation leads to indeterminism in propagation results and degraded placer performance Idea: reduce indeterminism by undoing placement results, but still using them to guide future partitioning. Flavors of this approach proposed before, but for different contexts Our approach is captured as feedback, which we tune using controllers Detailed study of variant objectives that can be optimized by the controllers, as well as iterating criteria Accelerated feedback: efficient implementations to reduce runtime impact IBMv1 HPWL results: up to 14% (best) and 6% (avg) improvement over Capo IBMv2 routed WL results: up to 10% improvement over Capo, with improved routability and reduced via count Accelerated feedback is now the default mode in Capo
32
Acknowledgments We thank Igor Markov (University of Michigan) for helpful discussions.
33
Thank You
34
Block Ordering Results are inconclusive! Regular ordering Random ordering Alternate ordering 1234
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.