Multi-Layer Channel Routing Complexity and Algorithms

Slides:



Advertisements
Similar presentations
Graphs and Finding your way in the wilderness
Advertisements

VLSI DESIGN & COMPARABILITY GRAPHS By Deepak Katta.
Social network partition Presenter: Xiaofei Cao Partick Berg.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
An Introduction to Channel Routing
Discrete Math for Computer Science. Mathematical Model Real-world Problem Computerized Solution Abstract Model Transformed Model picture of the real worldpicture.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Chapter 3 The Greedy Method 3.
Sub Graph Listing محمد مهدی طالبی دانشگاه صنعتی امیرکبیر.
Multi-Layer Channel Routing Complexity and Algorithm - Rajat K. Pal Md. Jawaherul Alam # P Presented by Section 5.3: NP-completeness of Multi-Layer.
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.
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)
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
Computational Complexity of Approximate Area Minimization in Channel Routing PRESENTED BY: S. A. AHSAN RAJON Department of Computer Science and Engineering,
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.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student #
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,
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
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.
CSC 2300 Data Structures & Algorithms March 30, 2007 Chapter 9. Graph Algorithms.
KNURE, Software department, Ph , N.V. Bilous Faculty of computer sciences Software department, KNURE The trees.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
Computability Reports. More examples. Homework: Optimization. Other follow- ups. Start to plan presentation.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
DP TSP Have some numbering of the vertices We will think of all our tours as beginning and ending at 1 C(S, j) = length of shortest path visiting each.
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]
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Detailed Routing مرتضي صاحب الزماني.
Graph Coloring. Vertex Coloring problem in VLSI routing channels Standard cells Share a track Minimize channel width- assign horizontal Metal wires to.
1 L25 : Crosstalk-Concerned Physical Design (2) Jun Dong Cho Sungkyunkwan Univ. Dept. ECE Homepage :
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
1. For minimum vertex cover problem in the following graph give
Introduction to NP Instructor: Neelima Gupta 1.
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
VLSI Physical Design Automation
IOI/ACM ICPC Training 4 June 2005.
VLSI Physical Design Automation
Chapter 9 : Graphs Part II (Minimum Spanning Trees)
The minimum cost flow problem
What is the next line of the proof?
Depth-First Search.
Multi-Commodity Flow Based Routing
Short paths and spanning trees
ICS 353: Design and Analysis of Algorithms
Sequence Pair Representation
By Santhosh Reddy Katkoori
Iterative Deletion Routing Algorithm
Decision Maths Dijkstra’s Algorithm.
Graphs Chapter 11 Objectives Upon completion you will be able to:
CSE 144 Project Part 3.
Unit 4: Dynamic Programming
Optimal Non-Manhattan Bubble Sort Channel Router
R. Johnsonbaugh Discrete Mathematics 5th edition, 2001
Connected Components, Directed Graphs, Topological Sort
Detailed Routing مرتضي صاحب الزماني.
ICS 252 Introduction to Computer Design
VLSI Physical Design Automation
The Greedy Approach Young CS 530 Adv. Algo. Greedy.
Presentation transcript:

Multi-Layer Channel Routing Complexity and Algorithms Rajat K. Pal

Multi-Layer Channel Routing Chapter 4 A General Framework for Track Assignment in Multi-Layer Channel Routing Presented By- Sumaya Kazary Std. ID: 0409052009

TAH Basics The Algorithm TAH assigns intervals to tracks from top to bottom in the presence of Vertical constraints. In the first iteration, the algorithm assigns a set of non-overlapping intervals to the top most track. Then it delete the nets corresponding to these intervals from the channel. In the second iteration, it assigns a set of non-overlapping intervals to the second track. The iterative process continues till all the nets are assigned to tracks in the channel.

Some Notations & a few definitions dmax→channel density. vmax→the length of the longest path in the VCG. idvi→ indegree of vertex vi in the VCG. dpvi →length of the longest path from a source to vi. htvi → length of the longest path from a sink vertex to vi. spvi →span of a net ni. zdvi→ zonal density of a vertex v . 7 6 5 2 4 1 3 I2 I7 I5 I1 I3 I4 I6

For the following channel TOP: 3 1 3 0 0 5 6 0 3 0 0 BOTTOM: 1 2 4 2 4 1 5 7 0 7 6 The routing solution using TAH framework for VH routing is 3 1 3 5 6 3 1 2 4 2 4 1 5 7 7 6

The TAH Algorithm

Density of this channel is dmax = 4. 3 1 3 5 6 3 I2 I7 I5 I1 I3 I4 I6 1 2 4 2 4 1 5 7 7 6 The Channel contains total 7 nets. Density of this channel is dmax = 4.

7 6 5 2 4 1 3 1 2 3 4 5 7 6 VCG HNCG(G*) Vmax =4

In the TAH algorithm ,for each iteration, certain no In the TAH algorithm ,for each iteration, certain no. of intervals are assigned in a track from top to bottom. In each iteration ,it computes a clique such that there is no overlapped interval is present & assign it to a track. At the beginning, it compares the channel density (dmax) and the longest path in the VCG(vmax). Two cases may arise:- dmax>vmax dmax≤vmax

Executing the Algorithm Steps: S1={3,6,7} Iteration-1 As, dmax=vmax=4. So case II and S3={6} [As S3={vi| htvi=vmax}] Step E for vertex 6 < od6,1,sp6> is <1,1,4>. So , Step F limitvi=max(dmax,vmax)-htvi+1 wt:<f(t),ht,zd,sp> limit3=4-3+1=2>t .So,f(1)3=(1-1+1)÷(2-1+1)=1/2. limit6=4-4+1=1=t. So,f(1)6=1-1+1=1. limit7=4-1+1=4>t. So,f(1)7=(1-1+1)÷(4-1+1)=1/4. Now, ht3=3,ht6=4 ,ht7=1; zd3=4,zd6=3,zd7=3 and sp3=8,sp6=4, sp7=2 So, 3:<1/2,3,4,8> 6:<1,4,3,4> 7: <1/4,1,3,2> 7 6 5 2 4 1 3 C1={6}. So,C2={6}.

Step G In step E, span usage (spvi) by a net was maximized, now it is checked with minimizing, so the weights are <odvi, 1, -spvi>. In this case,6:<1, 1, -4> . So, again let’s pick C3 = {6}. Step H similar to step F, so, C4 = {6} So net 6 is assigned to track 1. Now, HNCG & VCG are rearranged excluding node 6 and its adjacent edges.

Density of this channel is dmax = 4. 3 1 3 5 6 3 I3 I1 I2 I7 I5 I4 1 2 4 2 4 1 5 7 7 6 Density of this channel is dmax = 4.

1 2 3 4 5 7 7 5 2 4 1 3 VCG HNCG(G*) Vmax =3

Executing the Algorithm Steps: S1={3,5,7} Iteration-2 Now , dmax>vmax. So case I. and S2={1,2,3,4} Step A Now, S1 S2={3} for vertex 3 < cn3,1,sp3> is <1,1,8>. So , Step B limitvi=max(dmax,vmax)-htvi+1 wt:<f(t),zd,ht,sp> limit3=4-3+1=2=t .So,f(2)3=2-2+1=1. zd3=4, ht3=3, sp3=8 limit5=4-3+1=2=t. So,f(2)5=2-2+1=1. zd5=3, ht5=3, sp5=1 limit7=4-1+1=4>t. So,f(2)7=(2-1+1)÷(4-1+1)=1/2. zd7=2, ht7=1, sp7=2 So, 3:<1,4,3,8>; 5:<1,3,3,1> 7: <1/2,2,1,2> 7 5 2 4 1 3 C1={3}. So,C2={3}.

Step C In step A, span usage (spvi) by a net was maximized, now it is checked with minimizing, so the weights are <cnvi, 1, -spvi>. In this case,3:<1, 1, -8> . So, again let’s pick C3 = {3}. Step D Similar to step F, so, C4 = {3} So net 3 is assigned to track 2. Now, again HNCG & VCG are re-arranged excluding node 3 and its adjacent edges. And iteration 3 is proceed.

Density of this channel is dmax = 3. 1 3 5 6 3 I1 I2 I7 I5 I4 1 2 4 2 4 1 5 7 7 6 Density of this channel is dmax = 3.

Now again dmax=vmax i.e.,case II 1 2 4 5 7 7 5 2 4 1 VCG HNCG(G*) Vmax =3 Now again dmax=vmax i.e.,case II

Now the final routing solution using TAH framework for VH routing is 3 1 3 5 6 3 1 2 4 2 4 1 5 7 7 6

Time complexity For initial part ,time complexity-- To compute the HNCG & G* is O(n+e). To compute the VCG is O(n). To compute the span of every interval is O(n). htvi and dpvi is computed by 1 scan of VCG needs O(n). So,for initial part, it takes time O(n+e). Each iteration part takes O(n+e). If total track=k, then total time complexity of the algorithm is O(k(n+e)).

Thank You