Force Directed Mongrel

Force 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
FD-Mongrel Key Ideas
 New detailed placer
 Combination of Kraftwerk and Mongrel
 Kraftwerk’s forces guide Mongrel ripple move
 Adds net constraint concept to ripple move
 Result: Force Directed Mongrel
“Force 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
Mongrel 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
Animation: Mongrel Ripple Move
Observations
 KraftwerkNC’s 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 force’s 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
Intuition
 Strengths of KraftwerkNC and Mongrel are
complementary
 Mongrel’s 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 Kraftwerk’s final spreading with Mongrel
 Improve
quality
 Reduce runtime
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
Algorithm overview
Compute
Spreading
Forces
Gross overlaps
Sufficiently
spread?
Small overlaps
Meet net
constraints
legal
Kraftwerk
spreading
Done
FD-Mongrel
Ripple Move
Contributions 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
Force Directed Mongrel
 Two grids:
 Coarse



Directs and control optimization on the fine grid
Direct search start/end based on congestion/forces
Forces are computed coarse grid
 Fine

force grid
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
Animation: FD-Mongrel Ripple Move
FD-Mongrel: High level flow
 Initial placement
 Bins superimposed
 Compute force
 After FD-Mongrel
 Displacement
Experimental Results
 Compared to KraftwerkNC (ISPD ’03)
 Metrics
 Run
time
 Wire length measured by half perimeter of net’s pins
 Worst negative slack (wns)
 Total negative slack (tns)
Experimental Circuits
Design
Number of
cells
Number of
nets
testcase1
6223
7296
testcase2
6039
7081
testcase3
5010
5855
testcase4
4905
5735
testcase5
3399
4150
testcase6
3374
4122
Runtime
Runtime Comparison
40
Runtime (in minutes)
35
30
25
KraftwerkNC
20
Our flow
15
10
5
0
testcase1
testcase2
testcase3 testcase4
testcase5
testcase6
Wirelength Results
Wirelength Comparison
900000
Wirelength (in microns)
800000
700000
600000
500000
KraftwerkNC
400000
Our flow
300000
200000
100000
0
testcase1
testcase2
testcase3
testcase4
testcase5
testcase6
Worst and Total Negative Slack
Worst and Total Negative Slack Results
% Improvement over KraftwerkNC
40.00%
35.00%
30.00%
25.00%
TNS
20.00%
WNS
15.00%
10.00%
5.00%
0.00%
testcase1
testcase2
testcase3
testcase4
testcase5
testcase6
Conclusion
 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
Thank you!
What do we mean by congestion?
 Not routing congestion!
 Cell density
Backups
Contributions of this work
 Force-based ripple move
 Uses
Force formulation from Kraftwerk
 Uses Mongrel’s max gain monotone path formulation
 Direct search start/end based on congestion/forces
 Has
global view of design’s 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
FD-Mongrel: High level flow
 Initial placement
 Bins superimposed
 Compute force
 Displacement
 After FD-Mongrel
Algorithm overview
Initial Placement
Create bins
Compute force
No
No
Any congested force bins ?
Yes
Any force bin has
congested fine bin?
Yes
Determine a target force bin
Ripple move cells within the
Find a most congested fine
force bin
bin in the source force bin
Find a most congested fine
bin in the target force bin
Ripple move cell from source
fine bin to target fine bin
New placement
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) > 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
Force 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
Timing Results
 Circuit speed limited by maximum path delay
 Net delays dominating
 Optimization potential: Reduction of net delay
Total Delay
zero length delay
Interconnect delay
Optimization potential
Constraint Modeling
 Introduce 4 variables for each net constraint
 Form
the net bounding box
Upper y
UpperY
LowerY
LowerX
UpperX
 Bounding box half perimeter
= (UpperX – LowerX) + (UpperY- LowerY)
<= constraint bound
FD-Mongrel key ideas
 Combination of Kraftwerk and Mongrel
1. procedure FD-Mongrel
 Uses calculated forces from Kraftwerk to guide
Mongrel ripple move
2. input: global placement P, density threshold value Dth
3. output: new global placement P’
4. begin
1. 5.procedure
FD-Mongrel
while (there
is a bin B such that d(B) > Dth w.r.t. P) {
2. input: global placement P, density threshold value Dth
the coarse grid
 Result: Force Directed Mongrel
Determine
for each
3. 6.output: new
globalforce
placement
P’ bin in
4. 7.begin P  resolve-congestion(P, Dth)
5. 8. while
} (there is a bin B such that d(B) > Dth w.r.t. P) {
6. 9.
Determine
force
for each
binover-congested
in the coarse gridfine bin) {
for
(each bin
S that
has an
P
resolve-congestion(P,
Dth)cells within the bin S
move-cells(S,
S) // move
7. 10.
8. 11. } }
9. 12. forreturn
(each new
bin Splacement
that has an over-congested fine bin) {
10.13. end
move-cells(S, S) // move cells within the bin S
11. }
12.
return new placement
13. end
What 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 <= bound.
 Violating net constraint if:
 The
half perimeter of the all net terminals is > bound.
References
Glossary
Mongrel 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
Mongrel Overview (con’d)
 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
Animation
Move
of
FD-Mongrel
Ripple
Intuitions
 Strengths of KraftwerkNC and Mongrel are
complementary
 KraftwerkNC’s strength is timing driven
global placement
 Net
constraints: effective for timing driven placement
 Force concept: gives good clues on spreading
 Mongrel’s 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
Observations
 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
Goals
 Timing-driven Kraftwerk with net constraints
 Generates
rough global placement
 Good timing
 Force-directed Mongrel to resolve localized cell
congestion
 optimize
wirelength and timing
Probable Mongrel Moves