multi-layer global routing considering via and wire capacities

30
1 Multi-layer Global Routing Considering Via and Wire Capacities Chin-Hsiung Hsu , Huang-Yu Chen, and Yao-Wen Chang National Taiwan University, Taiwan

Upload: zudora

Post on 30-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Multi-layer Global Routing Considering Via and Wire Capacities. Chin-Hsiung Hsu , Huang-Yu Chen, and Yao-Wen Chang. National Taiwan University, Taiwan. Outline. Via Capacity. Problem Formulation. Routing Flow. Aerial-Monotonic Routing. Routing Techniques. Escaping-Point Routing. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multi-layer Global Routing  Considering Via and Wire Capacities

1

Multi-layer Global Routing Considering Via and Wire Capacities

Chin-Hsiung Hsu, Huang-Yu Chen,

and Yao-Wen Chang

National Taiwan University, Taiwan

Page 2: Multi-layer Global Routing  Considering Via and Wire Capacities

Outline

2

Problem Formulation

Routing Flow

Routing Techniques

Experimental Results

Conclusions

Via Capacity

Aerial-Monotonic

Routing

Escaping-Point Routing

Multi-Source Multi-Sink Monotonic

Routing

Page 3: Multi-layer Global Routing  Considering Via and Wire Capacities

Outline

3

Problem Formulation

Routing Flow

Routing Techniques

Experimental Results

Conclusions

Via Capacity

Aerial-Monotonic

Routing

Escaping-Point Routing

Multi-Source Multi-Sink Monotonic

Routing

Page 4: Multi-layer Global Routing  Considering Via and Wire Capacities

Problem Formulation

․ Prioritized objectives of global routing:1. minimize the total wire and via overflow

2. minimize the maximum overflow

3. minimize the weighted total wirelength WL is weighted by CPU time

4

Tile

Tile Boundary

Global Tile Node Global Edge

xy

z

Page 5: Multi-layer Global Routing  Considering Via and Wire Capacities

Motivation

․ Common pitfall of ISPD global routing contests Via usage in congested tiles is in excess

5

Estimated Demand

Resources

Lower-bound Demand

Stacked ViaStacked Via

TileTile

WireWire

Unstacked ViaUnstacked Via

adaptec1adaptec2

adaptec3adaptec4

adaptec5newblue2

Page 6: Multi-layer Global Routing  Considering Via and Wire Capacities

Stacked Vias in 3D Global Routing

․ The metrics of ISPD global routing contest are over-simplified

․ 3D global routing should consider via usage, especially stacked vias

․ Stacked vias pass through at least one metal layer and occupy extra resources

6

Horizontal Cross-Tile Wire Horizontal Cross-Tile Wire

Vertical Cross-Tile Wire Vertical Cross-Tile Wire

Remaining Position for Stacked Vias

Remaining Position for Stacked Vias

Stacked ViaStacked Via

Unstacked ViaUnstacked Via

Page 7: Multi-layer Global Routing  Considering Via and Wire Capacities

Dynamic Via Capacity

․ Via capacity on a global tile (Cv ): Obstacles and in-tile wires should be considered Cv = remaining_area / via_area

= (At – Ao – Ai – Aw) / via_area

Via capacity changes dynamically because # of cross-tile wires may change during rerouting

7

Ai: area of in-tile wiresAi: area of in-tile wires

Remaining area for Stacked Vias

Remaining area for Stacked Vias

At: area of tileAt: area of tile

Ao: area of obstaclesAo: area of obstacles

Aw: area of cross-tile wiresAw: area of cross-tile wires

Page 8: Multi-layer Global Routing  Considering Via and Wire Capacities

Outline

8

Problem Formulation

Routing Flow

Routing Techniques

Experimental Results

Conclusions

Via Capacity

Aerial-Monotonic

Routing

Escaping-Point Routing

Multi-Source Multi-Sink Monotonic

Routing

Page 9: Multi-layer Global Routing  Considering Via and Wire Capacities

Routing Flow

9

Initial Routing

MST Net Decomposition

Least-Flexibility-First Routing

2D Monotonic Routing

Escaping-Point Routing

Aerial-Monotonic Routing

Negotiation-Based Rip-Up and Rerouting

A*-Search Routing

2D Rerouting(Wire Overflow)

Via-Overflow-AwareLayer Assignment

3D Rerouting(Via Overflow)

Page 10: Multi-layer Global Routing  Considering Via and Wire Capacities

Via-Overflow-Aware Layer Assignment

․ Layer assignment is performed for subnets in the non-decreasing order of their wirelength Least-flexibility subnets first

․ Cost function is prioritized by:1. inducing wire overflow

2. inducing via overflow

3. using a via or a wire

․ For inheriting 2D routing results, we minimize via overflow without increasing wire overflow

10

Page 11: Multi-layer Global Routing  Considering Via and Wire Capacities

Outline

11

Problem Formulation

Routing Flow

Routing Techniques

Experimental Results

Conclusions

Via Capacity

Aerial-Monotonic

Routing

Escaping-Point Routing

Multi-Source Multi-Sink Monotonic

Routing

Page 12: Multi-layer Global Routing  Considering Via and Wire Capacities

Routing Paths

12

․ General monotonic routing path: No detour hard to avoid congested regions 3D monotonic routing path is not practical because pins

locate on the lowest layer and wires locate on upper layers

․ 3D aerial-monotonic routing path: In aerial view, it is monotonic In lateral view, it can detour

․ Escaping-point routing path: Allowing detour easy to avoid congested regions It is composed of 2 monotonic

routing paths

Net Bounding Box

s

t

s

t

Page 13: Multi-layer Global Routing  Considering Via and Wire Capacities

2D (Planar) Routing Techniques

․ Solution space and complexity comparisons

13

L/Z Shaped Routing

Monotonic Routing

Escaping-Point

Routing

Maze Routing

O(V) O(VlgV)

gapO(V)

V: # of nodes in search space

Fast Not allowing detour

Slow

Allowing detour

Fast

Allowing detour

Increasing solution space

s

t

Page 14: Multi-layer Global Routing  Considering Via and Wire Capacities

gap

3D Routing Techniques

․ Solution space and complexity comparisons

14

3D L/Z Shaped Routing

3D Aerial-Monotonic

Routing

Aerial Escaping

-Point Routing

3D Maze Routing

O(V) O(VlgV)O(V)

t

s

t

s

t

s

t

s

Increasing solution space

Page 15: Multi-layer Global Routing  Considering Via and Wire Capacities

gap

Topology-Restructuring Routing Techniques

․ Solution space and complexity comparisons

15

Multi-Source Multi-Sink Monotonic

Routing

Multi-Source Multi-Sink

Escaping-Point Routing

Multi-Source Multi-Sink

Maze Routing

O(VlgV)O(V)

Proposed by M. Pan and C. Chu

in ASPDAC’07

Increasing solution space

Page 16: Multi-layer Global Routing  Considering Via and Wire Capacities

Outline

16

Problem Formulation

Routing Flow

Routing Techniques

Experimental Results

Conclusions

Via Capacity

Aerial-Monotonic

Routing

Escaping-Point Routing

Multi-Source Multi-Sink Monotonic

Routing

Page 17: Multi-layer Global Routing  Considering Via and Wire Capacities

Difficulty of Aerial-Monotonic Routing (AMR)

․ 2D monotonic routing: Routing graph is directed acyclic Existing shortest path algorithm can

find an optimal solution in linear time

․ 3D aerial-monotonic routing: Routing graph contains cycles and

is NOT directed acyclic Existing shortest path algorithm

cannot find an optimal solution in linear time

17

t

s

t

s

Page 18: Multi-layer Global Routing  Considering Via and Wire Capacities

Aerial-Monotonic Routing (AMR)

18

․ Observation: aerial-monotonic routing path cannot go up and down in the same pile

․ Use 3D pile update to handle cycles in routing graph

aerial view

12

pile

12

12

4

3

4

3

Page 19: Multi-layer Global Routing  Considering Via and Wire Capacities

Multi-Source Multi-Sink AMR (MSAMR)

․ Aerial-monotonic propagation is based on topological relationship of source and target subtrees

Obstacle Obstacle Aerial-Monotonic Propagation

tt

sss’s’

t’t’

TsTs

TtTt

Box Covering TsBox Covering Ts Box Covering Tt

Box Covering Tt

19

t1t1

s2s2

TsTs Tt

Tt

s1s1

t1t1

s2s2

t2t2

s1s1

t2t2

2 propagations

TsTs Tt

Tt

s1s1

t1t1

s1s1

t1t1

1 propagation

t3t3 t4

t4

s1s1 s2

s2

TsTs

TtTt

++

s1s1

t1t1 t1

t1

s2s2

t2t2

s3s3s4

s4

t3t3 t4

t4

t2t2

s3s3s4

s4

4 propagations

Page 20: Multi-layer Global Routing  Considering Via and Wire Capacities

s

t

s

t

Two-phase Aerial-monotonic Routing (TAMR)

20

․ Two-phase search:

․ Finding escaping point: connect two

sub-paths detour out of the net

bounding box

s

tp

Page 21: Multi-layer Global Routing  Considering Via and Wire Capacities

Optimality

21

Algorithm AMR MSAMR TAMR TMSAMR

Find an optimal solution? Yes Yes Yes Yes

Run in O(V)? Yes Yes Yes Yes

Can it be applied to 3D? Yes Yes Yes Yes

Page 22: Multi-layer Global Routing  Considering Via and Wire Capacities

Outline

22

Problem Formulation

Routing Flow

Routing Techniques

Experimental Results

Conclusions

Via Capacity

Aerial-Monotonic

Routing

Escaping-Point Routing

Multi-Source Multi-Sink Monotonic

Routing

Page 23: Multi-layer Global Routing  Considering Via and Wire Capacities

Experimental Setting

․ C++ programming language

․ 2.0 GHz Intel Xeon Linux workstation

․ ISPD’07 benchmarks

23

Circuits Grids #Net #Pin

adaptec1 324x324 219794 824734

adaptec2 424x424 260159 911964

adaptec3 774x779 466295 1657913

adaptec4 774x779 515304 1706575

adaptec5 465x468 867441 2857283

newblue1 399x399 331663 1060921

newblue2 557x463 463213 1517918

newblue3 973x1256 551667 1612116

Page 24: Multi-layer Global Routing  Considering Via and Wire Capacities

․ NTUgr achieves the best overflow for newblue3 circuit

․ For overflow-free circuits, NTUgr achieves the best CPU time

24

FGR Archer Maize- NTHU- NTUgr Router Route (Ours)

FGR Archer Maize- NTHU- NTUgr Router Route (Ours)

Results on ISPD’07 Benchmarks

Page 25: Multi-layer Global Routing  Considering Via and Wire Capacities

Results on ISPD’07 Benchmarks

25

Circuit

FGR 1.1 Archer MaizeRouter NTHU-Route NTUgr (Ours)

OFWL CPU

OFWL CPU

OFWL CPU

OFWL CPU

OFWL CPU

(e5) (min) (e5) (min) (e5) (min) (e5) (min) (e5) (min)

adaptec1 0 88 432 0 114 87 0 100 143 0 91 90 0 91 16

adaptec2 0 90 42 0 113 23 0 100 91 0 92 14 0 92 5

adaptec3 0 199 238 0 244 51 0 210 158 0 205 59 0 203 22

adaptec4 0 183 33 0 222 12 0 191 26 0 188 8 0 188 2

adaptec5 0 259 932 0 334 248 0 303 4866 0 265 250 0 265 29

newblue1 310 94 1441 682 116 50 1372 100 892 352 91 42 62 92 1047

newblue2 0 132 10 0 167 7 0 139 14 0 136 3 0 133 3

newblue3 44854 173 1547 33394 199 163 32234 182 663 31800 168 319 31246 239 374

Comp.* - 0.98 15.79 - 1.23 4.67 - 1.07 36.06 - 1.01 4.01 - 1.00 1.00

Page 26: Multi-layer Global Routing  Considering Via and Wire Capacities

․ Dynamic via capacity: NTUgr achieves the

best results Via capacity changes

during rerouting

․ Fixed via capacity: NTUgr achieves the

best results For fair comparisons,

assume that 86% (90% and 94%) capacity is used

26

Results Considering Via Capacity

FGR Maize- Box- NTHU- NTUgr Router Router Route (Ours) 2.0

FGR Maize- Box- NTHU- NTUgr Router Router Route (Ours) 2.0

86%

Page 27: Multi-layer Global Routing  Considering Via and Wire Capacities

Results Considering Via Capacity

27

CircuitFGR 1.1 MaizeRouter BoxRouter 2.0 NTHU-Route NTUgr (Ours)

OF VOFWL (e5)

OF VOFWL (e5)

OF VOFWL (e5)

OF VOFWL (e5)

OF VOFWL (e5)

adaptec1 0 0 88 0 0 100 0 0 92 0 0 91 0 0 97

adaptec2 11900 11900 90 19097 19097 100 16617 16617 94 17179 17179 92 8560 8560 95

adaptec3 14 14 200 20 20 210 15 15 207 15 15 205 0 0 209

adaptec4 0 0 179 3 3 191 4 4 186 2 2 188 0 0 192

adaptec5 6864 6864 261 10430 10430 303 8558 8558 270 9129 9129 265 4343 4343 274

newblue1 385 151 91 1639 267 100 510 116 93 504 152 91 147 85 100

newblue2 5 5 129 13 13 139 13 13 135 11 11 136 0 0 138

Comp.* 2.68 1.86 1.00 8.73 3.08 1.10 3.54 1.97 1.04 3.58 2.24 1.03 1.00 1.00 1.07

Page 28: Multi-layer Global Routing  Considering Via and Wire Capacities

Outline

28

Problem Formulation

Routing Flow

Routing Techniques

Experimental Results

Conclusions

Via Capacity

Aerial-Monotonic

Routing

Escaping-Point Routing

Multi-Source Multi-Sink Monotonic

Routing

Page 29: Multi-layer Global Routing  Considering Via and Wire Capacities

Conclusions

․ Have developed an effective and efficient global router (NTUgr) considering via capacity

․ Define practical routing paths and propose corresponding routing algorithms to find optimal solutions

3D aerial-monotonic routing

Escaping-point routing

Multi-source multi-sink monotonic routing

29

Page 30: Multi-layer Global Routing  Considering Via and Wire Capacities

30

Conclusions and Future Work

․ A dummy fill algorithm considering both gradient minimization and coupling constraints

․ Achieve more balanced metal density distribution with fewer dummy features and an acceptable timing overhead

․ Future work: integration of gradient minimization and coupling constraints Simultaneously minimize the gradient and the

coupling capacitance

Thank You!

Chin-Hsiung Hsu

[email protected]