31
06/13/22 1 Routing Prof. Shiyan Hu [email protected] Office: EERC 731

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

  • View
    223

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

1004/18/23

Experimental Results of BPRIM Algorithm

Page 11: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/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: 6/29/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2404/18/23

Interconnect Designs Under Distributed RC Delay Model [Cong-Leung-Zhou, DAC’93]

• Routing Tree T: connects the source with a set of sinks

• plk(T): pathlength from sink k to source in T

Fd

driverZ0 Z0

Z0

Z0

Z0

Z0

Z0

C0R0

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

2504/18/23

Interconnect Topology Design Formulation Under Distributed RC Delay Model

• Objective: Minimize

Constant .......... )(

QMST .......... )()(

SPT .......... )()(

MST .......... )()(

)()()()(

)))((( )(

sinks all4

nodes all003

sinks all002

01

4321

nodes all00

nodes all

kkd

kk

kk

d

kkkd

kkk

CRTt

TplCRTt

TplCRTtTlengthCRTt

TtTtTtTt

CCTplRRCRTt

k

kk

k TplTplT nodes all sinks all

)()()(length

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

2604/18/23

Comparison of Three Types of Trees

MST SPT QMST

MST cost 9(optimal) 11 10

SPT cost 37 29 (optimal) 31

QMST cost 45 36 34 (optimal)

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

2704/18/23

Impact of Resistance Ratio

• Definition: Rd/R0

Driver resistance versus unit wire resistance

• Determined by the Technology:

Reduce device dimension

QMST .......... )()(

SPT .......... )()(

MST .......... )(length)(

nodes all003

sinks all002

01

kk

kk

d

TplCRTt

TplCRTtTCRTt

• Impact on Interconnect Optimization:• Why Minimum-cost shortest path tree is useful

R0

Rd/R0

Rd

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

2804/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 29: 6/29/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2904/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 30: 6/29/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3004/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 31: 6/29/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

3104/18/23

Maze Routing

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