interconnect topology optimizationeda.ee.ucla.edu/ece902_pd/bak/routing.pdf · steiner elmore...

18
1 Interconnect Topology Optimization Interconnect Topology Design Total wire length minimization Minimum spanning tree Steiner tree Path length minimization Bounded radius bounded cost (BRBC) tree A-tree Delay minimization WBA-tree P-tree Rats-tree

Upload: others

Post on 22-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

1

Interconnect Topology Optimization

Interconnect Topology Design

■ Total wire length minimization

z Minimum spanning tree

z Steiner tree

■ Path length minimization

z Bounded radius bounded cost (BRBC) tree

z A-tree

■ Delay minimization

z WBA-tree

z P-tree

z Rats-tree

Page 2: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

2

Prim Algorithm for Minimum Spanning Trees

■ 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

Steiner Tree

■ Steiner points and Steiner tree problem

■ Heuristic algorithms for Steiner tree problem

z Edge-merging based algorithm

z 1-Steiner algorithm

z Edge-insertion based algorithm

Page 3: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

3

Merging-based Steiner Tree

1-Steiner Tree

Page 4: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

4

Edge-Insertion based Steiner Tree

Interconnect Topology Optimization Under Linear Delay Model [Cong-Kahng-Robin, T-CAD’92]

■ 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.

Page 5: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

5

Example: A Routing Problem

Source Source

Critical sinkCritical sink

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 endpoints (other weights are ok).

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

ssource

routing tree

r(T)

radius of the net

Page 6: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

6

Problem Formulation

■ 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=1,cost=4.95

sourceε=1

radius=1.77,cost=4.26

source

ε= ∞radius=4.03,cost=4.03

trade-off between radius and the cost of routing trees

BPRIIM Algorithm Bounded-Radius Minimum Spanning Trees

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

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

z Slack εR is introduced at each backtrace so we do not have tobacktrace too often.

S

XY

S

XY

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

≤(1+ ε)R distT(s,x’)+cost(x’,y)≤R

Page 7: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

7

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

■ Construct MST and SPT, Q = MST;■ Construct 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.

ss

depth-first tour L

MST

L

s

Li’ Li

Graph Qif S=distL(Li’,Li) ≥ ε distSPT(S, Li)then add minpathSPT(s, Li) to Q and reset S =0

BRBC Trees Have Bounded Radius

■ Theorem 1: r(T) ≤(1+ ε ) RProof: 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) ≤ ε RTherefore,

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

≤ distSPT(s,y) +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 8: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

8

BRBC Trees Have Bounded Cost■ Theorem 2: cost(T) ≤ (1+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)0

21(

)(cost0

2)(cost

)(cost0

1)(cost

),(0

1)(cost

),()(cost)(cost

11

1

MST

MSTMST

LMST

MST

sMSTQ

k

iiiL

k

iiSPT

vvdist

vdist

+≤

+≤

+≤

+≤

+=

=−

=

s Graph Q

s

vi-1 vi

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

tour L

Related work by [Awarbuch - Baratz - Peleg, PODC-90]

Interconnect Topology Design Formulation Under Distributed RC Delay Model

■ Objective: Minimize

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

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

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

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

)()()()(

)))((( )(

sinks all4

nodes all003

sinks all002

01

4321

nodes all00

nodes all

∑∑

++∑∑

•=

••=

••=

••=

+=

+•+==

kkd

kk

kk

d

kkkd

kkk

CRTt

TplCRTt

TplCRTtTCRTt

TtTtTtTt

CCTplRRCRTt

∑∑ •+•+•k

kk

k TplTplT nodes all sinks all

)()()(length γβα

Page 9: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

9

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:

R0

Rd/R0

Rd

Comparison of Three Types of Trees

OST SPT QMST

OST cost 9(optimal) 11 10

SPT cost 37 29 (optimal) 31

QMST cost 45 36 34 (optimal)

Page 10: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

10

Results on Interconnect Topology Optimization

■ Advantage of A-tree:

❀ Always a SPT (t2(T) is minimum)

❀ Minimizing t1(T) Minimizing t3(T) for most A-trees

■ Objective: Minimize the total wirelength of A-tree:

❀ Simultaneous minimization of t1(T),t2(T) and t3(T).

A-TREE: Generalized Rectilinear Minimum Steiner Arborescence

Steiner Tree A-Tree

Rectilinear Steiner Arborescence Algorithm [Rao-Sadayappan-Huang ’92]

■ RSA: Rectilinear Steiner Arborescence (shortest path Steiner tree), A-tree in short

■ RSA algorithmz Start with a forest of n single-node A-trees, repeatedly

combining two A-trees into a new one

Page 11: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

11

Performance of RSA Algorithm

■ Time Complexity O(n log n).

■ Wirelength of the tree by RSA algorithm

≤ 2 length(RSMA)

z RSMA: Rectilinear Steiner Minimum Arborescence

A-tree Algorithm[Cong-Leung-Zhou, DAC’93]

■ Start with a forest of n single-node A-trees

■ Apply a sequence of movesD Grow an existing A-tree, orD Combine two A-trees into a new one

■ Terminate when only one A-tree is left

Page 12: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

12

A-tree Algorithm(Cont’d)■ p dominates q if px >= qx and py >= qy.

z DOM(p, Fk): the set of nodes in Fk dominated by p.■ Given a node p, define

z NW(p): {(x, y)| x < px, y > py}. z SE(p), SW(p), NE(p), N(p), S(p), W(p), E(p) similarly.

■ Given node p, define:z MF(p, Fk) -- nodes in DOM(p, Fk) with minimum rectilinar

distance from p,z df(p, Fk) -- the distance from p to any node in MF(p, Fk).z mfwest(p, Fk) -- the one with smallest x-coordinate in MF(p, Fk).z mfsouth(p, Fk) defined similarly.

A-tree Algorithm(Cont’d)

■ Given p as a root in Fk:

z mx(p, Fk) -- the node in NW(p) ∩ ROOT(Fk), not blocked from p and have the minimum horizontal distance from p.

z dx(p, Fk) -- the horizontal distance between p and mx(p, Fk) (or∝ if mx(p, Fk) doesn’t exist)

z my(p, Fk), dy(Fk) similarly defined

Page 13: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

13

Type-1 Safe Move

p

mx

mf

my

dx(p, Fk) >= df(p, Fk)

dy(p, Fk) >= df(p, Fk)

Move:

p to mfwest(p, Fk)

“Combine” two A-trees into a new one

Type-2 Safe Movep

my

mx

mfsouth

my

mx

mfsouth

p’

p

p’

dx(p, Fk) >= df(p, Fk)

dy(p, Fk) < df(p, Fk)

Move:

southward, p to p’ with length

min{disty(mfsouth(p, Fk), p), dy(p, Fk)}

Page 14: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

14

Type-3 Safe Movep

my

mx

mfwest

p’

p

my

mx

mfwest

p’

dx(p, Fk) < df(p, Fk)

dy(p, Fk) >= df(p, Fk)

Move:

westward, p to p’ with length

min{distx(mfwest(p, Fk), p), dx(p, Fk)}

Heuristic Moves

■ Type-1 and Type-2 Heuristic Moves:❀ “Combines” two A-trees into a new one

H1: select node p such that p’=mfwest(p, Fk) is farthest away from the source and introduce a path fromp to p’

H2: select two nodes p1, p2 such that p’=(min{(p1)x, (p2)x}, min{(p1)y, (p2)y}) is farthest away from the source and connect p1 and p2 to p’

Page 15: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

15

Optimality of a Move

■ Definitions:❀ Fk is the forest constructed after the k-th move by the A-tree

algorithm❀ T(Fk) is the minimum-cost rectilinear Steiner A-tree

containing Fk as a subgraph

■ T(F0) is the optimal A-treeT(Fm) is the A-tree constructed by our algorithm

■ Optimality of a Move:❀ If cost(T(Fk))=cost(T(Fk+1)) then the k+1-th is called an

optimal move

■ Theorem All three types of safe moves are optimal moves

Lower Bound Computation of Optimal A-Tree

■ Lower Bound Computation:❀ After the k-th move, we can compute an upper bound ERRORk of

cost(T(Fk+1)) - cost(T(Fk))

❀ Note that(i) ERRORk=0 if the k-th move is a safe move(ii) ERRORk>0 if the k-th move is a heuristic move

❀ cost(T) ≤ cost(T*) + Σk ERRORk

T: constructed by the A-tree algorithmT*: optimal A-tree

■ Results obtained from the Lower Bound Computation:

❀ 94% of the moves are safe moves❀ 45% of the A-trees constructed by the algorithm are optimal❀ the A-trees constructed by the algorithm are at most 4% from

optimal

Page 16: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

16

Steiner Elmore Routing Tree(SERT) Heuristic[Boese-Kahng-Robins, DAC’93]

■ Use Elmore Delay Model directly in construction of routing tree T

■ Add nodes to T one-by-one like Prim’s MST algorithm.

■ At each step, choose v ∉ T and u ∈ T s.t.(i) The linear weighted Elmore-delay to the critical sinks has minimum

increase (SERT-C algorithm) or(ii) The maximum Elmore-delay to any sink has minimum increase

(SERT algorithm).

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 criticalsource

7 7

87

3

4

2

1

6

5

9

d) Node 6 critical

source

8

3

4

2

1

6

5

9source

8

3

4

2

1

6

5

9

f) Node 9 criticalsource

7 7

e) Node 8 critical

(also Steiner ERT)

Page 17: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

17

Some Theoretical Results on Optimal Routing Tree Under Elmore Delay Model

[Boese-Kahng-McCoy-Robins, DAC’94]

■ When minimizing linear weighted Elmore delay to the critical sinks, there exists optimal tree on the Hanan-grid.

■ When minimizing maximum Elmore delay in routing tree, optimal tree may not lie on the Hanan-grid.

(2,3)(c=0)(1,3)(c=0)

(1.63,2)(c=0.37)

(2,0)(c=0)(0,0)(R=1.75)

(1.5,0)source

unit R=1, unit c=1

Performance Driven Multisource Routing Problem[Cong-Madden, ISCAS ‘95]

■ Previous work:Assume a single source driving one or more sink nodes

■ Contribution:First work to address nets where each pin may act as a source, sink, or both.

■ Signal busses are examples of multisource nets.

Page 18: Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore Routing Tree(SERT) Heuristic [Boese-Kahng-Robins, DAC’93] Use Elmore Delay Model directly

18

An Example Multisource Routing Problem

Minimize ΣW(i,j)×delay(pi,pj) weighted delay

L(T) total tree length