Download presentation
Presentation is loading. Please wait.
Published byClarissa Hopkins Modified over 7 years ago
1
A SimPLR Method for Routability-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 Hi, my name is Jin, and today, I’ll be talking about ‘A SimPLR Method for Routability-driven Placement”. This was work done in collaboration with Myung-Chul Kim, Dong-Jin Lee, and Professor Markov at the University of Michigan. International Conference on CAD (ICCAD) 2011
2
Placement and Routing Objectives
Goal of placement and routing: produce a legal, routable and high-quality solution No overlapping objects No (or very few) violations Small interconnect length Functionality Performance (timing, yield, power) Within the context of placement and routing, the goal is to produce a legal and routable solution with small (or low) routed interconnect length, as these metrics directly affect the final design’s performance and functionality. However, due to the nature and difficulty of this problem, the placement and routing steps were developed separately, where placement optimized for half-perimeter wirelength, subject to no cell overlaps, and in turn, that solution is given to routing, where it optimizes for routed wirelength subject to no violations. <click> However, as you may observe, with this current setup, unlike wirelength or solution quality, the burden of routability falls primary with the router, as there’s no explicit or implicit metric within placement. HPWL-driven Placement Routing optimize: half-perimeter WL optimize: routed WL subject to: no cell overlaps ? subject to: no violations 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 This is a problem, for a couple of reasons. First, just from the router’s perspective, routability is becoming much more difficult due to technology constraints, such as routing blockages, increased number of routing layers, and specific wire-width and spacing issues. Second, because the placer is not congestion or routability-aware, the solutions they produce can actually harm routability. As we’ve witnessed from past ISPD routing contests, regions with low HPWL can be difficult or impossible to route. HPWL-driven Placement Routing optimize: half-perimeter WL optimize: routed WL subject to: no cell overlaps ? subject to: no violations 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 If instead, however, the placer is given some congestion information, then we can perform routability-driven placement, and the burden of routability can be shifted to between the router and placer. That said, we can perform routability-driven placement by building on top of the standard placement flow. Routability-driven Placement Routing optimize: half-perimeter WL optimize: routed WL subject to: no cell overlaps consider: routability subject to: no violations International Conference on CAD (ICCAD) 2011
5
Standard Placement Flow
Placement Instance Global Placement Iteration(s) So, starting with the standard placement flow, instead of just letting the global placer iterate until some convergence factor solely based on HPWL, <next slide> no Converge? yes Legalization Detailed Placement International Conference on CAD (ICCAD) 2011
6
Routability-driven Placement Flow
Placement Instance Early routability prediction – ability for placer to respond early and often Initial Global Placement Congestion Estimation Must be scalable (speed) and accurate (quality) Routability-driven Must know how to use routability information Global Placement Iteration(s) First, we generate an initial global placement solution, and estimate its routability or congestion, and then use that information to guide future global placement iterations. This approach is great for routability, as now because we have early routability prediction, the placer can now respond early and often to handle congestion. However, there remains a few requirements to have this advantage. First, the congestion or routability must be fast and it must be accurate so as to not mislead the placer. Second, given accurate congestion information, the placer must know how to use this knowledge effectively so as to alleviate congestion but also preserve solution quality. no Converge? yes Legalization Routability components Congestion-aware optional Detailed Placement International Conference on CAD (ICCAD) 2011
7
Prior Work Congestion Estimation Approaches
Static Rent’s Rule, pin density Probabilistic Probabilistic wire routing, wire density Constructive 2-d A* routing, fast global router Give the placer advance, firsthand access to tentative routes and account for technology constraints Congestion-driven Optimizations in Placement During Global Placement Cell bloating, growing/shrinking regions After Global Placement Whitespace injection, linear programming During Detailed Placement Congestion-based objective function In terms of previous work, there have been many well-documented approaches and techniques, both in congestion estimation and for optimizations within placement. For congestion estimation, traditionally, the two most common approaches are classified as either static or probabilistic. More recently, constructive approaches have been used, where real routes have indicated routability. Within placement, techniques have been introduced during global placement, after global placement, and during detailed placement. Our approach is to incorporate these past ideas, either embedded or not in state-of-the-art tools, and integrate them together in a succinct framework. <click> Namely, when we do our congestion, we choose to use a constructive approach by using a global placer, so that the placer can have first-hand access to tentative routes, and to account for routing-based technology constraints. In terms of placement optimizations, we make contributions both during global placement and during detailed placement. Incorporate past ideas with new techniques in integrated framework International Conference on CAD (ICCAD) 2011
8
Congestion Estimation
SimPLR Flow Initial Wirelength Optimization Placement Instance Lookahead Legalization (LAL) Linear System Solver (CG) Initial Global Placement Converge? no Pseudonet Insertion from congestion estimation Congestion Estimation yes Global placement iteration Routability-driven Global Placement Iteration(s) Lookahead Routing (LAR) So, starting with the routability-driven placement flow, we choose to incorporate three major tools. <click> For our global placer, we use SimPL; for our global router, we use BFG-R; and for our detailed placer, we use FastPlace-DP. We chose these tools for two primary reasons. First, because in their respective contexts, they have consistently produced high-quality solutions within a reasonable runtime, and second because of their robustness and modularity in terms of integration. So, starting off, We use SimPL to generate our initial global placement by the following. First, we do an initial wirelength optimization, and then we perform several iterations of global placement. Namely, We do lookahead legalization, pseudonet insertion, and then produce a quadratic placement by CG. After we have an initial global placement solution, We perform congestion estimation by invoking lookahead routing. Once we have the congestion information, we perform routability-driven cell bloating, and then dynamically adjust the target density to preserve solution quality (and I’ll talk about these in subsequent slides). Then, once we have generated a final global placement solution, we perform legalization, and do Congestion-aware detailed placement. So now, I’ll walk through our contributions in chronological order, starting with lookahead routing. no Converge? Routability-driven Cell Bloating Dynamically-adjusting Target Density yes Legalization Global Placer: Global Router: Detailed Placer: SimPL BFG-R FastPlace-DP Routability components Congestion-aware Placer-specific components Detailed Placement International Conference on CAD (ICCAD) 2011 Contributions
9
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) V layer VIA H layer placement bin Part 1: improve runtime without sacrificing accuracy Part 2: routing congestion (per edge) to placer congestion (per bin) International Conference on CAD (ICCAD) 2011
10
Lookahead Routing (LAR)
Part 1 usage and capacity of 2.5-d edges Convert to 2.5-d grid BFG-R-based routing 3-d routing instance (with raw capacities) MST construction and simplified RRR Part 1: improve runtime without sacrificing accuracy Part 2: routing congestion (per edge) to placer congestion (per bin) International Conference on CAD (ICCAD) 2011
11
Lookahead Routing (LAR)
Part 2 usage and capacity of 2.5-d edges congestion of bins Convert to 2.5-d grid Convert to 2-d grid placement bin BFG-R-based routing 3-d routing instance (with raw capacities) MST construction and simplified RRR Report congestion to global placement Part 1: improve runtime without sacrificing accuracy Part 2: routing congestion (per edge) to placer congestion (per bin) International Conference on CAD (ICCAD) 2011
12
LAR: Single 3-d Layer (No Blockages)
For every routing layer l, given wire width ww(l), wire spacing ws(l) Layer l International Conference on CAD (ICCAD) 2011
13
LAR: Single 3-d Layer (No Blockages)
For every routing layer l, given wire width ww(l), wire spacing ws(l) For every routing edge e, given edge capacity cap(e) e Layer l For all edges e, define: normalized capacity nCap(e) = cap(e) ww(l)+ ws(l) International Conference on CAD (ICCAD) 2011
14
LAR: Single 3-d Layer (With Blockages)
For every routing edge e, given edge size s(e) Blockages take up proportionate amount of capacity (based on s(e)) free interval f routing blockage s(e) For all edges e, define: Free intervals (ranges) f(e) with no routing blockage normalized capacity nCap(e) = cap(e) ww(l)+ ws(l) Σ f f(e) s(e) International Conference on CAD (ICCAD) 2011
15
LAR: Single 3-d Layer Example
Given: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 25 12 8 50 For all edges e, define: Free intervals (ranges) f(e) where no routing blockage normalized capacity nCap(e) = cap(e) ww(l)+ ws(l) Σ f f(e) s(e) International Conference on CAD (ICCAD) 2011
16
LAR: Single 3-d Layer Example
Given: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 25 12 8 50 50 50 edge A nCap(A) = = 10 For all edges e, define: Free intervals (ranges) f(e) where no routing blockage normalized capacity nCap(e) = cap(e) ww(l)+ ws(l) Σ f f(e) s(e) International Conference on CAD (ICCAD) 2011
17
LAR: Single 3-d Layer Example
Given: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 25 12 8 50 50 50 edge A nCap(A) = = 10 0 50 nCap(B) = = 0 edge B For all edges e, define: Free intervals (ranges) f(e) where no routing blockage normalized capacity nCap(e) = cap(e) ww(l)+ ws(l) Σ f f(e) s(e) International Conference on CAD (ICCAD) 2011
18
LAR: Single 3-d Layer Example
Given: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 50 25 12 8 50 50 edge A nCap(A) = = 10 edge C 0 50 nCap(B) = = 0 edge B 25 50 nCap(C) = = 5 For all edges e, define: Free intervals (ranges) f(e) where no routing blockage normalized capacity nCap(e) = cap(e) ww(l)+ ws(l) Σ f f(e) s(e) International Conference on CAD (ICCAD) 2011
19
LAR: Single 3-d Layer Example
Given: ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 25 12 8 50 50 50 edge A nCap(A) = = 10 edge C 0 50 nCap(B) = = 0 edge B 25 50 nCap(C) = = 5 edge D 12 50 8 50 nCap(D) = + For all edges e, define: Free intervals (ranges) f(e) where no routing blockage normalized capacity nCap(e) = = = 3 cap(e) ww(l)+ ws(l) Σ f f(e) s(e) International Conference on CAD (ICCAD) 2011
20
International Conference on CAD (ICCAD) 2011
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
International Conference on CAD (ICCAD) 2011
LAR: 3-d Grid to 2.5-d Grid Vk V1 V 3-d Routing Grid 2.5-d Routing Grid International Conference on CAD (ICCAD) 2011
22
International Conference on CAD (ICCAD) 2011
LAR: 3-d Grid to 2.5-d Grid Hm H1 H 3-d Routing Grid 2.5-d Routing Grid International Conference on CAD (ICCAD) 2011
23
International Conference on CAD (ICCAD) 2011
LAR: 3-d Grid to 2.5-d Grid eV k eV 1 eV 3-d Routing Grid 2.5-d Routing Grid nCap(eV ) , … , nCap(eV ) nCap(eV) = nCap(eV ) + … + nCap(eV ) 1 k 1 k International Conference on CAD (ICCAD) 2011
24
International Conference on CAD (ICCAD) 2011
LAR: 3-d Grid to 2.5-d Grid eH m eH eH 1 3-d Routing Grid 2.5-d Routing Grid nCap(eV ) , … , nCap(eV ) nCap(eV) = nCap(eV ) + … + nCap(eV ) 1 k 1 k nCap(eH ) , … , nCap(eH ) nCap(eH) = nCap(eH ) + … + nCap(eH ) 1 m 1 m International Conference on CAD (ICCAD) 2011
25
After 2.5-d Grid Construction
LAR: 3-d Grid to 2.5-d Grid After 2.5-d Grid Construction BFG-R-based routing MST construction and simplified RRR 3-d Routing Grid 2.5-d Routing Grid nCap(eV ) , … , nCap(eV ) nCap(eV) = nCap(eV ) + … + nCap(eV ) 1 k 1 k nUsage(eV) = 1 for every routed net in eV nCap(eH ) , … , nCap(eH ) nCap(eH) = nCap(eH ) + … + nCap(eH ) 1 m 1 m nUsage(eH) = 1 for every routed net in eH International Conference on CAD (ICCAD) 2011
26
International Conference on CAD (ICCAD) 2011
LAR: 2.5-d Grid to 2-d Grid Routing Grid Placement Grid International Conference on CAD (ICCAD) 2011
27
International Conference on CAD (ICCAD) 2011
LAR: 2.5-d Grid to 2-d Grid V P H Routing Grid Placement Grid International Conference on CAD (ICCAD) 2011
28
International Conference on CAD (ICCAD) 2011
LAR: 2.5-d Grid to 2-d Grid Routing Grid Placement Grid top nUsage(top) nCap(top) bottom nUsage(bottom) nCap(bottom) International Conference on CAD (ICCAD) 2011
29
International Conference on CAD (ICCAD) 2011
LAR: 2.5-d Grid to 2-d Grid Routing Grid Placement Grid top nUsage(top) nCap(top) bottom nUsage(bottom) nCap(bottom) nUsage(left) left right nCap(left) nUsage(right) nCap(right) International Conference on CAD (ICCAD) 2011
30
International Conference on CAD (ICCAD) 2011
LAR: 2.5-d Grid to 2-d Grid top global placement bin g left right bottom Cap(g) = nCap(left) + nCap(right) + nCap(top) + nCap(bottom) Congestion of g Usage(g) = max(nCap(left), nUsage(left)) max(nCap(right), nUsage(right)) max(nCap(top), nUsage(top)) max(nCap(bottom), nUsage(bottom)) C(g) = Usage(g) Cap(g) If at least one of the neighboring edges is congested, then the bin g is considered congested International Conference on CAD (ICCAD) 2011
31
Routability-driven Cell Bloating
Purpose: coercing cell locations and relieve local routing congestion 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 based on Lookahead Routing Σ g Usage(g) Cap(g) r = relatively insensitive to quality Σ e OF(e) nCap(e) d = OF(e) = max(0, nUsage(e) – nCap(e)) International Conference on CAD (ICCAD) 2011
32
Routability-driven Cell Bloating
For every (moveable) cell c in congested bin g, bloat by: Routability-driven Cell Bloating max(width(c) + 1, 1 + Design(r,d) · H(c) · C(g) · deg(c)) Routing Solution-dependent Function Design(r,d) = max(0, α · r · d + β) α and β derived from numerical regressions but not benchmark specific tuning Incorporate routability properties in classical congestion-driven cell bloating formulation (e.g., CRISP) based on routed design vs. constant International Conference on CAD (ICCAD) 2011
33
Dynamically-adjusting Target Density
Purpose: preserves overall solution quality (from cell bloating); encourages cells in uncongested areas to stay close Trades off between routability and wirelength (quality) 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. Finding the best target density remains an open problem International Conference on CAD (ICCAD) 2011
34
Dynamically-adjusting Target Density
Target 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 Target Density min(95%, ) area(Cm) area(D) – area(Cf) + φ For uncongested areas, cells do not spread as much International Conference on CAD (ICCAD) 2011
35
Ex: Lookahead Legalization
Ask MC what benchmark this is from Lookahead Legalization (LAL) regulates local cell density to meet the given target utilization. International Conference on CAD (ICCAD) 2011
36
Ex: Lookahead Routing However, even regular module density doesn’t necessarily lead to uniform routing demand. And this may lead to routing congestion in local regions. LAR estimates such regions with routing congestion. Lookahead Routing (LAR) estimates regions with routing congestion. International Conference on CAD (ICCAD) 2011
37
Ex: Routability-driven Cell Bloating
cells that belong to congested regions are bloated depending on amount of routing congestion in regions and histories of cells, Cells in congested regions are bloated International Conference on CAD (ICCAD) 2011
38
Ex: LAL Without Target Density Control
Subsequent LAL shits cells away from congested regions to uncongested regions. However, w/o target density control, LAL generates placement that maintains the same target utilization even in uncongested regions. This forces resulting placement to consume more whitespace, rather than shifting cells in congested regions to congested regions. WL increases. 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, which effectively encourages cell inflow into congested regions from congested regions. This limits wirelength impacts due to cell bloating. Target density control allows more packing in uncongested regions. International Conference on CAD (ICCAD) 2011
40
Progress of SimPL: SUPERBLUE12
18 Roughly Legalized Solution 16 8e+8 14 12 6e+8 HWPL Scaled Overflow per Bin 10 8 4e+8 6 4 2e+8 2 Legal solution 0e+0 10 20 30 40 50 International Conference on CAD (ICCAD) 2011 Iteration Number Quadratic Placement
41
Progress of SimPLR: SUPERBLUE12
18 Roughly Legalized Solution 16 8e+8 14 12 6e+8 HWPL Lookahead Routing Scaled Overflow per Bin 10 8 4e+8 6 4 2e+8 2 Legal solution 0e+0 10 20 30 40 50 International Conference on CAD (ICCAD) 2011 Iteration Number Quadratic Placement
42
Congestion-aware Detailed Placement
Purpose: 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 Placement
Within FastPlace-DP, modify cell swapping to be congestion-aware 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 International Conference on CAD (ICCAD) 2011
44
Congestion-aware Detailed Placement
Within FastPlace-DP, modify cell swapping to be congestion-aware 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 Condition Operation uncongested(c) && uncongested(c’) bswap ≥ bmove ? swap(c, c’, bswap > 0) : move(c, R(c), bmove > 0) International Conference on CAD (ICCAD) 2011
45
Congestion-aware Detailed Placement
Within FastPlace-DP, modify cell swapping to be congestion-aware 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 Condition Operation uncongested(c) && uncongested(c’) bswap ≥ bmove ? swap(c, c’, bswap > 0) : move(c, R(c), bmove > 0) congested(c) && uncongested(c’) move(c, R(c)) International Conference on CAD (ICCAD) 2011
46
Congestion-aware Detailed Placement
Within FastPlace-DP, modify cell swapping to be congestion-aware 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 Condition Operation uncongested(c) && uncongested(c’) bswap ≥ bmove ? swap(c, c’, bswap > 0) : move(c, R(c), bmove > 0) Target density Bloated cell congested(c) && uncongested(c’) move(c, R(c)) uncongested(c) && congested(c’) swap(c, c’, deg(c) < deg(c’)) International Conference on CAD (ICCAD) 2011
47
Congestion-aware Detailed Placement
Within FastPlace-DP, modify cell swapping to be congestion-aware 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 Condition Operation uncongested(c) && uncongested(c’) bswap ≥ bmove ? swap(c, c’, bswap > 0) : move(c, R(c), bmove > 0) congested(c) && uncongested(c’) move(c, R(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’)) International Conference on CAD (ICCAD) 2011
48
Empirical Results: SimPL, Contest
SimPL’s target density = 50% Average are calculated excluding routable benchmarks, HPWL-driven placement: Average of 3.81x better overflow (7 of 8 best) at the cost of 4% routed wirelength Routability-driven placement: Average of 2.04x better overflow (8 of 8 best) with 1% better routed wirelength International Conference on CAD (ICCAD) 2011
49
Empirical Total OF Results: ICCAD 2011
Benchmark Ripple NTUPlace4* SimPLR SUPERBLUE1 90 3222 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 1.31x 1.27x 1.0x SimPL’s target density = 50% Average are calculated excluding routable benchmarks, *NTUPlace use 8 processors for cGrip, whereas Ripple and SimPLR use 4 International Conference on CAD (ICCAD) 2011
50
Empirical Results: Ca-DP
Our implementation was written in C++, compiled with g++ 4.4.3, and validated on an Intel Core 2 CPU X9650 Linux workstation running at 3.00GHz. We modified and integrated (i) the SimPL global placer [21], (ii) the BFG-R global router [17], and (iii) the FastPlace-DP detailed placer [29]. Maximum Runtime for RRR = 15 min x 4 cores Average of 18% better overflow (7 of 8 best) at the cost of 1% in routed wirelength International Conference on CAD (ICCAD) 2011
51
International Conference on CAD (ICCAD) 2011
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
International Conference on CAD (ICCAD) 2011
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
International Conference on CAD (ICCAD) 2011
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 International Conference on CAD (ICCAD) 2011
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.