6/29/2015 1 Routing Prof. Shiyan Hu Office: EERC 731.

Slides:



Advertisements
Similar presentations
Advanced Interconnect Optimizations. Buffers Improve Slack RAT = 300 Delay = 350 Slack = -50 RAT = 700 Delay = 600 Slack = 100 RAT = 300 Delay = 250 Slack.
Advertisements

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.
5/14/ Routing Prof. Shiyan Hu Office: EERC 731.
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.
SLIP 2008, Newcastle Revisiting Fidelity: A Case of Elmore-based Y-routing Trees Tuhina Samanta*, Prasun Ghosal*, Hafizur Rahaman* and Parthasarathi Dasgupta†
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 Greedy 2 Jose Rolim University of Geneva. Algorithmique Greedy 2Jose Rolim2 Examples Greedy  Minimum Spanning Trees  Shortest Paths Dijkstra.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
1 Spanning Trees Lecture 20 CS2110 – Spring
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.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
TCOM 501: Networking Theory & Fundamentals
The Rectilinear Steiner Arborescence Problem is NP-Complete
A Global Minimum Clock Distribution Network Augmentation Algorithm for Guaranteed Clock Skew Yield A. B. Kahng, B. Liu, X. Xu, J. Hu* and G. Venkataraman*
EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
Mario Čagalj supervised by prof. Jean-Pierre Hubaux (EPFL-DSC-ICA) and prof. Christian Enz (EPFL-DE-LEG, CSEM) Wireless Sensor Networks:
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.
Advanced Interconnect Optimizations. Timing Driven Buffering Problem Formulation Given –A Steiner tree –RAT at each sink –A buffer type –RC parameters.
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.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
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.
UCSC 1 Aman ShaikhICNP 2003 An Efficient Algorithm for OSPF Subnet Aggregation ICNP 2003 Aman Shaikh Dongmei Wang, Guangzhi Li, Jennifer Yates, Charles.
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.
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.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
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.
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.
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
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.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
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.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Quality of Service in Multimedia Distribution G. Calinescu (Illinois.
Steiner trees: Approximation Algorithms
Minimum Spanning Trees
Chapter 7 – Specialized Routing
12. Graphs and Trees 2 Summary
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Chapter 5. Optimal Matchings
Buffer Insertion with Adaptive Blockage Avoidance
Minimum Spanning Trees
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
Minimum Spanning Tree.
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.
Minimum-Cost Spanning Tree
Presentation transcript:

6/29/ Routing Prof. Shiyan Hu Office: EERC 731

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 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 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 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/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 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 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 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 6/29/2015 Experimental Results of BPRIM Algorithm

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

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

16 6/29/2015 Prim-Dijkstra Algorithm Prim’s MST Dijkstra’s SPT Trade-off

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

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 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 6/29/2015 Interconnect Topology Design Formulation Under Distributed RC Delay Model Objective: Minimize

26 6/29/2015 Comparison of Three Types of Trees MST SPT QMST MST cost 9(optimal) SPT cost (optimal) 31 QMST cost (optimal)

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 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 6/29/2015 Steps of SERT Algorithm source

30 6/29/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

31 6/29/2015 Maze Routing