Download presentation
Presentation is loading. Please wait.
Published byReginald Norton Modified over 9 years ago
1
5/14/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731
2
2 5/14/2015 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
3
3 5/14/2015 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
4
4 5/14/2015 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
5
5 5/14/2015 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.
6
6 5/14/2015 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] ……
7
7 5/14/2015 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. minpath G (u,v): shortest path from u to v in G dist G (u,v): cost of minpath G (u,v). source s routing tree r(T) radius of the net
8
8 5/14/2015 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 = 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
9
9 5/14/2015 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 dist T (s, x) + cost(x,y) (1+ )R, add (x,y) Else backtrack along minpath T (s,x) to find x’ such that dist T (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 dist T (s,x)+cost(x,y) (1+ )R s x y x’ dist T (s,x’)+cost(x’,y) R
10
10 5/14/2015 Experimental Results of BPRIM Algorithm
11
11 5/14/2015 A Pathological Example for BPRIM Algorithm BPRIM can be arbitrarily bad. x y source s all leaves connect directly to the source x y source s Optimal SolutionSolution by BPRIM
12
12 5/14/2015 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 L i If S dist SPT (s, L i ) then add minpath SPT (s, L i ) 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’ LiLi if S=dist L (L i ’,L i ) dist SPT (S, L i ) then add minpath SPT (s, L i ) to Q and reset S =0, Li’ = Li s depth-first tour L for MST 1 2 3 4 5 6 7 8 9 10
13
13 5/14/2015 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 minpath SPT (s, L). By the choice of y, we have dist L (y,x) dist SPT (s,x) R Therefore, dist Q (s,x) dist Q (s,y) +dist Q (y,x) R+dist L (y,x) R+ R =(1+ )R s Graph Q y x dist L (y,x) dist SPT (S, x) R tour L s y x dist SPT (s,y) R
14
14 5/14/2015 BRBC Trees Have Bounded Cost Theorem 2: cost(T) (2+2/ ) cost(MST). Proof: Let v 1 v 2 … v k be the vertices that we add minpath SPT (s,v i ) Note that T is a subgraph of Q s Graph Q s v i-1 vivi dist L ( v i-1,v i ) dist SPT ( S, v i ) tour L Idea borrowed from [Awarbuch - Baratz - Peleg, PODC-90]
15
15 5/14/2015 Experimental Results of BRBC Algorithm Radius, as fraction of MST radius Cost, as fraction of MST cost
16
16 5/14/2015 Prim-Dijkstra Algorithm Prim’s MST Dijkstra’s SPT Trade-off
17
17 5/14/2015 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)
18
18 5/14/2015 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
19
19 5/14/2015 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(n 4 logn) 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(nlog 2 n)
20
20 5/14/2015 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. source Hanan nodes Hanan Grid
21
21 5/14/2015 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{x p, x q }, min{y p, y q }). The pair p, q are chosen to maximize ||min(p,q)|| over all current nodes. p q min(p,q)
22
22 5/14/2015 r rr rr r Example of RSA Algorithm
23
23 5/14/2015 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
24
24 5/14/2015 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.
25
25 5/14/2015 Steps of SERT Algorithm 8 3 4 2 1 6 5 9 source 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7
26
26 5/14/2015 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 (also 1-Steiner tree) source 8 3 4 2 1 6 5 9 c) Node 5 critical source 77 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 6 5 9 source 7
27
27 5/14/2015 Maze Routing http://foghorn.cadlab.lafayette.edu/MazeRouter.html
28
5/14/2015 28 Global Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731
29
29 5/14/2015 Global Routing Approaches Sequential Approach –Net ordering based approach Concurrent Approach –Integer Programming
30
30 5/14/2015 Net Ordering 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 A B B B first (Good order) A A B B A first (Bad order)
31
31 5/14/2015 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 A B B B is in A’s BR
32
32 5/14/2015 Net Ordering (cont’d)
33
33 5/14/2015 Concurrent Approach Consider all the nets simultaneously. Formulate as an integer program. Given: L ij = Total wire length of T ij C e = Capacity of edge e Determine variable x ij s.t. x ij = 1 if T ij is used x ij = 0 otherwise. T n1, T n2,..., T nk n net n :::: :::: T 11, T 12,......, T 1k 1 net 1 Set of possible routing treesNets
34
34 5/14/2015 Integer Program Formulation
35
35 5/14/2015 Concurrent Approach: Example Possible trees: net 1: 233 net 2: 233 net 3: 22 1 2 3 2 1 3 1 2Solution1 2 3 2 1 3 1 2 What are the constraints for edge capacity?
36
36 5/14/2015 Integer Programming Approach Standard techniques to solve IP. 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. Determining a good set of choices of routing trees is a hard problem by itself.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.