Rajat K. Pal. Chapter 3 Emran Chowdhury #040805068P Presented by.

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Min-Max Relations, Hall’s Theorem, and Matching-Algorithms Graphs & Algorithms Lecture 5 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Connectivity - Menger’s Theorem Graphs & Algorithms Lecture 3.
Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
VLSI DESIGN & COMPARABILITY GRAPHS By Deepak Katta.
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Greedy Algorithms Greed is good. (Some of the time)
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Approximation Algorithms Chapter 5: k-center. Overview n Main issue: Parametric pruning –Technique for approximation algorithms n 2-approx. algorithm.
Chapter 3 The Greedy Method 3.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
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.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
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)
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
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.
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 #
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,
Design and Analysis of Algorithms Minimum Spanning trees
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.
Randomized Algorithms - Treaps
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Spring 2015 Lecture 11: Minimum Spanning Trees
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Restricted Track Assignment with Applications 報告人:林添進.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Detailed Routing مرتضي صاحب الزماني.
1/24 Introduction to Graphs. 2/24 Graph Definition Graph : consists of vertices and edges. Each edge must start and end at a vertex. Graph G = (V, E)
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2015.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
EE4271 VLSI Design VLSI Channel Routing.
Maryam Pourebadi Kent State University April 2016.
CMPS 3130/6130 Computational Geometry Spring 2017
Greedy Algorithms General principle of greedy algorithm
VLSI Physical Design Automation
What is the next line of the proof?
Multi-Layer Channel Routing Complexity and Algorithms
Lecture 12 Algorithm Analysis
Computability and Complexity
Linear Systems Chapter 3.
ICS 353: Design and Analysis of Algorithms
Enumerating Distances Using Spanners of Bounded Degree
By Santhosh Reddy Katkoori
CS 583 Analysis of Algorithms
Lecture 12 Algorithm Analysis
Minimum Spanning Tree Algorithms
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
VLSI Physical Design Automation
Lecture 12 Algorithm Analysis
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Rajat K. Pal

Chapter 3 Emran Chowdhury # P Presented by

C E A D B F Pre-requisite VLSI Layout

Pre-requisite Net Cells have rectangular shapes with terminals located on their border. A set of terminals that must be electronically connected together, constitute a net. Terminals of the same net are given the same integer level

C E A D B F C E A D B F VLSI Layout Pre-requisite Net

Pre-requisite Channel If terminals are assigned to fixed positions only two opposite sides of a rectangular region is called a channel The problem of routing within a channel is called the channel routing problem

Pre-requisite

Three dimensional view of a channel

Pre-requisite Column Row Three dimensional view of a channel

Pre-requisite Column Row

Pre-requisite

Pre-requisite

Pre-requisite

Pre-requisite A routing solution using two layers of interconnection

Pre-requisite Channel Routing Problem The channel routing problem is the problem of computing a feasible route for the nets so that the number of tracks required is minimized

Pre-requisite Let, L i be the leftmost column position of net n i Let, R i be the rightmost column position of net n i I i =(L i, R i ) is known as the Interval or span of the net n i

Pre-requisite

L4L4 R4R4 I4I4 I8I8

Pre-requisite I4I4 I 10 I8I8

Pre-requisite I4I4 I 10 I8I8 Channel Specification I9I9 I2I2 I1I1 I3I3 I7I7 I5I5 I6I6

Pre-requisite If we use a single horizontal wire segments for routine each net This wire segment spans the entire interval I i of the net n i So, routing the nets amounts to assigning intervals to horizontal tracks of the channel The horizontal constraints determine whether two intervals I i & I j of the two different nets n i & n j respectively, are assignable to the same track

Pre-requisite The horizontal constraints are represented by horizontal constraint graph (HCG) Horizontal constraints can be represented using an HCG, HC=(V, E), where a vertex v i  V corresponds to the interval I i of the net n i in the channel An undirected edge {v i, v j }  E, if the intervals I i & I j, corresponding to the nets n i & n j, intersect at a column An edge {v i, v j } in the HCG indicates that I i & I j are not assignable to the same track

I8I8 I9I9 I2I2 I7I7 I5I5 I4I4 I 10 I1I1 I3I3 I6I

HCG

The horizontal non-constraint graph (HNCG) is denoted by HNC=(V, E’)

Chapter 3 Objectives of the Chapter

We concentrate on the problem of resolving horizontal constraints for routing channels with minimum possible area We consider routing in the two layer VH routing model where we assume that there are no vertical constraints

Comparability graph An undirected graph can be converted to a directed graph by orienting each edge of this graph An undirected graph is said to be transitively orientable if there exists an orientation of all the edges such that for any three vertices v i, v j & v k : (v i  v j & v j  v k ) => v i  v k Comparability graph

source sink transitively orientable not comparability graph

Channel Routing Problem assign the horizontal wire segments of the nets to tracks so that two nets assigned to the same track do not overlap Input Channel specification or net list which introduce no vertical constraints Objective # of such mutually non-overlapping sets is minimum

Input HNCG I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6

I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input HNCG

I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input HNCG

I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input HNCG

I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input HNCG

Intuitive idea a set of non overlapping intervals forms a clique in the HNCG So, try to find the minimum clique cover of the HNCG any set of intervals forming a clique in the HNCG can be safely assigned to the same track in any routing solution

clique cover While G ≠ empty choose a maximal clique delete the vertices of the clique algorithm

clique cover {1, 4, 5}

clique cover {1, 4, 5} { 2, 7 } 2

clique cover {1, 4, 5} 3 6 { 2, 7 } { 3 }

clique cover {1, 4, 5} 6 { 2, 7 } { 3 } { 6 } But, the clique cover may not be minimum one

clique cover {1, 4, 5} { 2, 7 } { 3 } { 6 } But, the clique cover may not be minimum one

clique cover {1, 4, 5}{ 2, 7 } { 3 }{ 6 } Independent set {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4}

clique cover {1, 4, 5}{ 2, 7 } { 3 }{ 6 } Independent set {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4}

clique cover {1, 4, 5}{ 2, 7 } { 3 }{ 6 } Independent set {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1} I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 {7, 4} For perfect graph  (G)=κ(G)  (G)= size of the max independent set κ(G) = size of the min clique cover

Minimum clique cover Sort the intervals w. r. t. L i Orient the edges b. t. r. R i < L j While G ≠ empty choose a maximal clique from sorted list delete the vertices of the clique algorithm

I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I

I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I

Obviously, this is the minimum clique

Lemma Lemma 3.1 For any vertices v i, v j and v k of the HNCG, if v i  v j and v j  v k, then v i  v k Proof From definition, R i < L j and R j < L k From the interval, L j < R j So, we have R i < L k So, the HNCG is a comparability graph

Lemma Lemma 3.2 Each maximal clique computed by the algorithm MCC1 in step 3 has exactly one vertex from each maximal independent set of G case 1: There is no interval ending on the left side of the starting column of any interval in A We consider any maximal independent set A

Independent set {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1} I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 {7, 4} Lemma 3.2 (cont.) In this case, vertices in A will be selected as the source vertex of successive maximal cliques

case 2: There is an interval ending on the left side of the starting column of at least one of the intervals in A Lemma 3.2 (cont.)

Independent set {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1} I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 {7, 4} Lemma 3.2 (cont.) Let, I be the rightmost interval selected by MCC1 in C 1 such that at least one interval of A starts after I ends & J be the interval of A with left most end point among the intervals of A, starting after I ends

Independent set {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1} I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 {7, 4} Lemma 3.2 (cont.) So, one interval of A is chosen by the algorithm MCC1 in C 1 So, exactly one interval of A is chosen in C 1

Lemma Lemma 3.3 MCC1 computes a minimum clique cover of the HNCG, G=(V, E’) consisting of d max cliques Proof d max = size of the maximum independent set From, lemma 3.2 A will become empty when C l is computed Let, the size of the maximal independent set A be l, where l < d max

Lemma 3.3 (cont.) {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4} The last clique computed by MCC1 will include the last interval from each maximum independent set

Lemma 3.3 (cont.) {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4} The last clique computed by MCC1 will include the last interval from each maximum independent set So, it follows that the number of cliques computed by MCC1 is exactly d max

Theorem 3.1 The construction of the HNCG, G=(V, E’) and its transitively oriented graph G*=(V, F) from the intervals belonging to a channel can be implemented in O(n+e) time, where n is the number of nets and e is the size of the HNCG

Theorem 3.1 (cont.) orienting of the edges can be done by scanning all the intervals exactly once from left to right The following cases may occur at a column position while scanning an interval starts an interval terminates all the intervals continue

Theorem 3.1 (cont.) case 1: while I i starts, if I j  S 1 terminated before I i ; orient an edge v j  v i in G* case 2: If I i terminates at current column position, we add I i in the set S 1 case 3: No action required

Theorem 3.1 (cont.) In any instance of the CRP, at most two intervals may start or terminate at the same column. In this case, both the intervals are processed one after another. The scanning of the columns requires O (n) time The algorithm spends constant time in introducing each edge of G and G* The introducing time of all the edges is O (e)

Theorem 3.2 The algorithm MCC1 correctly computes a routing solution for the two layer CRP without vertical constraints using d max tracks. MCC1 can be executed in O(n+e) time.

O (n) O (n+e) In total, O (n+e) time

Theorem 3.3 The algorithm MCC2 correctly computes a routing solution for the two layer CRP without vertical constraints using d max tracks. MCC2 can be executed in O(nlogn) time

O (n) O (n+e) maintaining a balanced binary search tree of intervals sorted on their starting column numbers

O (n) O (nlogn) maintaining a balanced binary search tree of intervals sorted on their starting column numbers O (nlogn) O (nlogn) time

ThankYou