Understanding Metrics in Logic Synthesis for Routability ...
A SimPLR Method for Routability-driven Placement
description
Transcript of A SimPLR Method for Routability-driven Placement
International Conference on CAD (ICCAD) 2011 1
A SimPLR Method forRoutability-driven Placement
Myung-Chul Kim†, Jin Hu†, Dong-Jin Lee and Igor L. Markov
Dept. of Computer Science and Engineering (CSE)
Dept. of Electrical Engineering and Computer Science (EECS)University of Michigan
†equal contribution
International Conference on CAD (ICCAD) 2011 2
Goal of placement and routing: produce a legal, routable and high-quality solution No overlapping objects No (or very few) violations Small interconnect length
Placement and Routing Objectives
Functionality
Performance (timing, yield, power)
HPWL-drivenPlacement
optimize: half-perimeter WL
subject to: no cell overlaps
optimize: routed WL
subject to: no violations?
Routing
International Conference on CAD (ICCAD) 2011 3
Routability-driven Placement Issue: Routability becoming harder due to technology advances
Routing blockages Increased number of metal layers layer-route requirements
Issue: Placer can harm routability; low HPWL regions can be hard to route
HPWL-drivenPlacement
optimize: half-perimeter WL
subject to: no cell overlaps
optimize: routed WL
subject to: no violations?
Routing
International Conference on CAD (ICCAD) 2011 4
Routability-driven Placement Issue: Routability becoming harder due to technology advances
Routing blockages Increased number of metal layers layer-route requirements
Issue: Placer can harm routability; low HPWL regions can be hard to route
routability information is given to placer
optimize: half-perimeter WL
subject to: no cell overlaps
optimize: routed WL
subject to: no violations
RoutingRoutability-driven
Placement
consider: routability
International Conference on CAD (ICCAD) 2011 5
Standard Placement FlowPlacement Instance
Converge?
Global Placement Iteration(s)
Legalization
Detailed Placement
yes
no
International Conference on CAD (ICCAD) 2011 6
Routability-driven Placement FlowPlacement Instance
Converge?
optional
Initial Global Placement
Global Placement Iteration(s)
Legalization
Detailed PlacementCongestion-aware
yes
no
Routability components
Routability-driven
Congestion Estimation Must be scalable (speed) and accurate (quality)
Must know how to use routability information
Early routability prediction – ability for placer to respond early and often
International Conference on CAD (ICCAD) 2011 7
Prior Work
Static Rent’s Rule, pin density
Probabilistic Probabilistic wire routing, wire density
Constructive 2-d A* routing, fast global router
Congestion Estimation Approaches
During Global Placement Cell bloating, growing/shrinking regions
After Global Placement Whitespace injection, linear programming
During Detailed Placement Congestion-based objective function
Congestion-driven Optimizations in Placement
Incorporate past ideas with new techniques in integrated framework
Give the placer advance, firsthand access to tentative routesand account for technology constraints
International Conference on CAD (ICCAD) 2011 8
Lookahead Legalization (LAL)
Pseudonet Insertion
Linear System Solver (CG)
Converge?no
yes Global placement iteration
SimPLR FlowPlacement Instance
Converge?
Initial Global Placement
Global Placement Iteration(s)
Congestion Estimation
Legalization
Detailed Placement
yes
no
Lookahead Routing (LAR)
Routability-driven Cell Bloating
Dynamically-adjusting Target Density
Routability components
Placer-specific components
Global Placer: Global Router:Detailed Placer:
SimPLBFG-RFastPlace-DP
Congestion-aware
Routability-driven
Initial Wirelength Optimization
from congestion estimation
Contributions
International Conference on CAD (ICCAD) 2011 9
• Part 1: improve runtime without sacrificing accuracy• Part 2: routing congestion (per edge) to placer congestion (per bin)
Lookahead Routing (LAR)Purpose: provides accurate and fast routability information: interconnect length and congestion (based on actual routes) Compatibility: routing grid (3-d) versus placement grid (2-d)
H layer
V layerVIA
placement bin
International Conference on CAD (ICCAD) 2011 10
Lookahead Routing (LAR)
MST construction and simplified RRR
• Part 1: improve runtime without sacrificing accuracy• Part 2: routing congestion (per edge) to placer congestion (per bin)
BFG-R-based routing
Part 1
Convert to 2.5-d grid
usage and capacity of 2.5-d edges
3-d routing instance(with raw capacities)
International Conference on CAD (ICCAD) 2011 11
Lookahead Routing (LAR)
MST construction and simplified RRR
Report congestion to global placement
placement bin
BFG-R-based routing
Part 2
Convert to 2.5-d grid
Convert to 2-d grid
congestion of binsusage and capacity of
2.5-d edges
• Part 1: improve runtime without sacrificing accuracy• Part 2: routing congestion (per edge) to placer congestion (per bin)
3-d routing instance(with raw capacities)
International Conference on CAD (ICCAD) 2011 12
LAR: Single 3-d Layer (No Blockages)
Layer l
• For every routing layer l, given wire width ww(l), wire spacing ws(l)
International Conference on CAD (ICCAD) 2011 13
e
LAR: Single 3-d Layer (No Blockages)
Layer l
For all edges e, define:
• normalized capacity nCap(e) =
• For every routing layer l, given wire width ww(l), wire spacing ws(l)
• For every routing edge e, given edge capacity cap(e)
cap(e)ww(l)+ ws(l)
International Conference on CAD (ICCAD) 2011 14
LAR: Single 3-d Layer (With Blockages)
For all edges e, define: • Free intervals (ranges) f(e) with no routing blockage
• normalized capacity nCap(e) =
• For every routing edge e, given edge size s(e)• Blockages take up proportionate amount of capacity (based on s(e))
routing blockagefree interval f
cap(e)ww(l)+ ws(l)Σ
f
f(e)s(e)
s(e)
International Conference on CAD (ICCAD) 2011 15
For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage
• normalized capacity nCap(e) =
LAR: Single 3-d Layer ExampleGiven: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50
81225 50
cap(e)ww(l)+ ws(l)Σ
f
f(e)s(e)
International Conference on CAD (ICCAD) 2011 16
For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage
• normalized capacity nCap(e) =
= 10nCap(A) =
LAR: Single 3-d Layer ExampleGiven: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50
81225
edge A5050
402 + 2
50
cap(e)ww(l)+ ws(l)Σ
f
f(e)s(e)
International Conference on CAD (ICCAD) 2011 17
For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage
• normalized capacity nCap(e) =
= 10nCap(A) =
LAR: Single 3-d Layer ExampleGiven: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50
81225
edge A5050
402 + 2
50
= 0nCap(B) =0
5040
2 + 2edge B
cap(e)ww(l)+ ws(l)Σ
f
f(e)s(e)
International Conference on CAD (ICCAD) 2011 18
For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage
• normalized capacity nCap(e) =
= 10nCap(A) =
LAR: Single 3-d Layer ExampleGiven: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50
81225
edge A5050
402 + 2
50
= 0nCap(B) =0
5040
2 + 2edge B
= 5nCap(C) =2550
402 + 2
edge C
cap(e)ww(l)+ ws(l)Σ
f
f(e)s(e)
International Conference on CAD (ICCAD) 2011 19
For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage
• normalized capacity nCap(e) =
nCap(C) =
nCap(D) =
= 10nCap(A) =
LAR: Single 3-d Layer ExampleGiven: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50
81225
edge A5050
402 + 2
50
= 0nCap(B) =0
5040
2 + 2edge B
= 52550
402 + 2
edge C
edge D 1250
402 + 2
+ 850
402 + 2
cap(e)ww(l)+ ws(l)Σ
f
f(e)s(e)
= 2.6 + 1.4 = 3
International Conference on CAD (ICCAD) 2011 20
LAR: 3-d Grid to 2.5-d Grid
3-d Routing Grid 2.5-d Routing Grid
International Conference on CAD (ICCAD) 2011 21
LAR: 3-d Grid to 2.5-d Grid
3-d Routing Grid 2.5-d Routing Grid
V1
Vk
V
International Conference on CAD (ICCAD) 2011 22
LAR: 3-d Grid to 2.5-d Grid
3-d Routing Grid 2.5-d Routing Grid
H1
Hm
H
International Conference on CAD (ICCAD) 2011 23
nCap(eV) = nCap(eV ) + … + nCap(eV )nCap(eV ) , … , nCap(eV )
LAR: 3-d Grid to 2.5-d Grid
3-d Routing Grid 2.5-d Routing Grid
eVk
eV1eV
1 k 1 k
International Conference on CAD (ICCAD) 2011 24
nCap(eH ) , … , nCap(eH ) nCap(eH) = nCap(eH ) + … + nCap(eH )
LAR: 3-d Grid to 2.5-d Grid
3-d Routing Grid 2.5-d Routing Grid
eH m
eH 1eH
1 m1 m
nCap(eV) = nCap(eV ) + … + nCap(eV )nCap(eV ) , … , nCap(eV )1 k 1 k
International Conference on CAD (ICCAD) 2011 25
nCap(eH ) , … , nCap(eH ) nCap(eH) = nCap(eH ) + … + nCap(eH )nUsage(eH) = 1 for every routed net in eH
LAR: 3-d Grid to 2.5-d Grid
3-d Routing Grid 2.5-d Routing Grid
1 m1 m
nCap(eV) = nCap(eV ) + … + nCap(eV )nUsage(eV) = 1 for every routed net in eV
nCap(eV ) , … , nCap(eV )1 k 1 k
MST construction and simplified RRR
BFG-R-based routing
After 2.5-d Grid Construction
International Conference on CAD (ICCAD) 2011 26
LAR: 2.5-d Grid to 2-d Grid
Routing Grid Placement Grid
International Conference on CAD (ICCAD) 2011 27
LAR: 2.5-d Grid to 2-d Grid
Routing Grid Placement Grid
V
H P
International Conference on CAD (ICCAD) 2011 28
LAR: 2.5-d Grid to 2-d Grid
Routing Grid Placement Grid
nUsage(bottom)
nUsage(top)nCap(top)
nCap(bottom)
top
bottom
International Conference on CAD (ICCAD) 2011 29
LAR: 2.5-d Grid to 2-d Grid
Routing Grid Placement Grid
nUsage(bottom)
nUsage(top)nCap(top)
nCap(bottom)
top
bottom
left right nUsage(right)nUsage(left)
nCap(left)nCap(right)
International Conference on CAD (ICCAD) 2011 30
LAR: 2.5-d Grid to 2-d Grid
C(g) = Usage(g)
Cap(g)
Congestion of gCap(g) = nCap(left) + nCap(right) + nCap(top) + nCap(bottom)
Usage(g) = max(nCap(left), nUsage(left)) + max(nCap(right), nUsage(right)) + max(nCap(top), nUsage(top)) + max(nCap(bottom), nUsage(bottom))
If at least one of the neighboring edges is congested, then the bin g is considered congested
left right
top
bottom
global placement bin g
International Conference on CAD (ICCAD) 2011 31
For all cells c in congested bin g, cell bloating is based on: • cell properties: connectivity deg(c), size width(c) • progress: history* H(c), congestion C(g) *Number of times the cell has been in a congested bin
• routed solution properties:
• design usage
• difficulty to route
Routability-driven Cell BloatingPurpose: coercing cell locations and relieve local routing congestion
Σe
OF(e)
Σe
nCap(e)d =
relatively insensitive to quality
based on Lookahead Routing
OF(e) = max(0, nUsage(e) – nCap(e))
Σg
Usage(g)Cap(g)r =
International Conference on CAD (ICCAD) 2011 32
Routability-driven Cell Bloating
α and β derived from numerical regressionsbut not benchmark specific tuning
Design(r,d) = max(0, α · r · d + β)Routing Solution-dependent Function
Incorporate routability properties in classical congestion-driven cell bloating formulation (e.g., CRISP) based on routed design vs. constant
max(width(c) + 1, 1 + Design(r,d) · H(c) · C(g) · deg(c))
For every (moveable) cell c in congested bin g, bloat by:
Routability-driven Cell Bloating
International Conference on CAD (ICCAD) 2011 33
Unnecessarily high target density leads to better HPWL, but may also cause routing failures
Lower target density may increase the overall routed wirelength, which would lead to longer detours.
Dynamically-adjusting Target DensityPurpose: preserves overall solution quality (from cell bloating); encourages cells in uncongested areas to stay close
Trades off between routability and wirelength (quality)
Finding the best target density remains an open problem
International Conference on CAD (ICCAD) 2011 34
Dynamically-adjusting Target DensityTarget density is based on: • design bounding box: area(D)• cells’ bounding box: moveable cells area(Cm), fixed cells area(Cf)• progress: constant φ increases when LAR reports an increase in WL
min(95%, )area(Cm)
area(D) – area(Cf)+ φ
For uncongested areas, cells do not spread as much
Target Density
International Conference on CAD (ICCAD) 2011 35
Ex: Lookahead Legalization
Lookahead Legalization (LAL) regulates local cell density to meet the given target utilization.
International Conference on CAD (ICCAD) 2011 36
Ex: Lookahead Routing
Lookahead Routing (LAR) estimates regions with routing congestion.
International Conference on CAD (ICCAD) 2011 37
Ex: Routability-driven Cell Bloating
Cells in congested regions are bloated
International Conference on CAD (ICCAD) 2011 38
Ex: LAL Without Target Density Control
Subsequent LAL regulates local cell density
International Conference on CAD (ICCAD) 2011 39
Ex: LAL With Target Density Control
Target density control allows more packing in uncongested regions.
International Conference on CAD (ICCAD) 2011 40
Progress of SimPL: SUPERBLUE12
0e+0
2e+8
4e+8
6e+8
8e+8
1e+9
0 10 20 30 40 500
2
4
6
8
10
12
14
16
18
HW
PL
Iteration Number
Scal
ed O
verfl
ow p
er B
in
Legal solution
Roughly Legalized Solution
Quadratic Placement
International Conference on CAD (ICCAD) 2011 41
Progress of SimPLR: SUPERBLUE12
0e+0
2e+8
4e+8
6e+8
8e+8
1e+9
0 10 20 30 40 500
2
4
6
8
10
12
14
16
18
HW
PL
Iteration Number
Scal
ed O
verfl
ow p
er B
in
Legal solution
Roughly Legalized Solution
Quadratic Placement
Lookahead Routing
International Conference on CAD (ICCAD) 2011 42
Congestion-aware Detailed PlacementPurpose: preserves (and improves) routability and quality of placement
Follows traditional HPWL-driven DP, but does not hurt routability
Traditional WL-driven detailed placement may pack cells in areas that are difficult to route(congestion-unaware)
Prohibit moves that harm routability Changing objective function could harm HPWL Maintains routability moves cells out of congested regions
International Conference on CAD (ICCAD) 2011 43
Congestion-aware Detailed PlacementWithin FastPlace-DP, modify cell swapping to be congestion-awareFor every (moveable) cell c, define:• optimal region R(c)• benefit of swapping with other cell c’ in R(c) bswap
• benefit of moving (swapping) with empty space in R(c) bmove
International Conference on CAD (ICCAD) 2011 44
Congestion-aware Detailed Placement
Condition Operation
&& bswap ≥ bmove ?uncongested(c) uncongested(c’)
Within FastPlace-DP, modify cell swapping to be congestion-awareFor every (moveable) cell c, define:• optimal region R(c)• benefit of swapping with other cell c’ in R(c) bswap
• benefit of moving (swapping) with empty space in R(c) bmove
swap(c, c’, bswap > 0) :move(c, R(c), bmove > 0)
International Conference on CAD (ICCAD) 2011 45
congested(c) uncongested(c’)
Congestion-aware Detailed Placement
Condition Operation
&& bswap ≥ bmove ?uncongested(c) uncongested(c’)
&&
Within FastPlace-DP, modify cell swapping to be congestion-awareFor every (moveable) cell c, define:• optimal region R(c)• benefit of swapping with other cell c’ in R(c) bswap
• benefit of moving (swapping) with empty space in R(c) bmove
swap(c, c’, bswap > 0) :move(c, R(c), bmove > 0)
move(c, R(c))
International Conference on CAD (ICCAD) 2011 46
congested(c) uncongested(c’)
Congestion-aware Detailed Placement
Condition Operation
&& bswap ≥ bmove ? swap(c, c’, bswap > 0) :move(c, R(c), bmove > 0)
move(c, R(c))
uncongested(c) uncongested(c’)
&&
uncongested(c) congested(c’)&& swap(c, c’, deg(c) < deg(c’))
For every (moveable) cell c, define:• optimal region R(c)• benefit of swapping with other cell c’ in R(c) bswap
• benefit of moving (swapping) with empty space in R(c) bmove
Within FastPlace-DP, modify cell swapping to be congestion-aware
International Conference on CAD (ICCAD) 2011 47
congested(c) uncongested(c’)
Congestion-aware Detailed Placement
Condition Operation
&& bswap ≥ bmove ?uncongested(c) uncongested(c’)
&&
uncongested(c) congested(c’)&& swap(c, c’, deg(c) < deg(c’))
congested(c’)&&congested(c) C(c) > C(c’) ? swap(c, c’, deg(c) > deg(c’)) :swap(c, c’, deg(c) < deg(c’))
Within FastPlace-DP, modify cell swapping to be congestion-awareFor every (moveable) cell c, define:• optimal region R(c)• benefit of swapping with other cell c’ in R(c) bswap
• benefit of moving (swapping) with empty space in R(c) bmove
swap(c, c’, bswap > 0) :move(c, R(c), bmove > 0)
move(c, R(c))
International Conference on CAD (ICCAD) 2011 48
Empirical Results: SimPL, Contest
HPWL-driven placement: Average of 3.81x better overflow (7 of 8 best)
Routability-driven placement: Average of 2.04x better overflow (8 of 8 best)at the cost of 4% routed wirelength
with 1% better routed wirelength
International Conference on CAD (ICCAD) 2011 49
Empirical Total OF Results: ICCAD 2011Benchmark Ripple NTUPlace4* SimPLR
SUPERBLUE1 90 3222 0
SUPERBLUE2 730544 670480 740050
SUPERBLUE4 75540 85062 18444
SUPERBLUE5 128054 69820 121894
SUPERBLUE10 646300 583336 567780
SUPERBLUE12 547954 705012 181350
SUPERBLUE15 60222 42362 49286
SUPERBLUE18 38176 9996 21020
Total 2226880 2166390 1699824
1.31x 1.27x 1.0x*NTUPlace use 8 processors for cGrip,
whereas Ripple and SimPLR use 4
International Conference on CAD (ICCAD) 2011 50
Empirical Results: Ca-DP
Average of 18% better overflow (7 of 8 best)at the cost of 1% in routed wirelength
International Conference on CAD (ICCAD) 2011 51
Conclusions New routability-driven placement: SimPLR
Based on fast, effective SimPL placer (ICCAD 2010) Congestion maps based on actual routes (not
probabilistic);this is not too slow
Faithful representation of 3-d routes by 2-d congest. maps Accurate formulas for cell expansion based on congestion Preserve solution and ensure stability of global placement
Effective at improving routability Very strong results on the ISPD 2011 Routability-driven
Placement benchmarks
International Conference on CAD (ICCAD) 2011 52
Thank you!
Any Questions?
International Conference on CAD (ICCAD) 2011 53
Backup Slides
International Conference on CAD (ICCAD) 2011 54
Empirical Results: Extended timeouts
International Conference on CAD (ICCAD) 2011 55
Final Product: SUPERBLUE15
ISPD 2011 Routability-driven Contest (Best)
SimPLR
International Conference on CAD (ICCAD) 2011 56
Conclusions New routability-driven placement: SimPLR
Integration of global routing into global placement Congestion-aware detailed placement
Effective at improving routability Best results on the ISPD 2011 Routability-driven
Placement benchmarks
Open problem: target density adjustment