Placement Feedback: A Concept and Method for Better Min-Cut Placements Andrew B. Kahng Sherief Reda CSE & ECE Departments University of CA, San Diego La Jolla, CA 92093 [email protected]CSE Department University of CA, San Diego La Jolla, CA 92093 [email protected]VLSI CAD Laboratory at UCSD http://vlsicad.ucsd.edu
34
Embed
Placement Feedback: A Concept and Method for Better Min-Cut Placements
Placement Feedback: A Concept and Method for Better Min-Cut Placements. Andrew B. Kahng. Sherief Reda. CSE & ECE Departments University of CA, San Diego La Jolla, CA 92093 [email protected]. CSE Department University of CA, San Diego La Jolla, CA 92093 [email protected]. - PowerPoint PPT Presentation
Welcome message from author
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.
VLSI CAD Laboratory at UCSDhttp://vlsicad.ucsd.edu
Outline
Min-cut Placement and Terminal Propagation
Ambiguous Terminal Propagation
Placement Feedback
Iterated Controlled Feedback
Accelerated Feedback
Experimental Results
Conclusions
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
• Multilevel hypergraph partitioning using the Fiduccia/Mattheyses heuristic
How to propagate net connectivity information from one block to another?
Netlist (hyper-graph)
block
Terminal Propagation
A B
C D
Simple hypergraph
A
BC
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
BC
D
Case I
Case I: Blocks are partitioned in isolation → optimal local partitioning results but far from optimal global results
1
Terminal Propagation Mechanism
B1 B2u
v
uf
B1 has been partitioned; B2 is to be partitioned
u is propagated as a fixed vertex uf to the subblock that is closer
uf biases the partitioner to move v upward
X?
Ambiguous propagation occurs when terminals, e.g. Y4, 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
Y1Y2
partitionfuzziness
Y4
Y3
f1f2
f3
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 ● → L2. Only ● → R3. ● and ● → neither
Terminal Propagation decisions
(without ambiguous)
1. ● and ● → L or neither2. ● and ● → R or neither3. ● ● and ● → neither 4. ● → neither or L or R
Terminal Propagation decisions
(with ambiguous)
Min-Cut Placement Flow
Level 1Partitioning
Terminal Propagation
Level 2Partitioning
Terminal Propagation
Level mPartitioning
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
Outline
Min-cut Placement and Terminal Propagation
Ambiguous Terminal Propagation
Placement Feedback
Iterated Controlled Feedback
Accelerated Feedback
Experimental Results
Conclusions
Mitigating Ambiguous Terminal Propagation
Two hyperedges: {A, B, C}, {X, A, B}. B1 is partitioned before B2
B
A
C
X
C is ambiguously propagated
B
A
C
X
2 1 1
B
AC X
Further partitioning
Cuts = 3, Wirelength
= 6
1
Undo
B
A
C
XC
Repartition
X
A
C
BC
C is propagated to the top
Further partitioning
X
AC B
Cuts = 2, Wirelength
= 5
B1B2
Placement Feedback
Traditional Placement Flow
Level 1Partitioning
Terminal Propagation
Level 2Partitioning
Terminal Propagation
Level mPartitioning
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
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)
Feedback Effects
0
20
40
60
80
100
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Percentage reduction in ambiguous propagations
Reductions in ambiguous terminals and HPWL per level are strongly correlated
Placement Level
Percentage reduction in HPWL
0
0.5
1
1.5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Placement Level
Outline
Min-cut Placement and Terminal Propagation
Ambiguous Terminal Propagation
Placement Feedback
Iterated Controlled Feedback
Accelerated Feedback
Experimental Results
Conclusions
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