32
06/19/22 1 Steiner Tree Prof. Shiyan Hu [email protected] Office: EERC 518

Steiner Tree

  • Upload
    yehuda

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Steiner Tree. Prof. Shiyan Hu [email protected] Office: EERC 518. Interconnect Topology Optimization . Problem: given a net consisting of a source and a set of sinks, build the best interconnect topology to minimize different design objectives wire length and timing - PowerPoint PPT Presentation

Citation preview

Page 1: Steiner Tree

04/22/23 1

Steiner Tree

Prof. Shiyan [email protected]: EERC 518

Page 2: Steiner Tree

204/22/23

Interconnect Topology Optimization

• Problem: given a net consisting of a source and a set of sinks, build the best interconnect topology to minimize different design objectives– wire length and timing

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

everything without redundancy – Delay analysis is easy

Page 3: Steiner Tree

304/22/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: Steiner Tree

404/22/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: Steiner Tree

504/22/23

Interconnect Topology Optimization Under Linear Delay Model

Conventional 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: Steiner Tree

604/22/23

Timing-Driven Interconnect Topology Design

• BPRIM algorithm – [Cong et al, ICCD’91, TCAD’92]

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

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

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

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

Page 7: Steiner Tree

704/22/23

DefinitionsGiven 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: Steiner Tree

804/22/23

Bounded Radius Minimum Spanning Tree

• 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: Steiner Tree

904/22/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

x y

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

Page 10: Steiner Tree

1004/22/23

Experimental Results of BPRIM Algorithm

Page 11: Steiner Tree

1104/22/23

Prim-Dijkstra Algorithm

Prim’sMST

Dijkstra’sSPT

Trade-off

Page 12: Steiner Tree

1204/22/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 13: Steiner Tree

1304/22/23

The Prim-Dijkstra Trade-off

• 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 14: Steiner Tree

1404/22/23

Hanan Theorem

• 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 15: Steiner Tree

1504/22/23

Rectilinear Steiner Arborescence Algorithm 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.

pq

min(p,q)

Page 16: Steiner Tree

1604/22/23

r r r

rrr

Example of RSA Algorithm

Page 17: Steiner Tree

1704/22/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 18: Steiner Tree

1804/22/23

Rectilinear Steiner Tree• Chris Chu and Yiu-Chung Wong, FLUTE: Fast Lookup Table

Based Rectilinear Steiner Minimal Tree Algorithm for VLSI Design. IEEE Transactions on Computer-Aided Design, vol. 27, no. 1, pages 70-83, January 2008

• Obstacle-avoiding Rectilinear Steiner Minimum Tree Construction: An Optimal Approach, Tao Huang and Evangeline F.Y. Young, Proceedings IEEE International Conference on Computer-Aided Design, 2010

Page 19: Steiner Tree

1904/22/23

Steiner Elmore Routing Tree (SERT) Heuristic

• 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 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 maximum delay.

Page 20: Steiner Tree

2004/22/23

Steps of SERT Algorithm

8

3

4

2

1

6

5

9 source

78

3

4

2

1

6

5

9 source

78

3

4

2

1

6

5

9 source

7

8

3

4

2

1

65

9 source

78

3

4

2

1

65

9 source

78

3

4

2

1

65

9 source

7

Page 21: Steiner Tree

2104/22/23

Examples of SERT-C Construction

8 7

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

source

8

3

4

2

1

6

5

9c) Node 5 critical

source

7 7

8 7

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

65

9 source

7

Page 22: Steiner Tree

2204/22/23

Maze Routing

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

Page 23: Steiner Tree

04/22/23 23

Global Routing

Prof. Shiyan [email protected]: EERC 518

Page 24: Steiner Tree

2404/22/23

Global Routing

• 2D Routing– Route all the nets

• Minimize total wirelength• Satisfy the congestion constraint or minimize the

overflow• 3D Layer Assignment

Page 25: Steiner Tree

2504/22/23

Global Routing Approaches

• Sequential Approach– Net ordering based approach

• Concurrent Approach– Integer Programming

Page 26: Steiner Tree

2604/22/23

Sequential Routing

• 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

AB

B

B first (Good order)

A

AB

B

A first(Bad order)

Page 27: Steiner Tree

2704/22/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 28: Steiner Tree

2804/22/23

Net Ordering

Page 29: Steiner Tree

2904/22/23

Concurrent Routing• 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 30: Steiner Tree

3004/22/23

Integer Program Formulation

jix

eCx

nix

xL

ij

eTeji ij

k

j ij

n

i

k

jijij

ij

i

i

,1or 0

edge allfor

,,1 allfor 1 s.t.

Min.

intersects s.t. ,

1

1 1

Page 31: Steiner Tree

3104/22/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

jixxx

xxxxxx

xxxxxxxx

ij

What are the constraintsfor edge capacity?

aCxxxxx 3123211312

Page 32: Steiner Tree

3204/22/23

Integer Programming Approach Standard techniques to solve integer programming. 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.