1 / 42

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. 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:

emmy
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Chapter 5Part: 5.5 The Proposition: • Algorithm: MLCR (Multi-Layer Channel Router) • Time: O( e + ndmax)

  3. Chapter 5Part: 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)

  4. Chapter 5Part: 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.

  5. Chapter 5Part: 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.

  6. Chapter 5Part: 5.5 The Solution: • Layer distribution (VHVH): • 2 Vertical layers: V1 and V2 • 2 Horizontal layers: H1 and H2 V1 H1 V2 H2

  7. Chapter 5Part: 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: V2 V1 H1 V2 H2

  8. Chapter 5Part: 5.5 The Solution: • Layer distribution (VHVH): • Select Clique-Cover CCH2for the layer H2in such a way that it is as large as possible, given, | CCH2 | <= floor(dmax/2). V1 H1 V2 H2

  9. Chapter 5Part: 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.

  10. Chapter 5Part: 5.5 Steps: 0 1 3 1 4 4 1 4 3 2 4 3 4 2 2 3

  11. Chapter 5Part: 5.5 Steps: 1 3 1 2 4 4 3 2 HCG VCG

  12. Chapter 5Part: 5.5 Steps: 1 2 4 3 HNCG

  13. Chapter 5Part: 5.5 Steps: 4 2 1 2 4 3 1 3 HNCG

  14. Chapter 5Part: 5.5 Steps: 4 2 1 2 4 3 1 3 HNCG

  15. Chapter 5Part: 5.5 Steps: 4 4 2 1 2 3 3 HNCG

  16. Chapter 5Part: 5.5 Steps: 4 4 2 1 3 3 HNCG

  17. Chapter 5Part: 5.5 Steps: 4 4 2 1 3 HNCG

  18. Chapter 5Part: 5.5 Steps: 4 1 3 2 Cliques

  19. Chapter 5Part: 5.5 Steps: 4 Cliques: {4}, {1}, {3,2} 1 3 2 Cliques

  20. Chapter 5Part: 5.5 Steps: 0 1 3 1 4 4 4 1 3 2 4 3 4 2 2 3

  21. Chapter 5Part: 5.5 Steps: 0 1 3 1 4 4 4 1 3 2 4 3 4 2 2 3

  22. Chapter 5Part: 5.5 Steps: VHV Solution 0 1 3 1 4 4 4 1 3 2 4 3 4 2 2 3

  23. Chapter 5Part: 5.5 Steps: Extend to VHVH 1 4 C1 : 3 1 2 1 C2 : 4 4 3 3 2 C3 : 2 Cliques HCG VCG

  24. Chapter 5Part: 5.5 Steps: 1 3 C1 C2 4 C3 2 VCG RVC

  25. Chapter 5Part: 5.5 Steps: C1 C2 C3 RVC

  26. Chapter 5Part: 5.5 Steps: C1 C2 C3 RVC

  27. Chapter 5Part: 5.5 Steps: C1 C2 C3 RVC

  28. Chapter 5Part: 5.5 Cases: A cycle with K vertices, where K>=3 C1 C2 ‘K-1’ vertices transferable, which is sufficient. At least 2 vertices are transferable for each cycle, since K>=3 Ck C3 C4 C5 RVC

  29. Chapter 5Part: 5.5 Cases: A two-cycle C1 C7 C6 Only one vertex is transferable from a two-cycle C2 C3 C5 C4 RVC

  30. Chapter 5Part: 5.5 Cases: A two-cycle C1 C7 C6 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. C2 C3 C5 C4 RVC

  31. Chapter 5Part: 5.5 Cases: A two-cycle C1 C7 C6 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. C2 C3 C5 C4 RVC

  32. Chapter 5Part: 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.

  33. Multi-Layer Channel Router (MLCR)

  34. Multi-Layer Channel Router (MLCR)

  35. Chapter 5Part: 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.

  36. Chapter 5Part: 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)

  37. Chapter 5Part: 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)

  38. Chapter 5Part: 5.5 Time: O( e + ndmax ) • O( n ) computation time: [n = number of nets] • VC = ( V,A ) • RVC = (CC, A') • RVC‘ = (CC, A'')

  39. Chapter 5Part: 5.5 Time: O( e + ndmax ) • O( n + e ) computation time: [n = number of nets] • [e = size of HNCG] • Generating HNCG, and • Generating CC

  40. Chapter 5Part: 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]

  41. Chapter 5Part: 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 dmaxvertices are inserted into CCH2. • So total time taken: O( ndmax )

  42. Chapter 5Part: 5.5 Time: O( e + ndmax ) • Total time needed, T = O( (n + e) + n log dmax + ndmax ) • = O (e + ndmax )

More Related