Download presentation
Presentation is loading. Please wait.
1
Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 518
Steiner Tree Prof. Shiyan Hu Office: EERC 518
2
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 Fixed voltage not good because of low power requirement General scaling.
3
Terminology Steiner Node
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
4
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. Y X s
5
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.
6
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]
7
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). r(T) radius of the net source s routing tree
8
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 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 Parameter controls the trade-off between radius and cost = minimum spanning tree; = 0 shortest path tree
9
BPRIM Algorithm for Bounded-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) x s y distT(s,x)+cost(x,y) (1+ )R s x y x’ distT(s,x’)+cost(x’,y) R Slack R is introduced at each backtrace so we do not have to backtrace too often.
10
Experimental Results of BPRIM Algorithm
11
Prim-Dijkstra Algorithm
Prim’s MST Dijkstra’s SPT Trade-off
12
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) p(j) d(i,j)
13
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
14
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. Hanan nodes source Hanan Grid
15
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. p q min(p,q)
16
Example of RSA Algorithm
17
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
18
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
19
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: SERT Algorithm: At each step, choose v T and u T s.t. the maximum Elmore-delay to any sink has minimum increase. 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.
20
Steps of SERT Algorithm
7 7 7 8 8 8 3 3 3 6 6 6 5 1 4 5 1 4 5 1 4 source 2 source 2 source 2 9 9 9 7 7 7 8 8 8 3 3 3 6 6 6 5 5 5 1 4 1 4 1 4 source 2 source 2 source 2 9 9 9
21
Examples of SERT-C Construction
7 7 7 8 8 8 6 3 6 3 6 3 5 4 5 1 1 4 1 4 5 source source 9 2 2 2 9 9 source a) Node 2 or 4 critical c) Node 5 critical b) Node 3 or 7 critical 7 7 7 8 8 8 3 6 3 6 6 3 5 4 1 4 1 1 4 5 5 source 9 source 2 2 2 9 9 source d) Node 6 critical f) Node 9 critical e) Node 8 critical (also SERT)
22
Maze Routing
23
Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 518
Global Routing Prof. Shiyan Hu Office: EERC 518
24
Global Routing 2D Routing Minimize total wirelength
Route all the nets Minimize total wirelength Satisfy the congestion constraint or minimize the overflow 3D Layer Assignment
25
Global Routing Approaches
Sequential Approach Net ordering based approach Concurrent Approach Integer Programming
26
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 B A B B B A B first (Good order) A first (Bad order) A
27
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 B B A B is in A’s BR
28
Net Ordering
29
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, ... , Tnkn net n : T11, T12, , T1k1 net 1 Set of possible routing trees Nets
30
Integer Program Formulation
31
Concurrent Approach: Example
Possible trees: 1 1 2 3 net 1: 2 3 3 3 1 2 2 net 2: 2 3 3 net 3: 2 2 1 2 3 Solution What are the constraints for edge capacity?
32
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.