Prof. Shiyan Hu Office: EERC 518

Slides:



Advertisements
Similar presentations
ECE 667 Synthesis and Verification of Digital Circuits
Advertisements

ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
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.
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†
© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert.
CSC 2300 Data Structures & Algorithms April 17, 2007 Chapter 9. Graph Algorithms.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
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)
Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand.
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.
Network Flow Models Chapter 7.
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.
CDCTree: Novel Obstacle-Avoiding Routing Tree Construction based on Current Driven Circuit Model Speaker: Lei He.
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 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 FLUTE: Fast Lookup Table Based RSMT Algorithm.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
A Topology-based ECO Routing Methodology for Mask Cost Minimization Po-Hsun Wu, Shang-Ya Bai, and Tsung-Yi Ho Department of Computer Science and Information.
Global Routing. 2 B (2, 6) A (2, 1) C (6, 4) B (2, 6) A (2, 1) C (6, 4) S (2, 4) Rectilinear Steiner minimum tree (RSMT) Rectilinear minimum spanning.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Algorithms: Design and Analysis Summer School 2013 at VIASM: Random Structures and Algorithms Lecture 3: Greedy algorithms Phan Th ị Hà D ươ ng 1.
Network Optimization Models
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
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.
Prims’ spanning tree algorithm Given: connected graph (V, E) (sets of vertices and edges) V1= {an arbitrary node of V}; E1= {}; //inv: (V1, E1) is a tree,
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
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.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
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
CSE 494: Electronic Design Automation LectureRouting.
Routing Tree Construction with Buffer Insertion under Obstacle Constraints Ying Rao, Tianxiang Yang Fall 2002.
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
VLSI Physical Design Automation
VLSI Physical Design Automation
Minimum Spanning Trees
St. Edward’s University
Greedy Technique.
Buffer Insertion with Adaptive Blockage Avoidance
1.3 Modeling with exponentially many constr.
Minimum Spanning Trees
Analysis of Algorithms
Bounded Radius Routing
EE5780 Advanced VLSI Computer-Aided Design
Minimum Spanning Tree Algorithms
The Greedy Approach Young CS 530 Adv. Algo. Greedy.
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.
FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design
Presentation transcript:

Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 518 Steiner Tree Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 518

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.

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

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

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.

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]

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

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

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.

Experimental Results of BPRIM Algorithm

Prim-Dijkstra Algorithm Prim’s MST Dijkstra’s SPT Trade-off

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)

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

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

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)

Example of RSA Algorithm

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

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

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.

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

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)

Maze Routing http://foghorn.cadlab.lafayette.edu/MazeRouter.html

Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 518 Global Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 518

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

Global Routing Approaches Sequential Approach Net ordering based approach Concurrent Approach Integer Programming

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

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

Net Ordering

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

Integer Program Formulation

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?

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.