multi-layer channel routing complexity and algorithm by rajat k. pal

42
Multi-Layer Channel Routing Complexity and Algorithm by Rajat K. Pal Presented by: Nur-Ul-Arafat 0409052077

Upload: emmy

Post on 16-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Multi-Layer Channel Routing Complexity and Algorithm by Rajat K. Pal. Presented by: Nur-Ul- Arafat 0409052077. Chapter 5 Part: 5.5. The Proposition : Algorithm: MLCR (Multi-Layer Channel Router) Time: O( e + nd max ). Chapter 5 Part: 5.5. The Proposition : Target Routing Model: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Multi-Layer Channel Routing Complexity and Algorithm

by Rajat K. Pal

Presented by: Nur-Ul-Arafat

0409052077

Page 2: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Proposition:

• Algorithm: MLCR (Multi-Layer Channel Router)

• Time: O( e + ndmax)

Page 3: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Proposition:

• Target Routing Model: » 4 Layer VHVH

** So far we have discussed and learned Routing Algorithms for Models with fewer layers, such as 3 layer routing model (VHV) or 2 layer routing model (VH)

Page 4: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Proposition:

• Objective: » As few tracks as possible.

** In VH routing model we had resolved the issues like Maximal Clique, fewest possible track etc.

In VHV routing model we had removed the Vertical Constraints from the channel and we could successfully design a channel with any combination of node with number of tracks being dmax.

Here our objective is to reduce the number of tracks significantly in order to reduce the size of the channel.

Page 5: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Solution:

• Basis of Solution: » An existing VHV routing solution

** We already have several solutions for routing 3 Layer VHV routing solution which run in linear time. So we can efficiently extend an existing solution to a new solution for 4 Layer VHVH channel routing.

Page 6: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Solution:

• Layer distribution (VHVH): » 2 Vertical layers: V1 and V2» 2 Horizontal layers: H1 and H2

V1

H1

V2

H2

Page 7: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Solution:

• Layer distribution (VHVH): » H1 is adjacent both to V1 and V2» H2 is called the ‘extreme’ horizontal layer. It

is adjacent to only one Vertical layer: V2V1

H1

V2

H2

Page 8: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Solution:

• Layer distribution (VHVH): » Select Clique-Cover CCH2 for the layer H2

in such a way that it is as large as possible, given,

| CCH2 | <= floor(dmax/2).

V1

H1

V2

H2

Page 9: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

The Solution:

• Resolving Vertical Constraints: » For nets which has tracks in H1: the vertical

constraints can be solved in a similar manner as in VHV routing module.

» For H2, We select the Cliques in such a way that there remains no vertical constraint between the cliques i.e. no cycle in RVCccH2.

Page 10: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps: 443 110

234 234

2

3

4

1

Page 11: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

34

2

HCG

1

3

4

2

VCG

Page 12: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

34

2

HNCG

Page 13: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

34

2

HNCG

1

4

3

2

Page 14: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

34

2

HNCG

1

4

3

2

Page 15: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

3

4

2

HNCG

4

3

2

Page 16: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

3

4

2

HNCG

4

3

Page 17: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

3

4

2

HNCG

4

Page 18: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

3

4

2

Cliques

Page 19: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

1

3

4

2

Cliques

Cliques:

{4}, {1}, {3,2}

Page 20: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps: 443 110

234 234

23

4

1

Page 21: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps: 443 110

234 234

23

4

1

Page 22: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps: VHV Solution 443 110

234 234

23

4

1

Page 23: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps: Extend to VHVH

1

34

2

HCG

1

3

4

2

VCG

1

3

4

2

Cliques

C1 :

C2 :

C3 :

Page 24: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps: 1

3

4

2

VCG

C3

C2C1

RVC

Page 25: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

C3

C2C1

RVC

Page 26: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

C3

C2C1

RVC

Page 27: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Steps:

C3

C2C1

RVC

Page 28: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A cycle with K vertices, where K>=3

C3

Ck

C1

RVC

C5

C2

C4

‘K-1’ vertices transferable, which is sufficient.

At least 2 vertices are transferable for each cycle, since K>=3

Page 29: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A two-cycle

C3

C6

C1

RVC

C5

C2

C4

Only one vertex is transferable from a two-cycle

C7

Page 30: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A two-cycle

C3

C6

C1

RVC

C5

C2

C4

Only one vertex is transferable from a two-cycle

Choose those in as less two-cycles as possible. This leaves more choices free for transfer.

C7

Page 31: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A two-cycle

C3

C6

C1

RVC

C5

C2

C4

Only one vertex is transferable from a two-cycle

Choose those in as less two-cycles as possible. This leaves more choices free for transfer.

C7

Page 32: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A two-cycle

Cycle Index – a method to identify the number of two-cycles a vertex is in and sort them according to this number.

• Conceptually the number of two-cycles that a vertex is in.

• Remove all the edges of RVC except those are in a two-cycle. Now, the in-degree or the out-degree (any one) of the vertex is its cycle-index.

• Need linear time to count it.

•The cycle index of an isolated vertex is zero.

Page 33: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Multi-Layer Channel Router (MLCR)

Page 34: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Multi-Layer Channel Router (MLCR)

Page 35: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A two-cycle

Generating the clique-cover CCH2

• Sort the vertices according to their cycle-indices in ascending order.

• Start inserting vertices into CCH2 from CC starting from the lowest cycle-index value, gradually moving to higher.

Page 36: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A two-cycle

Generating the clique-cover CCH2

• Two cases might take place while inserting:

Case one: the inserted vertex does not introduce a cycle in RVCCCH2. In this case, insert the vertex.

Get the next vertex from the sorted CC and continue this way unless CC is exhausted or |CCH2|=floor(dmax/2)

Page 37: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Cases: A two-cycle

Generating the clique-cover CCH2

• Two cases might take place while inserting:

Case two: the inserted vertex introduces a cycle in RVCCCH2. In this case, do not insert the vertex.

Get the next vertex from the sorted CC and continue this way unless CC is exhausted or |CCH2|=floor(dmax/2)

Page 38: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Time: O( e + ndmax )

• O( n ) computation time: [n = number of nets]

• VC = ( V,A )

• RVC = (CC, A')

• RVC‘ = (CC, A'')

Page 39: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Time: O( e + ndmax )

• O( n + e ) computation time: [n = number of nets]

[e = size of HNCG]

• Generating HNCG, and

• Generating CC

Page 40: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Time: O( e + ndmax )

• O( n log dmax) computation time: [n = number of nets]

[e = size of HNCG]

• Sorting CC each time after removing a vertex from it. [If a balanced binary tree is used]

Page 41: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Time: O( e + ndmax )

• O( ndmax ) computation time: [n = number of nets]

[e = size of HNCG]

• Checking if a vertex induce a cycle in CCH2.

• Each time needs to check all members of CCH2. It takes time n.

• Needs to check this dmax times, since at most dmax vertices are inserted into CCH2.

• So total time taken: O( ndmax )

Page 42: Multi-Layer Channel Routing Complexity and Algorithm  by Rajat K. Pal

Chapter 5 Part: 5.5

Time: O( e + ndmax )

• Total time needed, T = O( (n + e) + n log dmax + ndmax )

= O (e + ndmax )