1 / 56

A SimPLR Method for Routability-driven Placement

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.

rocio
Download Presentation

A SimPLR Method for Routability-driven Placement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  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) 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

  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 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 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

  5. Placement Instance Global Placement Iteration(s) Converge? Legalization Detailed Placement Standard Placement Flow no yes International Conference on CAD (ICCAD) 2011

  6. 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

  7. 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

  8. 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

  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-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

  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. Σ 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

  15. Σ 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

  16. 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

  17. 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

  18. 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

  19. 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

  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 Vk V1 V 3-d Routing Grid 2.5-d Routing Grid International Conference on CAD (ICCAD) 2011

  22. 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. 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

  24. 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

  25. 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

  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 V P H Routing Grid Placement Grid International Conference on CAD (ICCAD) 2011

  28. 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. 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

  30. 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

  31. Σ 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

  32. 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

  33. 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

  34. 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

  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 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

  41. 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

  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) && 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 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 *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

More Related