560 likes | 689 Views
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.
E N D
A SimPLR Method forRoutability-driven Placement Myung-Chul Kim†, Jin Hu†, Dong-Jin Lee and Igor L. MarkovDept. 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
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) HPWL-drivenPlacement Routing optimize:half-perimeter WL optimize:routed WL subject to:no cell overlaps subject to:no violations ? International Conference on CAD (ICCAD) 2011
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 Routing optimize:half-perimeter WL optimize:routed WL subject to:no cell overlaps subject to:no violations ? International Conference on CAD (ICCAD) 2011
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 Routability-drivenPlacement Routing optimize:half-perimeter WL optimize:routed WL subject to:no cell overlaps subject to:no violations consider:routability International Conference on CAD (ICCAD) 2011
Placement Instance Global Placement Iteration(s) Converge? Legalization Detailed Placement Standard Placement Flow no yes International Conference on CAD (ICCAD) 2011
Placement Instance Initial Global Placement Must be scalable (speed) and accurate (quality) Must know how to use routability information Converge? Routability-driven Placement Flow Early routability prediction – ability for placer to respond early and often Congestion Estimation Routability-driven Global Placement Iteration(s) no yes Legalization Routability components Congestion-aware optional Detailed Placement International Conference on CAD (ICCAD) 2011
Prior Work Congestion Estimation Approaches Give the placer advance, firsthand access to tentative routesand account for technology constraints Congestion-driven Optimizations in Placement Incorporate past ideas with new techniques in integrated framework International Conference on CAD (ICCAD) 2011
Placement Instance Initial Global Placement Initial Wirelength Optimization Global Placement Iteration(s) Lookahead Routing (LAR) Linear System Solver (CG) Pseudonet Insertion Lookahead Legalization (LAL) Converge? Converge? Routability-driven Cell Bloating Dynamically-adjusting Target Density Global Placer: Global Router:Detailed Placer: SimPLBFG-RFastPlace-DP SimPLR Flow no from congestion estimation yes Congestion Estimation Global placement iteration Routability-driven no yes Legalization Routability components Congestion-aware Placer-specific components Detailed Placement International Conference on CAD (ICCAD) 2011 Contributions
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
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
Lookahead Routing (LAR) Part 2 usage and capacity of 2.5-d edges congestion of bins Convert to 2-d grid Convert to 2.5-d grid placement bin BFG-R-based routing 3-d routing instance(with raw capacities) Report congestion to global placement 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
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
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
Σ f(e)s(e) cap(e)ww(l)+ ws(l) f 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) = International Conference on CAD (ICCAD) 2011
Σ f(e)s(e) cap(e)ww(l)+ ws(l) f LAR: Single 3-d Layer Example Given:ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 50 12 8 25 • For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage • normalized capacity nCap(e) = International Conference on CAD (ICCAD) 2011
5050 402 + 2 Σ f(e)s(e) cap(e)ww(l)+ ws(l) f LAR: Single 3-d Layer Example Given:ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 50 12 8 25 nCap(A) = = 10 edge A • For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage • normalized capacity nCap(e) = International Conference on CAD (ICCAD) 2011
050 402 + 2 Σ f(e)s(e) cap(e)ww(l)+ ws(l) f LAR: Single 3-d Layer Example Given:ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 50 12 8 25 5050 402 + 2 nCap(A) = = 10 edge A nCap(B) = = 0 edge B • For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage • normalized capacity nCap(e) = International Conference on CAD (ICCAD) 2011
2550 402 + 2 Σ f(e)s(e) cap(e)ww(l)+ ws(l) f LAR: Single 3-d Layer Example Given:ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 50 12 8 25 5050 402 + 2 nCap(A) = = 10 edge A edge C 050 402 + 2 nCap(B) = = 0 edge B nCap(C) = = 5 • For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage • normalized capacity nCap(e) = International Conference on CAD (ICCAD) 2011
850 1250 402 + 2 402 + 2 Σ f(e)s(e) cap(e)ww(l)+ ws(l) f LAR: Single 3-d Layer Example Given:ww(l) = 2, wire spacing ws(l) = 2, cap(e) = 40, s(e) = 50 50 12 8 25 5050 402 + 2 nCap(A) = = 10 edge A edge C 050 402 + 2 nCap(B) = = 0 edge B 2550 402 + 2 nCap(C) = = 5 edge D nCap(D) = + • For all edges e, define: • Free intervals (ranges) f(e) where no routing blockage • normalized capacity nCap(e) = = 2.6 + 1.4 = 3 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
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
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
eV eV k 1 LAR: 3-d Grid to 2.5-d Grid eV 3-d Routing Grid 2.5-d Routing Grid nCap(eV) , … , nCap(eV ) nCap(eV) = nCap(eV) + … + nCap(eV ) 1 1 k k 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 1 k k nCap(eH) , … , nCap(eH) nCap(eH) = nCap(eH) + … + nCap(eH) m m 1 1 International Conference on CAD (ICCAD) 2011
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 1 k k nUsage(eV) = 1 for every routed net in eV nCap(eH) , … , nCap(eH) nCap(eH) = nCap(eH) + … + nCap(eH) m m 1 1 nUsage(eH) = 1 for every routed net in eH 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
LAR: 2.5-d Grid to 2-d Grid V P H Routing Grid Placement Grid 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
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) nCap(left) left right nUsage(right) nCap(right) International Conference on CAD (ICCAD) 2011
Usage(g)Cap(g) C(g) = 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)) If at least one of the neighboring edges is congested, then the bin g is considered congested International Conference on CAD (ICCAD) 2011
Σ Usage(g)Cap(g) r = g Σ OF(e) d = e Σ nCap(e) e 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 relatively insensitive to quality OF(e) = max(0, nUsage(e) – nCap(e)) International Conference on CAD (ICCAD) 2011
Design(r,d) = max(0, α · r · d + β) 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 αand βderived from numerical regressionsbut 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
Dynamically-adjusting Target Density • 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. Purpose: 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
area(Cm)area(D) – area(Cf) min(95%, ) + φ Dynamically-adjusting Target Density • Target density is based on: • design bounding box:area(D) • cells’ bounding box:moveable cellsarea(Cm), fixed cells area(Cf) • progress: constant φ increases when LAR reports an increase in WL Target Density For uncongested areas, cells do not spread as much International Conference on CAD (ICCAD) 2011
Ex: Lookahead Legalization Lookahead Legalization (LAL) regulates local cell density to meet the given target utilization. International Conference on CAD (ICCAD) 2011
Ex: Lookahead Routing Lookahead Routing (LAR) estimates regions with routing congestion. International Conference on CAD (ICCAD) 2011
Ex: Routability-driven Cell Bloating Cells in congested regions are bloated International Conference on CAD (ICCAD) 2011
Ex: LAL Without Target Density Control Subsequent LAL regulates local cell density International Conference on CAD (ICCAD) 2011
Ex: LAL With Target Density Control Target density control allows more packing in uncongested regions. International Conference on CAD (ICCAD) 2011
Progress of SimPL: SUPERBLUE12 1e+9 18 Roughly Legalized Solution 16 8e+8 14 12 6e+8 HWPL 10 Scaled Overflow per Bin 8 4e+8 6 4 2e+8 2 Legal solution 0 0e+0 0 10 20 30 40 50 Iteration Number International Conference on CAD (ICCAD) 2011 Quadratic Placement
Progress of SimPLR: SUPERBLUE12 1e+9 18 Roughly Legalized Solution 16 8e+8 14 12 6e+8 Lookahead Routing HWPL 10 Scaled Overflow per Bin 8 4e+8 6 4 2e+8 2 Legal solution 0 0e+0 0 10 20 30 40 50 Iteration Number International Conference on CAD (ICCAD) 2011 Quadratic Placement
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
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
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
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
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’)) && International Conference on CAD (ICCAD) 2011
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
Empirical Results: SimPL, Contest 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
Empirical Total OF Results: ICCAD 2011 *NTUPlace use 8 processors for cGrip, whereas Ripple and SimPLR use 4 International Conference on CAD (ICCAD) 2011
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