Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Rajat K. Pal. Chapter 3 Emran Chowdhury #040805068P Presented by."— Presentation transcript:

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

12

13

14

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

58

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


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

Similar presentations


Ads by Google