36
10/30/22 1 Routing Prof. Shiyan Hu [email protected] Office: EERC 731

5/14/2015 1 Routing Prof. Shiyan Hu [email protected] Office: EERC 731

Embed Size (px)

Citation preview

Page 1: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

04/18/23 1

Routing

Prof. Shiyan Hu

[email protected]

Office: EERC 731

Page 2: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

204/18/23

Interconnect Topology Optimization

• Problem: given a source and a set of sinks, build the best interconnect topology to minimize different design objectives:– Wire length: traditional (lower capacitance load, and overall

congestion)– Performance: Nanoscale circuits– New interest: speed and other non-traditional routing

architecture

• In most cases, topology means tree– Because tree is the most compact structure to connect

everything without redundancy – Delay analysis is easy

Page 3: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

304/18/23

Terminology• For multi-terminal net, we can easily construct a

tree (spanning tree) to connect the terminals together.

• However, the wire length may be unnecessarily large.

• Better use Steiner Tree:– A tree connecting all terminals as well as other

added nodes (Steiner nodes).• Rectilinear Steiner Tree:

– Steiner tree such that edges can only run horizontally and vertically.

– Manhattan planes– Note: X (or Y)-architecture (non-Manhanttan)

Steiner Node

Page 4: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

404/18/23

Prim’s Algorithm for Minimum Spanning Tree

• Grow a connected subtree from the source, one node at a time.

• At each step, choose the closest un-connected node and add it to the subtree.

s

X

Y

Page 5: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

504/18/23

Interconnect Topology Optimization Under Linear Delay Model

Conventional Routing Algorithms Are Not Good Enough Minimum spanning tree may have very long source-sink path. Shortest path tree may have very large routing cost.

Want to minimize path lengths and routing cost at the same time.

Page 6: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

604/18/23

Performance-Driven Interconnect Topology Design

• BPRIM & BRBC (bounded-radius bounded-cost) algorithm – [Cong et al, ICCD’91, TCAD’92]

• RSA algorithm (for Min. Rectilinear Steiner Arborescences)– [Rao-Sadayappan-Hwang-Shor, Algorithmica’92]

• Prim-Dijkstra tradeoff algorithm– [Alpert et al, TCAD 1995]

• SERT algorithm (Steiner Elmore Routing Tree)– [Boese-Kahng-McCoy-Robins, TCAD-95]

• MVERT algorithm (Minimum Violation Elmore Routing Tree)– [Hou-Hu-Sapatnekar, TCAD-99]

• BINO alg. (Buffer Insertion and Non-Hanan Optimization)– [Hu-Sapatnekar, ISPD-99]

• ……

Page 7: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

704/18/23

Definitions

Given Net N with source s and connected by tree T.• Radius of net N: distance from the source to the furthest sink.• Radius of a routing tree r(T): length of the longest path from the

root to a leaf.• Cost of an edge: distance between two.• Cost of a routing tree cost(T): sum of the edge costs in T.

• minpathG(u,v): shortest path from u to v in G

• distG(u,v): cost of minpathG(u,v).

sources

routing tree

r(T)radius of the net

Page 8: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

804/18/23

First Idea: Bounded Radius Minimum Spanning Tree

[Cong-Kahng-Robin-Sarrafzadeh-Wong, ICCD-91]

• Basic Idea: Restrict the tree radius while minimizing the routing cost• Bounded radius minimum spanning tree problem (BRMST):

Given a net N with radius R,find a minimum cost tree with radius r(T)(1+ )R

Parameter controls the trade-off between radius and cost = minimum spanning tree; = 0 shortest path tree

source = 0

radius = 1cost = 4.95

source = 1

radius = 1.77cost = 4.26

source =

radius = 4.03cost = 4.03

trade-off between radius and the cost of routing trees

Page 9: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

904/18/23

BPRIM Algorithm forBounded-Radius Minimum Spanning Trees

Given net N with source s and radius R, and parameter . Grow a connected subtree T from the source, one node at a

time At each step, choose the closest pair x T and y N-T

If distT(s, x) + cost(x,y) (1+)R, add (x,y) Else backtrack along minpathT(s,x) to find x’ such that

distT(s, x’) + cost(x’, y) R, then add (x’, y)

Slack R is introduced at each backtrace so we do not have to backtrace too often.

x

s

y

distT(s,x)+cost(x,y)

(1+ )R

s

xy

x’ distT(s,x’)+cost(x’,y)R

Page 10: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1004/18/23

Experimental Results of BPRIM Algorithm

Page 11: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1104/18/23

A Pathological Example for BPRIM Algorithm

• BPRIM can be arbitrarily bad.

x

y

source s

all leaves connectdirectly to the source

x

y

source s

Optimal Solution Solution by BPRIM

Page 12: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1204/18/23

An Improved Algorithm -- BRBC [Cong-Kahng-Robin-Sarrafzadeh-Wong, T-CAD’92]

• Construct MST and SPT, Q = MST;• Construct list L -- a depth-first tour of MST;• Traverse L while keeping a running total S of traversed edge costs,

when reaching Li

If S distSPT(s, Li) then add minpathSPT(s, Li) to Q and reset S = 0,

Else continue traverse L;• Construct the shortest path tree T of Q.

s

Graph Q

L

s

Li’ Li

if S=distL(Li’,Li) distSPT(S, Li)

then add minpathSPT(s, Li) to Q and reset S =0, Li’ = Li

s

depth-first tour Lfor MST

1 2

3 4

56

78

910

Page 13: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1304/18/23

BRBC Trees Have Bounded Radius

Theorem 1: r(T) (1+ ) R

Proof: For any vertex x, let y be the last vertex before x in L that we add minpathSPT(s, L).

By the choice of y, we have

distL(y,x) distSPT(s,x) R

Therefore,

distQ(s,x) distQ(s,y) +distQ(y,x)

R+distL(y,x)

R+R =(1+ )R

s Graph Q

y x

distL(y,x) distSPT(S, x)

R

tour Ls

y

x

distSPT(s,y)

R

Page 14: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1404/18/23

BRBC Trees Have Bounded Cost

• Theorem 2: cost(T) (2+2/ ) cost(MST).

• Proof: Let v1 v2 … vk be the vertices that we add minpathSPT(s,vi)

Note that T is a subgraph of Q

)(cost)ε

22(

)(costε

2)(cost2

)(costε

1)(cost2

),(ε

1)(cost2

),()(cost2)(cost

11

1

MST

MSTMST

LMST

vvdistMST

vsdistMSTQ

k

iiiL

k

iiSPT

s Graph Q

s

vi-1 vi

distL(vi-1,vi) distSPT(S, vi)

tour L

• Idea borrowed from [Awarbuch - Baratz - Peleg, PODC-90]

Page 15: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1504/18/23

Experimental Results of BRBC Algorithm

Rad

ius,

as

frac

tion

of M

ST

rad

ius

Cos

t, as

frac

tion

of M

ST

cos

t

Page 16: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1604/18/23

Prim-Dijkstra Algorithm

Prim’sMST

Dijkstra’sSPT

Trade-off

Page 17: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1704/18/23

Prim’s and Dijkstra’s Algorithms

• d(i,j): length of the edge (i, j)• p(j): length of the path from source to j• Prim: d(i,j) Dijkstra: d(i,j) + p(j)

d(i,j)

p(j)

Page 18: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1804/18/23

The Prim-Dijkstra Trade-off: AHHK Tree

• Prim: add edge minimizing d(i,j)• Dijkstra: add edge minimizing p(i) + d(i,j)• Trade-off: c(p(i)) + d(i,j) for 0 <= c <= 1• When c=0, trade-off = Prim• When c=1, trade-off = Dijkstra

Page 19: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1904/18/23

Conventional Rectilinear Steiner Tree• Extensive studies, even outside the VLSI design community• Minimize total wire length• 1-Steiner and iterated 1-Steiner [Kahng-Robins, 1992]

– One steiner point is added at each step– Good performance but slow: O(n4logn)

• Recent result– Efficient Steiner Tree Construction Based on Spanning Graphs [p.

152] , H. Zhou ISPD 2003• O(nlogn)

– Highly Scalable Algorithms for Rectilinear and Octilinear Steiner Trees [p. 827] by A.B. Kahng, I.I. Mándoiu, A.Z. Zelikovsky ASPDAC 2003

• O(nlog2n)

Page 20: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2004/18/23

Hanan’s Result on Rectilinear Steiner Tree

• [Hanan, SIAM J. Appl. Math. 1966]• For rectilinear Steiner tree construction, there exists a routing

tree with minimum total wire length on the grid formed by horizontal and vertical lines passing through source and sinks.

sourceHanan nodes

Hanan Grid

Page 21: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2104/18/23

Rectilinear Steiner Arborescence Algorithm [Rao-Sadayappan-Hwang-Shor, Algorithmica’92]

Given n nodes lying in the first quadrant Purpose is to maintain shortest paths from source to sink and minimize

total wire length RSA algorithm

Start with a forest of n single-node A-trees. Iteratively substituting min(p,q) for pair of nodes p, q

where min(p,q) = (min{xp, xq}, min{yp, yq}). The pair p, q are chosen to maximize ||min(p,q)|| over all current nodes.

p

q

min(p,q)

Page 22: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2204/18/23

r r r

rrr

Example of RSA Algorithm

Page 23: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2304/18/23

Performance of RSA Algorithm

Time Complexity O(n log n) when implemented using a plane-sweep technique.

Wirelength of the tree by RSA algorithm 2 x Optimal solution (i.e., 2

x wirelength of minimum Rectilinear Steiner Arborescence

Page 24: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2404/18/23

Steiner Elmore Routing Tree (SERT) Heuristic[Boese-Kahng-McCoy-Robins, TCAD’95]

• Use Elmore Delay Model directly in construction of routing tree T.• Add nodes to T one-by-one like Prim’s MST algorithm.• Two versions:

(i) SERT Algorithm:

• At each step, choose v T and u T s.t. the maximum Elmore-delay to any sink has minimum increase.

(ii) SERT-C Algorithm:

• SERT with identified critical sink

• First connect the critical sink to the source by a shortest path,

then continues as in SERT, except that we minimize the Elmore delay of the critical sink rather than the max. delay.

Page 25: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2504/18/23

Steps of SERT Algorithm

8

3

4

2

1

6

5

9source

78

3

4

2

1

6

5

9source

78

3

4

2

1

6

5

9source

7

8

3

4

2

1

6

5

9source

78

3

4

2

1

6

5

9source

78

3

4

2

1

6

5

9source

7

Page 26: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2604/18/23

Examples of SERT-C Construction

87

3

4

2

1

6

5

9

a) Node 2 or 4 critical

source

8

3

4

2

1

6

5

9

b) Node 3 or 7 critical (also 1-Steiner tree)

source

8

3

4

2

1

6

5

9

c) Node 5 critical

source

7 7

87

3

4

2

1

6

5

9

d) Node 6 critical

source

8

3

4

2

1

6

5

9

f) Node 9 critical

source

7

e) Node 8 critical (also SERT)

8

3

4

2

1

6

5

9source

7

Page 27: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2704/18/23

Maze Routing

• http://foghorn.cadlab.lafayette.edu/MazeRouter.html

Page 28: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

04/18/23 28

Global Routing

Prof. Shiyan [email protected]: EERC 731

Page 29: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2904/18/23

Global Routing Approaches

• Sequential Approach– Net ordering based approach

• Concurrent Approach– Integer Programming

Page 30: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3004/18/23

Net Ordering

• In sequential approach, we need some net ordering.• A bad net ordering will increase the total wire length,

and may even prevent completion of routing for some circuits which are indeed routable.

A

A

B

B

B first (Good order)

A

AB

B

A first(Bad order)

Page 31: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3104/18/23

Criteria for Net Ordering

• Criticality of net - critical nets first.• Estimated wire length - short nets first since they are

less flexible.• Consider bounding rectangles (BR):

A

AB

B

B is in A’s BR

Page 32: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3204/18/23

Net Ordering (cont’d)

Page 33: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3304/18/23

Concurrent Approach

• Consider all the nets simultaneously.• Formulate as an integer program.• Given:

Lij = Total wire length of Tij

Ce = Capacity of edge e• Determine variable xij s.t. xij = 1 if Tij is used xij = 0 otherwise.

Tn1, Tn2, ... , Tnknnet n

::

::

T11, T12, ...... , T1k1net 1

Set of possible routing treesNets

Page 34: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3404/18/23

Integer Program Formulation

jix

eCx

nix

xL

ij

eijTeji ij

ik

j ij

n

i

ik

j

ijij

,1or 0

edge allfor

,,1 allfor 1 s.t.

Min.

s.t. ,

1

1 1

Page 35: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3504/18/23

Concurrent Approach: Example

Possible trees:Possible trees:

net 1:net 1: 22 33 33

net 2:net 2: 22 33 33

net 3:net 3: 22 22

1122

3322

11331122

SolutionSolution

1122

3322

11331122

;,1or 0

;1

;1

;1

s.t.

22332332 Min.

3231

232221

131211

3231232221131211

jix

xx

xxx

xxx

xxxxxxxx

ij

What are the constraintsfor edge capacity?

aCxxxxx 3123221312

Page 36: 5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3604/18/23

Integer Programming Approach

Standard techniques to solve IP. No net ordering. Give global optimum. Can be extremely slow, especially for large problems. To make it faster, a fewer choices of routing trees for

each net can be used. Determining a good set of choices of routing trees is a

hard problem by itself.