Title: Force Directed Mongrel with Physical Net Constraints
1Force Directed Mongrel with Physical Net
Constraints
- Sung-Woo Hur Dong-A University
- Tung Cao Intel Corporation
- Karthik Rajagopal Intel Corporation
- Amit Chowdhary Intel Corporation
- Vladimir Tiourin Intel Corporation
- Bill Halpin Intel Corporation/
Syracuse University - Yegna Parasuram
2FD-Mongrel Key Ideas
- New detailed placer
- Combination of Kraftwerk and Mongrel
- Kraftwerks forces guide Mongrel ripple move
- Adds net constraint concept to ripple move
- Result Force Directed Mongrel
3Force Directed (Kraftwerk) Overview
- Described by Eisenmann and Johannes in DAC 1998
- Leading technique for industry and academic
placers - Uses cell forces to spread instances
- Optimizes wirelength and forces simultaneously
- Iterative and smooth spreading
- Very good wire length quality
- Easy to add timing convergence functionality
- Kraftwerk Net Constraints variant (ISPD2003)
- Good timing driven results
4Mongrel Overview
- Described by Hur and Lillis in ICCAD 2000
- Good wire length, but not timing driven
- Generates complete global and legal placement
- Collection of optimization techniques
- Relaxation-based local search (RBLS)
- Optimal interleaving
- Uses Ripple moves to resolve cell overlaps
- Uses grid placement approach
- Optimizes along max-gain monotone path
- Moves from high congestion to low congestion
5Animation Mongrel Ripple Move
6Observations
- KraftwerkNCs forces are good for global
placement - Force concept global clues on spreading
- Allow for smooth iterative flow
- Net constraints effective for timing driven
placement - but, KraftwerkNC forces are bad for detail
placement - Forces are not as effective at detailed level
- Overlap removal requires larger forces
- Reduced optimization contribution
- Long time to reduce fine grained cell overlaps
- Uses linearized quadratic net model
7Intuition
- Strengths of KraftwerkNC and Mongrel are
complementary - Mongrels strength is detailed placement
- Ripple move can efficiently remove local
congestion - Has accurate instance congestion picture
- Uses accurate bounding box model
- Optimal Interleaving is a very effective final
placer - Replace Kraftwerks final spreading with Mongrel
- Improve quality
- Reduce runtime
8 Observations
- Mongrel legalization
- Causes significant perturbation given rough
placement - Degrades timing
- Lacks global congestion view in Ripple moves
- Use Kraftwerk forces to direct ripple move
9Algorithm overview
Compute
Spreading
Forces
Sufficiently
Gross overlaps
Small overlaps
spread?
Meet net
constraints
FD-Mongrel
legal
Ripple Move
Kraftwerk
spreading
Done
10Contributions of this work
- Force-based ripple move
- Global cell congestion view
- Uses same force formulation as Kraftwerk
- Controlled movement
- Net Constraints in Ripple move
- Reject moves that would degrade net constraints
- Result Force Directed Mongrel
11Force Directed Mongrel
- Two grids
- Coarse force grid
- Directs and control optimization on the fine grid
- Direct search start/end based on
congestion/forces - Forces are computed coarse grid
- Fine grid
- Used for ripple movements
- Iterative flow
- In single iteration cells can only move to
adjacent coarse bins - Synchronizes forces and moves
- Ripple move may stop at intermediate fine bin
12Animation FD-Mongrel Ripple Move
13FD-Mongrel High level flow
14Experimental Results
- Compared to KraftwerkNC (ISPD 03)
- Metrics
- Run time
- Wire length measured by half perimeter of nets
pins - Worst negative slack (wns)
- Total negative slack (tns)
15Experimental Circuits
Number of nets
Number of cells
Design
7296
6223
testcase1
7081
6039
testcase2
5855
5010
testcase3
5735
4905
testcase4
4150
3399
testcase5
4122
3374
testcase6
16Runtime
17Wirelength Results
18Worst and Total Negative Slack
19Conclusion
- New detailed placement approach
- Combines strengths of Kraftwerk and Mongrel
- Removes cell overlaps at the end of global
placement - Reduces timing degradation
- Reduces cell perturbation
20Thank you!
21What do we mean by congestion?
- Not routing congestion!
- Cell density
22Backups
23Contributions of this work
- Force-based ripple move
- Uses Force formulation from Kraftwerk
- Uses Mongrels max gain monotone path formulation
- Direct search start/end based on
congestion/forces - Has global view of designs congestion
- Controlled spreading based on coarse grid
- Use iterative flow
- Cell movement in iteration is limited to
neighboring bin - Net Constraints in Ripple move
- Reject moves that would degrade net constraints
24FD-Mongrel High level flow
25Algorithm overview
Initial Placement
Create bins
Compute force
No
No
Any force bin has congested fine bin?
Any congested force bins ?
Yes
Yes
Determine a target force bin
Ripple move cells within the force bin
Find a most congested fine bin in the source
force bin
New placement
Find a most congested fine bin in the target
force bin
Ripple move cell from source fine bin to target
fine bin
26procedure FD-Mongrel 2. input global placement
P, density threshold value Dth 3. output new
global placement P 4. begin 5. while
(there is a bin B such that d(B) gt Dth w.r.t. P)
6. Determine force for each bin in
the coarse grid 7. P ?
resolve-congestion(P, Dth) 8. 9.
for (each bin S that has an over-congested fine
bin) 10. move-cells(S, S) // move
cells within the bin S 11. 12. return
new placement 13. end
27Force creation
- Adopt four requirements for spreading force (from
Eisenmann paper) - The force that directs the ripple move of cells
are computed at the center of the coarse bin
28Timing Results
- Circuit speed limited by maximum path delay
- Net delays dominating
- Optimization potential Reduction of net delay
29Constraint Modeling
- Introduce 4 variables for each net constraint
- Form the net bounding box
- Bounding box half perimeter
- (UpperX LowerX) (UpperY- LowerY)
- lt constraint bound
30FD-Mongrel key ideas
- Combination of Kraftwerk and Mongrel
- Uses calculated forces from Kraftwerk to guide
Mongrel ripple move - Result Force Directed Mongrel
1. procedure FD-Mongrel 2. input global
placement P, density threshold value Dth 3.
output new global placement P 4. begin 5.
while (there is a bin B such that d(B) gt Dth
w.r.t. P) 6. Determine force for each
bin in the coarse grid 7. P ?
resolve-congestion(P, Dth) 8. 9.
for (each bin S that has an over-congested fine
bin) 10. move-cells(S, S) // move
cells within the bin S 11. 12. return
new placement 13. end
1. procedure FD-Mongrel 2. input global
placement P, density threshold value Dth 3.
output new global placement P 4. begin 5.
while (there is a bin B such that d(B) gt Dth
w.r.t. P) 6. Determine force for each
bin in the coarse grid 7. P ?
resolve-congestion(P, Dth) 8. 9.
for (each bin S that has an over-congested fine
bin) 10. move-cells(S, S) // move
cells within the bin S 11. 12. return
new placement 13. end
31What is a Net Constraint?
- Physical upper bound on the half perimeter of a
net. - Meeting net constraint if
- The half perimeter of the all net terminals is lt
bound.
32References
33Glossary
34Mongrel Overview
- Very good wire length results, but no timing
driven capabilities - Generates complete global and legal placement
from scratch - Collection of optimization techniques
- RBLS
- Uses grid placement approach
- Sub-circuit extraction
- Optimal relaxed placement
- Ripple moves along max-gain monotone path
- FM partitioner
- Optimal Interleaving
35Mongrel Overview (cond)
- Uses Ripple moves to resolve cell overlaps
- 4 stages
- Resolve over congestion
- Ripple move from high congestion to low
congestion - Resolve under congestion
- Ripple move from high congestion to low
congestion - Remove inter-rowsite congestion
- Legalize within each rowsite
36Animation of FD-Mongrel Ripple Move
37Intuitions
- Strengths of KraftwerkNC and Mongrel are
complementary - KraftwerkNCs strength is timing driven global
placement - Net constraints effective for timing driven
placement - Force concept gives good clues on spreading
- Mongrels strength is detailed placement and
legalization - Ripple move technique can efficiently remove
local congestion - Uses accurate bounding box model
- Has accurate instance congestion picture
- Optimal Interleaving is a very effective final
placer
38Observations
- Kraftwerk
- After rough global placement is achieved,
Kraftwerk spends long time trying to reduce fine
grained cell overlaps - Overlap removal requires larger forces which
reduce optimization contribution - Uses linearized quadratic net model
- Mongrel
- Lacks global congestion view in Ripple moves
- Causes significant perturbation given rough
placement - Ripple legalization creates even cell density
throughout chip
39Goals
- Timing-driven Kraftwerk with net constraints
- Generates rough global placement
- Good timing
- Force-directed Mongrel to resolve localized cell
congestion - optimize wirelength and timing
40Probable Mongrel Moves