A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE 04080541.

Slides:



Advertisements
Similar presentations
VLSI DESIGN & COMPARABILITY GRAPHS By Deepak Katta.
Advertisements

An Introduction to Channel Routing
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Greedy Algorithms Greed is good. (Some of the time)
Greed is good. (Some of the time)
Label Placement and graph drawing Imo Lieberwerth.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Train DEPOT PROBLEM USING PERMUTATION GRAPHS
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
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.
Multi-Layer Channel Routing Complexity and Algorithms Rajat K. Pal Annajiat Alim Rasel CSE 6404 VLSI Layout Algorithms Page.
A Framework for Track Assignment Presented by: Kaiser Newaj Asif Multi-Layer Routing (Extensions of the TAH Framework)
Approximation Algorithms
Computational Complexity of Approximate Area Minimization in Channel Routing PRESENTED BY: S. A. AHSAN RAJON Department of Computer Science and Engineering,
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.
ECE Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing.
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student #
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
COE 561 Digital System Design & Synthesis Resource Sharing and Binding Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
A Specialized A* Algorithm. Specialized A* Algorithm As soon as a goal node is found, we may stop and return an optimal solution. In ordinary A* algorithm,
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
Chapter 5: Computational Complexity of Area Minimization in Multi-Layer Channel Routing and an Efficient Algorithm Presented by Md. Raqibul Hasan Std No.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
General Routing Overview and Channel Routing
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
Global Routing.
APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
Linear Programming Problem. Definition A linear programming problem is the problem of optimizing (maximizing or minimizing) a linear function (a function.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Detailed Routing مرتضي صاحب الزماني.
Graph Coloring. Vertex Coloring problem in VLSI routing channels Standard cells Share a track Minimize channel width- assign horizontal Metal wires to.
The Manhattan Tourist Problem Shane Wood 4/29/08 CS 329E.
2/27/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (II)
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Introduction to NP Instructor: Neelima Gupta 1.
Section 3.5 Linear Programing In Two Variables. Optimization Example Soup Cans (Packaging) Maximize: Volume Minimize: Material Sales Profit Cost When.
EE4271 VLSI Design VLSI Channel Routing.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
The NP class. NP-completeness
VLSI Physical Design Automation
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Design and Analysis of Algorithm
Multi-Layer Channel Routing Complexity and Algorithms
CSCE350 Algorithms and Data Structure
By Santhosh Reddy Katkoori
Iterative Deletion Routing Algorithm
Analysis of Algorithms
Topological Sort CSE 373 Data Structures Lecture 19.
CS 583 Analysis of Algorithms
Optimal Non-Manhattan Bubble Sort Channel Router
Problem Solving 4.
Minimum Spanning Tree Algorithms
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Graphical Solution of Linear Programming Problems
Detailed Routing مرتضي صاحب الزماني.
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Graphs and Vertex Coloring
VLSI Physical Design Automation
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Presentation transcript:

A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE

Abstract We need Routing solution Using minimum number of tracks Feasible routing solutions were minimum clique cover (MCC1, MCC2) Channels with cyclic vertical constraints cannot be routed in VH and HVH routing models Now we need heuristic algorithm –(TAH) Track Assignment Heuristic »Nets don’t induce cycles, are assigned to extreme horizontal layer(s), track by track just done in two layer algorithm. »Remaining sets of nets are assigned to other horizontal layers flanked by vertical layers using either MCC1 or MCC2. –Used for two layer routing solution, Three layer HVH CRP etc. Extension of TAH framework (Algorithm) –For two and three layer no-dogleg routing To multilayer V i H i, (2 ≤ i < d max ) routing model and V i H i+1,(2 ≤ i < d max -1 ) routing model

–Efficient Polynomial time heuristic algorithm for CRP (Channel Routing Problem) –Runs in O(k(n+e)) time, k= no. of tracks, n= no. of nets, e= size of HNCG –Polynomial time Heuristic algorithm- »produce an acceptable solution to a problem in many practical scenarios »in the fashion of a general heuristic »there is no formal proof of its correctness. CRP »is a problem of computing a feasible route for nets »The number of tracks required (channel area) is minimized –Horizontal non Constraint Graph (HCNG) is used »Complement of HCG, HC = (V,E), by HNC = (V, E) »Horizontal wire segments of a net vertices in HNCG are non overlapping – so, may be safely assigned to same track. TAH (Track Assignment Heuristic)

TAH (Cont.) If t is 1 (t = no. of tracks) TAH terminates by assigning nets to horizontal layers following MCC1 or MCC2 If t > 1 The algorithm assigns nets to different tracks in –Stage 1: –Stage 2: –Stage 3:

For channel TOP: BOTTOM: VCG Stage 1 If VCG is acyclic then nets in t(i-1) tracks of first (i-1) layers are assigned using MCC1 or MCC

For channel TOP: BOTTOM: VCG Stage 1 (cont.) Let us make the VCG cyclic Then a cycle is detected and a vertex with maximum adjacency number is deleted, here 3 (or 1), and that vertex is added to a set D. This process continues until the graph becomes acyclic.

For channel TOP: BOTTOM: VC’ D = { } the nets in set D are assigned to t(i-1) tracks with higher priority according to TAH framework, while the rest nets are assigned normal weights. Stage 1 (cont.) When D is exhausted the rest of the VC’ are assigned according to MCC1 or MCC2.

-If all the nets are not assigned in stage 1 TAH framework is used for assignment of nets to the t tracks of the extreme layers. -Nets outside D are assigned to extreme layers in this stage. And if D is not empty that is dealt in next stage. Stage VC” HNCG

If after stage 1 and 2, tracks are already filled up then this stage occurs. -Then unassigned nets are assigned iteratively track by track. -For example, there are unassigned nets from the set D. These nets are assigned to the flanked layers using TAH frame work as in stage 1. -If already all nets in D are assigned then the only remaining nets (or a subset of nets) are those in VC”; MCC1 or MCC2 are applied for assignment of nets to flanked layers and use the TAH framework for assignment of nets to the extreme layer(s). Stage 3

Criticism The novel feature is that –The realization of a class heuristics for track assignment into a graph theoretic optimization problem. Weights to vertices are assigned corresponding to intervals and used the maximum weighted clique algorithm. These weights are tuples that encode the class of heuristics in a logical sequence of priority. It is possible to easily incorporate new heuristics for track assignment by defining appropriate sets of tuple weights. –Backtracking is not used here, rather it computes optimal or near optimal routing solutions for most of the benchmark channels.

Thank you