3.3 multi-layer v i+1 h i channel routing

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

Upload: billy

Post on 20-Mar-2016

68 views

Category:

Documents


0 download

DESCRIPTION

3.3 Multi-Layer V i+1 H i Channel Routing. Presented by Md. Shaifur Rahman Student # 0409052028. Vertical Layer (Top). Layer 1. Horizontal Layer. Layer 2. Layer 3. Via Connection. Vertical Layer (Bottom). Multi-Layer 3D View. 3-Layer VHV Channel Router. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 3.3 Multi-Layer V i+1 H i  Channel Routing

3.3 Multi-Layer Vi+1Hi Channel Routing

Presented byMd. Shaifur RahmanStudent # 0409052028

Page 2: 3.3 Multi-Layer V i+1 H i  Channel Routing

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

Page 3: 3.3 Multi-Layer V i+1 H i  Channel Routing

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

1 2

2 1

Page 4: 3.3 Multi-Layer V i+1 H i  Channel Routing

Necessity of more than 2 layers!

Vertical Constraint Graph with a Cycle

1 2

Page 5: 3.3 Multi-Layer V i+1 H i  Channel Routing

Solution in VHV Routing Any Vertical Constraint (ni, nj) can be

resolved by routing vertical wire segments of ni and nj 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

Page 6: 3.3 Multi-Layer V i+1 H i  Channel Routing

Routing Channels Top View

VHV Routing Scenario

1

1

2

2

Page 7: 3.3 Multi-Layer V i+1 H i  Channel Routing

Routing Channels in 3D

VHV Routing Channels

2

1

21

Page 8: 3.3 Multi-Layer V i+1 H i  Channel Routing

Channel Density dmax

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 dmax has at least one column spanned by dmax nets

Page 9: 3.3 Multi-Layer V i+1 H i  Channel Routing

Channel Density dmax(Contd.)

Channel Density 5

1

2

3

4

5

Page 10: 3.3 Multi-Layer V i+1 H i  Channel Routing

Multiple Horizontal Layers Multiple Horizontal Layers can

reduce routing area If there are i horizontal layers H1,

H2,.., Hi, and channel density is dmax, then minimum number of track required per horizontal layer is :

idmax

Page 11: 3.3 Multi-Layer V i+1 H i  Channel Routing

Multiple Horizontal Layers (Contd.)

dmax nets in a column must be distributed in i horizontal layers.

325

Page 12: 3.3 Multi-Layer V i+1 H i  Channel Routing

What does Vi+1Hi 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 Layer4 Vertical Layers and 3 Horizontal Layers,

Channel Density 4

Page 13: 3.3 Multi-Layer V i+1 H i  Channel Routing

Benefit of Vi+1Hi

Page 14: 3.3 Multi-Layer V i+1 H i  Channel Routing

Application of MCC1 / MCC2 in Multilayer Channel Routing Problem

Compute Minimum Clique Cover for Horizontal Non-constraint Graph (HNCG)

There are dmax cliques of the minimum clique cover. Assign dmax cliques arbitrarily to i horizontal layers. Maximum number of tracks per horizontal layer is

idmax

Page 15: 3.3 Multi-Layer V i+1 H i  Channel Routing

Illustration of MCC1/MCC2 Applied to Multilayer CRP

7

1

3

5

6

4

2 Clique Cover CC={C1, C2,C3, C4}whereC1: {5, 1, 4}C2: {2, 7}C3: {3}C4: {6}

Page 16: 3.3 Multi-Layer V i+1 H i  Channel Routing

Illustration of MCC1/MCC2 Applied to Multilayer CRP (Contd.)

Place nets of same clique in the same track in any horizontal layer

I7

I1 I4

I2

5

I3

I6

I5

3 6 2 1 7 4

Page 17: 3.3 Multi-Layer V i+1 H i  Channel Routing

Application of MCC1 / MCC2 in Multilayer Channel Routing Vertical Wire Layout

Suppose that two nets ng and nh that are members of two separate cliques Cp and Cq respectively, are laid out in the same horizontal layer Hr

Suppose has ng terminal on the top and nh has terminal at the bottom

Then there are two possible cases Case 1: Cp is assigned to the track above that of Cp Case 2: Cp is assigned to the track below that of Cp

Page 18: 3.3 Multi-Layer V i+1 H i  Channel Routing

Vertical Wire Layout : Case 1

In this case both the vertical wire segments are assigned to the same vertical layer Vr just below the horizontal layer Hr

ng

nh

Hr

Vr

Page 19: 3.3 Multi-Layer V i+1 H i  Channel Routing

Vertical Wire Layout : Case 2

In this case, vertical wire segments of ng and nh are assigned to vertical layers Vr and Vr+1 respectively (above and below the horizontal layer Hr )

ng

nh

Vr+1

Vr

Hr

Page 20: 3.3 Multi-Layer V i+1 H i  Channel Routing

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 Vi+1Hi routing solution using tracks

idmax

Page 21: 3.3 Multi-Layer V i+1 H i  Channel Routing

If there is a column spanned by no nets!

For example leftmost column has terminal 0 spanned by no other net

I7

I1 I4

I2

5

I3

I6

I5

3 6 2 1 7 40

Page 22: 3.3 Multi-Layer V i+1 H i  Channel Routing

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(n2)• Thus, if there is a column

spanned by no other net, running time of MCC1 becomes

O(n+O(n2)) = O(n2)

7

3

5

6

4

2

10

Page 23: 3.3 Multi-Layer V i+1 H i  Channel Routing

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)

Page 24: 3.3 Multi-Layer V i+1 H i  Channel Routing

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

Page 25: 3.3 Multi-Layer V i+1 H i  Channel Routing

Any Question Please ?