Presentation is loading. Please wait.

Presentation is loading. Please wait.

3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student # 0409052028.

Similar presentations


Presentation on theme: "3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student # 0409052028."— Presentation transcript:

1 3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student # 0409052028

2 Multi-Layer 3D View 3-Layer VHV Channel Router Vertical Layer (Top) Vertical Layer (Bottom) Horizontal Layer Layer 1 Layer 2 Layer 3 Via Connection

3 When 2-layer model has no solution! If Vertical Constraint Graph (VCG) has a cycle, there is no feasible solution under 2 layer no-dogleg Manhattan routing model 12 21

4 Necessity of more than 2 layers! Vertical Constraint Graph with a Cycle 12

5 Solution in VHV Routing Any Vertical Constraint (n i, n j ) can be resolved by routing vertical wire segments of n i and n j in two separate vertical layers on either side of horizontal layer We never have more than two net terminals in a single column Hence, only horizontal constraint remains in VHV model Therefore the novel algorithms MCC1 or MCC2 can be used in VHV model

6 Routing Channels Top View VHV Routing Scenario 1 1 2 2

7 Routing Channels in 3D VHV Routing Channels 2 1 2 1

8 Channel Density d max Local Density of a column is the maximum number of nets passing through the column Channel Density of a channel is the maximum of all local densities A channel with density d max has at least one column spanned by d max nets

9 Channel Density d max (Contd.) Channel Density 5 1 2 3 4 5

10 Multiple Horizontal Layers Multiple Horizontal Layers can reduce routing area If there are i horizontal layers H 1, H 2,.., H i, and channel density is d max, then minimum number of track required per horizontal layer is :

11 Multiple Horizontal Layers (Contd.) d max nets in a column must be distributed in i horizontal layers.

12 What does V i+1 H i mean? Total number of vertical layers is one more than total number of horizontal layers Each horizontal layer is sandwiched between 2 vertical layers Vertical Layer Horizontal Layer 4 Vertical Layers and 3 Horizontal Layers, Channel Density 4

13 Benefit of V i+1 H i

14 Application of MCC1 / MCC2 in Multilayer Channel Routing Problem Compute Minimum Clique Cover for Horizontal Non-constraint Graph (HNCG) There are d max cliques of the minimum clique cover. Assign d max cliques arbitrarily to i horizontal layers. Maximum number of tracks per horizontal layer is

15 Illustration of MCC1/MCC2 Applied to Multilayer CRP 7 1 3 5 6 4 2 Clique Cover CC={C1, C2,C3, C4} where C1: {5, 1, 4} C2: {2, 7} C3: {3} C4: {6}

16 Illustration of MCC1/MCC2 Applied to Multilayer CRP (Contd.) Place nets of same clique in the same track in any horizontal layer I7I7 I1I1 I4I4 I2I2 5 I3I3 I6I6 I5I5 362174

17 Application of MCC1 / MCC2 in Multilayer Channel Routing Vertical Wire Layout Suppose that two nets n g and n h that are members of two separate cliques C p and C q respectively, are laid out in the same horizontal layer H r Suppose has n g terminal on the top and n h has terminal at the bottom Then there are two possible cases Case 1: C p is assigned to the track above that of C p Case 2: C p is assigned to the track below that of C p

18 Vertical Wire Layout : Case 1 In this case both the vertical wire segments are assigned to the same vertical layer V r just below the horizontal layer H r ngng nhnh HrHr VrVr

19 Vertical Wire Layout : Case 2 In this case, vertical wire segments of n g and n h are assigned to vertical layers V r and V r+1 respectively (above and below the horizontal layer H r ) ngng nhnh V r+1 VrVr HrHr

20 Application of MCC1 / MCC2 in Multilayer Channel Routing (Contd.) In this manner, all vertical constraints in a channel are resolved The result is a (2i+1)-layer V i+1 H i routing solution using tracks

21 If there is a column spanned by no nets! For example leftmost column has terminal 0 spanned by no other net I7I7 I1I1 I4I4 I2I2 5 I3I3 I6I6 I5I5 3621740

22 The result is increase in running time of MCC1 Running time of MCC1 is O(n+e) where n is the number of nets and e is the size of HNCG If HNCG is sparse e = O(n) But for introduction of node ‘0’, e = O(n 2 ) Thus, if there is a column spanned by no other net, running time of MCC1 becomes O(n+O(n 2 )) = O(n 2 ) 7 3 5 6 4 2 1 0

23 Preprocessing of MCC1 We can split the net list at each such un- spanned column For example the net list {4,2,1,3,0,6,7,5} should be split into {4,2,1,3} and {6,7,5} MCC1 should be run independently on each of the splits Since HNCG for each split is now sparse i.e. has size O(n), MCC1 now runs in O(n)

24 MCC2 performs better than MCC1 Runs in O(nlogn) time Is independent of size of HNCG

25 Any Question Please ?


Download ppt "3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student # 0409052028."

Similar presentations


Ads by Google