multi-layer global routing considering via and wire capacities
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 PresentationTRANSCRIPT
1
Multi-layer Global Routing Considering Via and Wire Capacities
Chin-Hsiung Hsu, Huang-Yu Chen,
and Yao-Wen Chang
National Taiwan University, Taiwan
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
․ 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
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
․ 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%
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
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
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
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