Download presentation
Presentation is loading. Please wait.
1
6/29/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731
2
2 6/29/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 6/29/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 6/29/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 6/29/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 6/29/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 6/29/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 6/29/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 6/29/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 6/29/2015 Experimental Results of BPRIM Algorithm
11
11 6/29/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 6/29/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 6/29/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 6/29/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 6/29/2015 Experimental Results of BRBC Algorithm Radius, as fraction of MST radius Cost, as fraction of MST cost
16
16 6/29/2015 Prim-Dijkstra Algorithm Prim’s MST Dijkstra’s SPT Trade-off
17
17 6/29/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 6/29/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 6/29/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 6/29/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 6/29/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 6/29/2015 r rr rr r Example of RSA Algorithm
23
23 6/29/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 6/29/2015 Interconnect Designs Under Distributed RC Delay Model [Cong-Leung-Zhou, DAC’93] Routing Tree T: connects the source with a set of sinks pl k (T): pathlength from sink k to source in T FdFd driver Z0Z0 Z0Z0 Z0Z0 Z0Z0 Z0Z0 Z0Z0 Z0Z0 C0C0 R0R0
25
25 6/29/2015 Interconnect Topology Design Formulation Under Distributed RC Delay Model Objective: Minimize
26
26 6/29/2015 Comparison of Three Types of Trees MST SPT QMST MST cost 9(optimal) 11 10 SPT cost 37 29 (optimal) 31 QMST cost 45 36 34 (optimal)
27
27 6/29/2015 Impact of Resistance Ratio Definition: R d /R 0 Driver resistance versus unit wire resistance Determined by the Technology: Reduce device dimension Impact on Interconnect Optimization: Why Minimum-cost shortest path tree is useful R0R0 R d /R 0 RdRd
28
28 6/29/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.
29
29 6/29/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
30
30 6/29/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
31
31 6/29/2015 Maze Routing http://foghorn.cadlab.lafayette.edu/MazeRouter.html
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.