steiner tree
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 PresentationTRANSCRIPT
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
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
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
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.
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]
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
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
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
1004/22/23
Experimental Results of BPRIM Algorithm
1104/22/23
Prim-Dijkstra Algorithm
Prim’sMST
Dijkstra’sSPT
Trade-off
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)
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
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
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)
1604/22/23
r r r
rrr
Example of RSA Algorithm
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
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
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.
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
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
2204/22/23
Maze Routing
• http://foghorn.cadlab.lafayette.edu/MazeRouter.html
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
2504/22/23
Global Routing Approaches
• Sequential Approach– Net ordering based approach
• Concurrent Approach– Integer Programming
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)
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
2804/22/23
Net Ordering
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
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
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
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.