a simplr method for routability-driven placement

56
International Conference on CAD (ICCAD) 2011 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

Upload: rocio

Post on 15-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

Page 2: A SimPLR Method for Routability-driven Placement

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

Page 3: A SimPLR Method for Routability-driven Placement

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

Page 4: A SimPLR Method for Routability-driven Placement

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

Page 5: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 5

Standard Placement FlowPlacement Instance

Converge?

Global Placement Iteration(s)

Legalization

Detailed Placement

yes

no

Page 6: A SimPLR Method for Routability-driven Placement

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

Page 7: A SimPLR Method for Routability-driven Placement

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

Page 8: A SimPLR Method for Routability-driven Placement

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

Page 9: A SimPLR Method for Routability-driven Placement

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

Page 10: A SimPLR Method for Routability-driven Placement

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)

Page 11: A SimPLR Method for Routability-driven Placement

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)

Page 12: A SimPLR Method for Routability-driven Placement

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)

Page 13: A SimPLR Method for Routability-driven Placement

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)

Page 14: A SimPLR Method for Routability-driven Placement

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)

Page 15: A SimPLR Method for Routability-driven Placement

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)

Page 16: A SimPLR Method for Routability-driven Placement

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)

Page 17: A SimPLR Method for Routability-driven Placement

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)

Page 18: A SimPLR Method for Routability-driven Placement

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)

Page 19: A SimPLR Method for Routability-driven Placement

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

Page 20: A SimPLR Method for Routability-driven Placement

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

Page 21: A SimPLR Method for Routability-driven Placement

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

Page 22: A SimPLR Method for Routability-driven Placement

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

Page 23: A SimPLR Method for Routability-driven Placement

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

Page 24: A SimPLR Method for Routability-driven Placement

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

Page 25: A SimPLR Method for Routability-driven Placement

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

Page 26: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 26

LAR: 2.5-d Grid to 2-d Grid

Routing Grid Placement Grid

Page 27: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 27

LAR: 2.5-d Grid to 2-d Grid

Routing Grid Placement Grid

V

H P

Page 28: A SimPLR Method for Routability-driven Placement

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

Page 29: A SimPLR Method for Routability-driven Placement

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)

Page 30: A SimPLR Method for Routability-driven Placement

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

Page 31: A SimPLR Method for Routability-driven Placement

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 =

Page 32: A SimPLR Method for Routability-driven Placement

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

Page 33: A SimPLR Method for Routability-driven Placement

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

Page 34: A SimPLR Method for Routability-driven Placement

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

Page 35: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 35

Ex: Lookahead Legalization

Lookahead Legalization (LAL) regulates local cell density to meet the given target utilization.

Page 36: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 36

Ex: Lookahead Routing

Lookahead Routing (LAR) estimates regions with routing congestion.

Page 37: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 37

Ex: Routability-driven Cell Bloating

Cells in congested regions are bloated

Page 38: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 38

Ex: LAL Without Target Density Control

Subsequent LAL regulates local cell density

Page 39: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 39

Ex: LAL With Target Density Control

Target density control allows more packing in uncongested regions.

Page 40: A SimPLR Method for Routability-driven Placement

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

Page 41: A SimPLR Method for Routability-driven 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

Page 42: A SimPLR Method for Routability-driven Placement

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

Page 43: A SimPLR Method for Routability-driven Placement

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

Page 44: A SimPLR Method for Routability-driven Placement

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)

Page 45: A SimPLR Method for Routability-driven Placement

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

Page 46: A SimPLR Method for Routability-driven Placement

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

Page 47: A SimPLR Method for Routability-driven Placement

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

Page 48: A SimPLR Method for Routability-driven Placement

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

Page 49: A SimPLR Method for Routability-driven Placement

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

Page 50: A SimPLR Method for Routability-driven Placement

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

Page 51: A SimPLR Method for Routability-driven Placement

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

Page 52: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 52

Thank you!

Any Questions?

Page 53: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 53

Backup Slides

Page 54: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 54

Empirical Results: Extended timeouts

Page 55: A SimPLR Method for Routability-driven Placement

International Conference on CAD (ICCAD) 2011 55

Final Product: SUPERBLUE15

ISPD 2011 Routability-driven Contest (Best)

SimPLR

Page 56: A SimPLR Method for Routability-driven Placement

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