YK Channel Routing (1/16)Practical Problems in VLSI Physical Design Yoshimura-Kuh Channel Routing Perform YK channel routing with K = 100 TOP = [1,1,4,2,3,4,3,6,5,8,5,9]

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
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.
Traveling Salesperson Problem
An Introduction to Channel Routing
Chen, Lu Mentor: Zhou, Jian Shanghai University, School of Management Chen213.shu.edu.cn.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Multi-Layer Channel Routing Complexity and Algorithm - Rajat K. Pal Md. Jawaherul Alam # P Presented by Section 5.3: NP-completeness of Multi-Layer.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
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.
Spanning Trees.
Spanning Trees. 2 Spanning trees Suppose you have a connected undirected graph Connected: every node is reachable from every other node Undirected: edges.
Data Flow Analysis Compiler Design Nov. 3, 2005.
Using Search in Problem Solving
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Zulfiquer Md. Mizanur Rhaman Student # p.
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
7/13/ EE4271 VLSI Design VLSI Routing. 2 7/13/2015 Routing Problem Routing to reduce the area.
Spanning Trees. Spanning trees Suppose you have a connected undirected graph –Connected: every node is reachable from every other node –Undirected: edges.
Chapter 9: Graphs Spanning Trees Mark Allen Weiss: Data Structures and Algorithm Analysis in Java Lydia Sinapova, Simpson College.
General Routing Overview and Channel Routing
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 3, 2015 Routing 1.
The Disjoint Set Class Data Structures & Problem Solving Using JAVA Second Edition Mark Allen Weiss Chapter 24 © 2002 Addison Wesley.
1-Steiner Algorithm (1/17)Practical Problems in VLSI Physical Design 1-Steiner Routing by Kahng/Robins Perform 1-Steiner Routing by Kahng/Robins  Need.
M180: Data Structures & Algorithms in Java Trees & Binary Trees Arab Open University 1.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Decision Maths 1 Shortest path algorithm Dijkstra’s Algorithm A V Ali :
2/27/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (II)
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
FPGA Routing Pathfinder [Ebeling, et al., 1995] Introduced negotiated congestion During each routing iteration, route nets using shortest.
11/21/02CSE Max Flow CSE Algorithms Max Flow Problems.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Code: BCA302 Data Structures with C Prof. (Dr.) Monalisa Banerjee By.
1 1 Slide © 2005 Thomson/South-Western Chapter 9 Network Models n Shortest-Route Problem n Minimal Spanning Tree Problem n Maximal Flow Problem.
VLSI Physical Design Automation
Shortest Path from G to C Using Dijkstra’s Algorithm
Dijkstra’s shortest path Algorithm
Merging Merge. Keep track of smallest element in each sorted half.
Multi-Layer Channel Routing Complexity and Algorithms
ESE535: Electronic Design Automation
Sequence Pair Representation
By Santhosh Reddy Katkoori
Minimum Spanning Tree.
Iterative Deletion Routing Algorithm
CSE Algorithms Max Flow Problems 11/21/02 CSE Max Flow.
A-tree Routing Algorithm
Bounded Radius Routing
Spanning Trees.
Multi-level Coarsening Algorithm
Optimal Non-Manhattan Bubble Sort Channel Router
Detailed Routing مرتضي صاحب الزماني.
EE5900 Advanced Embedded System For Smart Infrastructure
VLSI Physical Design Automation
Graphs.
Richard Anderson Lecture 5 Graph Theory
Prim’s algorithm for minimum spanning trees
Dominating Set By Eric Wengert.
Chapter 9: Graphs Spanning Trees
Presentation transcript:

YK Channel Routing (1/16)Practical Problems in VLSI Physical Design Yoshimura-Kuh Channel Routing Perform YK channel routing with K = 100 TOP = [1,1,4,2,3,4,3,6,5,8,5,9] BOT = [2,3,2,0,5,6,4,7,6,9,8,7]

YK Channel Routing (2/16)Practical Problems in VLSI Physical Design Constrained Left-Edge Algorithm First perform CLE on original problem (for comparison)  Assign VCG nodes with no incoming edge first  Use tracks top-to-bottom, left-to-right

YK Channel Routing (3/16)Practical Problems in VLSI Physical Design Zone Representation Horizontal span of the nets and their zones TOP = [1,1,4,2,3,4,3,6,5,8,5,9] BOT = [2,3,2,0,5,6,4,7,6,9,8,7]

YK Channel Routing (4/16)Practical Problems in VLSI Physical Design Net Merging: Zone 1 and 2 We compute  L = {1} and R = {4}  Net 1 and 4 are on the same path in VCG: no merging possible

YK Channel Routing (5/16)Practical Problems in VLSI Physical Design Net Merging: Zone 2 and 3 We compute  L = {1,2} and R = {5,6} (= net 1 inherited from last step)  Merge-able pairs: (2,5) and (2,6) (= not on the same path in VCG)

YK Channel Routing (6/16)Practical Problems in VLSI Physical Design Net Merging: Zone 2 and 3 (cont) Choose the “best” pair between (2,5) and (2,6)  We form P = {5,6} and Q = {2} and choose best from each set  We compute  u(2) = 4, d(2) = 1, u(5) = 3, d(5) = 4, u(6) = 4, d(6) = 2  Only 1 element in Q, so m * = net 2 trivially

YK Channel Routing (7/16)Practical Problems in VLSI Physical Design Net Merging: Zone 2 and 3 (cont) Now choose “best” from P  We compute g(5,2) and g(6,2) using K = 100  Since g(5,2) > g(6,2), we choose n * = net 6  We merge m * = 2 and n * = 6  Likely to minimize the increase in the longest path length in VCG

YK Channel Routing (8/16)Practical Problems in VLSI Physical Design Net Merging: Zone 2 and 3 (cont) Merged net 2 and 6  We had P = {5,6} and Q = {2}, and need to remove 2 and 6  Q is empty, so we are done with zone 2 and 3  We had L = {1,2} and R = {5,6}, and need to remove 2 and 6  We keep L = {1}  Updated zone representation and VCG

YK Channel Routing (9/16)Practical Problems in VLSI Physical Design Net Merging: Zone 3 and 4 We compute  L = {1,3,4} and R = {7} (= net 1 inherited from last step)  All nets in L and R are on the same path in VCG  no merging possible

YK Channel Routing (10/16)Practical Problems in VLSI Physical Design Net Merging: Zone 4 and 5 We compute  L = {1,3,4,26} and R = {8,9}  Merge-able pairs: (4,8), (4,9), (26,8), (26,9)

YK Channel Routing (11/16)Practical Problems in VLSI Physical Design Net Merging: Zone 4 and 5 (cont) Choose m * from Q  We form P = {4,26} and Q = {8,9}  We compute  u(4) = 3, d(4) = 3, u(26) = 4, d(26) = 2, u(8) = 4, d(8) = 3, u(9) = 5, d(9) = 2

YK Channel Routing (12/16)Practical Problems in VLSI Physical Design Net Merging: Zone 4 and 5 (cont) Choose m * from Q (cont)  We find m * from Q that maximizes  f(8) = 100 · {u(8) + d(8)} + max{u(8), d(8)} = 704  f(9) = 100 · {u(9) + d(9)} + max{u(9), d(9)} = 705  So, m * = 9

YK Channel Routing (13/16)Practical Problems in VLSI Physical Design Net Merging: Zone 4 and 5 (cont) Choose n * from P  We compute g(4,9) and g(26,9) using K = 100  Since g(4,9) > g(26,9), we get n * = net 26  We merge m * = 9 and n * = 26

YK Channel Routing (14/16)Practical Problems in VLSI Physical Design Net Merging: Zone 4 and 5 (cont) Merged net 26 and 9  We had P = {4,26} and Q = {8,9}, and need to remove 26 and 9  Q is not empty, so we repeat the whole process  Updated P = {4} and Q = {8}  Trivial to see that m * = 8 and n * = 4, so we merge 8 and 4  Updated zone representation and VCG

YK Channel Routing (15/16)Practical Problems in VLSI Physical Design Routing with Merged Nets Perform CLE on merged netlist  Use tracks top-to-bottom, left-to-right

YK Channel Routing (16/16)Practical Problems in VLSI Physical Design Comparison Net merging helped  Reduce channel height by 1