Download presentation
Presentation is loading. Please wait.
Published byAlexina Nelson Modified over 9 years ago
1
Rajat K. Pal
2
Chapter 3 Emran Chowdhury #040805068P Presented by
3
C E A D B F Pre-requisite VLSI Layout
4
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
5
C E A D B F C E A D B F VLSI Layout Pre-requisite Net
6
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
7
Pre-requisite
8
Three dimensional view of a channel
9
Pre-requisite 1 2 3 4 5 6 7 123456789 10111213141516171819 Column Row Three dimensional view of a channel
10
Pre-requisite 1 2 3 4 5 6 7 123456789 10111213141516171819 Column Row
11
Pre-requisite
15
1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0
16
Pre-requisite 1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0
17
Pre-requisite 1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0
18
Pre-requisite 1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0 A routing solution using two layers of interconnection
19
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
20
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
21
Pre-requisite
22
1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0 L4L4 R4R4 I4I4 I8I8
23
Pre-requisite 1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0 I4I4 I 10 I8I8
24
Pre-requisite 1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0 I4I4 I 10 I8I8 Channel Specification I9I9 I2I2 I1I1 I3I3 I7I7 I5I5 I6I6
25
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
26
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
27
1406033970320050005 4060418209008300705 0 0 0 1 6 0 10 0 0 0 0 0 0 I8I8 I9I9 I2I2 I7I7 I5I5 I4I4 I 10 I1I1 I3I3 I6I6 3 10 1 6 4
28
HCG
29
The horizontal non-constraint graph (HNCG) is denoted by HNC=(V, E’)
30
Chapter 3 Objectives of the Chapter
31
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
32
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
33
3 4 1 2 source sink transitively orientable not comparability graph 3 4 1 2 5
34
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
35
Input 3 4 1 2 5 7 6 HNCG I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6
36
I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input 3 4 1 2 5 7 6 HNCG
37
I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input 3 4 1 2 5 7 6 HNCG
38
I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input 3 4 1 2 5 7 6 HNCG
39
I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 Input 3 4 1 2 5 7 6 HNCG
40
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
41
clique cover 3 4 1 2 5 7 6 While G ≠ empty choose a maximal clique delete the vertices of the clique algorithm
42
clique cover {1, 4, 5} 3 4 1 2 5 7 6
43
clique cover {1, 4, 5} 3 7 6 { 2, 7 } 2
44
clique cover {1, 4, 5} 3 6 { 2, 7 } { 3 }
45
clique cover {1, 4, 5} 6 { 2, 7 } { 3 } { 6 } But, the clique cover may not be minimum one
46
clique cover {1, 4, 5} { 2, 7 } { 3 } { 6 } But, the clique cover may not be minimum one 3 4 1 2 5 7 6
47
clique cover {1, 4, 5}{ 2, 7 } { 3 }{ 6 } Independent set 3 4 1 2 5 7 6 {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4}
48
clique cover {1, 4, 5}{ 2, 7 } { 3 }{ 6 } Independent set 3 4 1 2 5 7 6 {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4}
49
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
50
Minimum clique cover 3 4 1 2 5 7 6 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
51
3 4 1 2 5 7 6 I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 5 6 3 17 2 4 12 34 567
52
3 4 1 2 5 7 6 I2I2 I7I7 I5I5 I4I4 I1I1 I3I3 I6I6 5 6 3 17 2 4
53
3 4 1 2 5 7 6 5 6 3 17 2 4 527
54
3 4 1 2 5 7 6 5 6 3 17 2 4 527
55
3 4 1 6 5 3 7 2 527 314
56
3 4 1 6 5 3 7 2 527 314
57
6 3 527 314 6 Obviously, this is the minimum clique
59
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
60
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
61
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.) 527 314 6 In this case, vertices in A will be selected as the source vertex of successive maximal cliques
62
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.)
63
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.) 527 314 6 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
64
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.) 527 314 6 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
65
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
66
Lemma 3.3 (cont.) {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4} 527 314 6 The last clique computed by MCC1 will include the last interval from each maximum independent set
67
Lemma 3.3 (cont.) {5, 3, 6}{2, 3, 6} {2, 1, 6}{7, 1}{7, 4} 527 314 6 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
68
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
69
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
70
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
71
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)
72
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.
73
O (n) O (n+e) In total, O (n+e) time
74
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
75
O (n) O (n+e) maintaining a balanced binary search tree of intervals sorted on their starting column numbers
76
O (n) O (nlogn) maintaining a balanced binary search tree of intervals sorted on their starting column numbers O (nlogn) O (nlogn) time
77
ThankYou
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.