5/14/2015 1 Routing Prof. Shiyan Hu Office: EERC 731.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
4/22/ Clock Network Synthesis Prof. Shiyan Hu Office: EREC 731.
1 Interconnect Layout Optimization by Simultaneous Steiner Tree Construction and Buffer Insertion Presented By Cesare Ferri Takumi Okamoto, Jason Kong.
F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (UCLA) S. Muddu (Sanera Systems) A. Zelikovsky (Georgia State) Provably Good Global Buffering by.
Ion Mandoiu (Georgia Tech) Alex Zelikovsky (Georgia State) ISMP 2000 Practical Approximation Algorithms for Zero- and Bounded-Skew Trees.
Constructing Minimal Spanning Steiner Trees with Bounded Path Length Presenter : Cheng-Yin Wu, NTUGIEE Some of the Slides in this Presentation are Referenced.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and.
© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Minimum-Buffered Routing of Non- Critical Nets for Slew Rate and Reliability Control Supported by Cadence Design Systems, Inc. and the MARCO Gigascale.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (UCLA/UCSD) S. Muddu (Sanera Systems) A. Zelikovsky (Georgia State) Practical Approximation Algorithms.
ER UCLA UCLA ICCAD: November 5, 2000 Predictable Routing Ryan Kastner, Elaheh Borzorgzadeh, and Majid Sarrafzadeh ER Group Dept. of Computer Science UCLA.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
The Rectilinear Steiner Arborescence Problem is NP-Complete
Global Routing Prof. Shiyan Hu Office: EERC 731.
6/29/ Routing Prof. Shiyan Hu Office: EERC 731.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear.
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
Assignment 4. (Due on Dec 2. 2:30 p.m.) This time, Prof. Yao and I can explain the questions, but we will NOT tell you how to solve the problems. Question.
1 Minimum Spanning Trees Longin Jan Latecki Temple University based on slides by David Matuszek, UPenn, Rose Hoberman, CMU, Bing Liu, U. of Illinois, Boting.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
1 Minimum Spanning Trees Longin Jan Latecki Temple University based on slides by David Matuszek, UPenn, Rose Hoberman, CMU, Bing Liu, U. of Illinois, Boting.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
Algorithms: Design and Analysis Summer School 2013 at VIASM: Random Structures and Algorithms Lecture 3: Greedy algorithms Phan Th ị Hà D ươ ng 1.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
COSC 2007 Data Structures II Chapter 14 Graphs III.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Thermal-aware Steiner Routing for 3D Stacked ICs M. Pathak and S.K. Lim Georgia Institute of Technology ICCAD 07.
ARCHER:A HISTORY-DRIVEN GLOBAL ROUTING ALGORITHM Muhammet Mustafa Ozdal, Martin D. F. Wong ICCAD ’ 07.
ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Gate and Interconnect Optimization.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider.
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Introduction to Graph Theory
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
Chris Chu Iowa State University Yiu-Chung Wong Rio Design Automation
Routing Tree Construction with Buffer Insertion under Obstacle Constraints Ying Rao, Tianxiang Yang Fall 2002.
Prof. Shiyan Hu Office: EERC 518
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
An O(bn 2 ) Time Algorithm for Optimal Buffer Insertion with b Buffer Types Authors: Zhuo Li and Weiping Shi Presenter: Sunil Khatri Department of Electrical.
Ion I. Mandoiu, Vijay V. Vazirani Georgia Tech Joseph L. Ganley Simplex Solutions A New Heuristic for Rectilinear Steiner Trees.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Quality of Service in Multimedia Distribution G. Calinescu (Illinois.
VLSI Physical Design Automation
VLSI Physical Design Automation
St. Edward’s University
Chapter 7 – Specialized Routing
Spanning Trees Lecture 21 CS2110 – Fall 2016.
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Chapter 5. Optimal Matchings
Buffer Insertion with Adaptive Blockage Avoidance
1.3 Modeling with exponentially many constr.
Analysis of Algorithms
Bounded Radius Routing
Buffered tree construction for timing optimization, slew rate, and reliability control Abstract: With the rapid scaling of IC technology, buffer insertion.
Minimum Spanning Tree Algorithms
1.3 Modeling with exponentially many constr.
Zero-Skew Trees Zero-Skew Tree: rooted tree in which all root-to-leaf paths have the same length Used in VLSI clock routing & network multicasting.
Presentation transcript:

5/14/ Routing Prof. Shiyan Hu Office: EERC 731

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 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 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/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 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 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 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 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 5/14/2015 Experimental Results of BPRIM Algorithm

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 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

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 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 5/14/2015 Experimental Results of BRBC Algorithm Radius, as fraction of MST radius Cost, as fraction of MST cost

16 5/14/2015 Prim-Dijkstra Algorithm Prim’s MST Dijkstra’s SPT Trade-off

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 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 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 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 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 5/14/2015 r rr rr r Example of RSA Algorithm

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 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 5/14/2015 Steps of SERT Algorithm source

26 5/14/2015 Examples of SERT-C Construction a) Node 2 or 4 critical source b) Node 3 or 7 critical (also 1-Steiner tree) source c) Node 5 critical source d) Node 6 critical source f) Node 9 critical source 7 e) Node 8 critical (also SERT) source 7

27 5/14/2015 Maze Routing

5/14/ Global Routing Prof. Shiyan Hu Office: EERC 731

29 5/14/2015 Global Routing Approaches Sequential Approach –Net ordering based approach Concurrent Approach –Integer Programming

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 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 5/14/2015 Net Ordering (cont’d)

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 5/14/2015 Integer Program Formulation

35 5/14/2015 Concurrent Approach: Example Possible trees: net 1: 233 net 2: 233 net 3: Solution What are the constraints for edge capacity?

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.