multi net routing
play

Multi-net Routing ECE6133 Physical Design Automation of VLSI - PowerPoint PPT Presentation

Multi-net Routing ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology Routing Models Grid-based model: A grid is super-imposed on the


  1. Multi-net Routing ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology

  2. Routing Models • Grid-based model: – A grid is super-imposed on the routing region. – Wires follow paths along the grid lines. • Gridless model: – Any model that does not follow this “gridded” approach. grid−based gridless

  3. Models for Multi-Layer Routing • Unreserved layer model: Any net segment is allowed to be placed in any layer. • Reserved layer model: Certain type of segments are restricted to par- ticular layer(s). – Two-layer: HV (horizontal-Vertical), VH – Three-layer: HVH, VHV track 3 track 2 track 2 track 1 track 1 track 1 unreserved layer model HVH model VHV model 3 types of 3−layer models

  4. Terminology for Channel Routing Problems terminals 0 1 4 1 7 0 10 5 6 4 9 upper boundary 0 1 4 5 1 6 7 0 4 9 10 netlist: 2 3 5 3 5 2 6 8 9 8 7 lower boundary 8 7 5 5 2 6 8 9 2 3 3 local 2 3 3 4 3 3 5 5 4 3 1 density terminals upper boundary vias dogleg branches lower boundary trunks • Local density at column i : total # of nets that crosses column i . • Channel density: maximum local density; # of horizontal tracks required ≥ channel density.

  5. Channel Routing Problem • Assignments of horizontal segments of nets to tracks. • Assignments of vertical segments to connect. – horizontal segments of the same net in different tracks, and – the terminals of the net to horizontal segments of the net. • Horizontal and vertical constraints must not be violated. – Horizontal constraints between two nets: The horizontal span of two nets overlaps each other. – Vertical constraints between two nets: There exists a column such that the terminal on top of the column belongs to one net and the terminal on bottom of the column belongs to the other net. • Objective: Channel height is minimized (i.e., channel area is mini- mized).

  6. Horizontal Constraint Graph (HCG) • HCG G = ( V, E ) is undirected graph where – V = { v i | v i represents a net n i } – E = { ( v i , v j ) | a horizontal constraint exists between n i and n j } . • For graph G : vertices ⇔ nets; edge ( i, j ) ⇔ net i overlaps net j . 1 5 1 0 5 2 0 2 1 1 3 4 0 4 2 3 3 4 0 2 0 1 2 5 0 3 3 A routing problem and its HCG.

  7. Vertical Constraint Graph (VCG) • VCG G = ( V, E ) is directed graph where – V = { v i | v i represents a net n i } – E = { ( v i , v j ) | a vertical constraint exists between n i and n j } . • For graph G : vertices ⇔ nets; edge i → j ⇔ net i must be above net j . 1 5 1 0 5 2 0 2 1 1 3 4 0 4 2 3 3 4 0 2 0 1 2 5 0 3 3 A routing problem and its VCG.

  8. 2-L Channel Routing: Basic Left-Edge Algorithm • Hashimoto & Stevens, “Wire routing by optimizing channel assignment within large apertures,” DAC-71. • No vertical constraint. • HV-layer model is used. • Doglegs are not allowed. • Treat each net as an interval. • Intervals are sorted according to their left-end x -coordinates. • Intervals (nets) are routed one-by-one according to the order. • For a net, tracks are scanned from top to bottom, and the first track that can accommodate the net is assigned to the net. • Optimality: produces a routing solution with the minimum # of tracks (if no vertical constraint).

  9. Basic Left-Edge Algorithm Algorithm: Basic Left-Edge( U, track [ j ] ) U : set of unassigned intervals (nets) I 1 , . . . , I n ; I j = [ s j , e j ] : interval j with left-end x -coordinate s j and right-end e j ; track [ j ] : track to which net j is assigned. 1 begin 2 U ← { I 1 , I 2 , . . . , I n } ; 3 t ← 0 ; 4 while ( U � = ∅ ) do t ← t + 1 ; 5 watermark ← 0 ; 6 (there is an I j ∈ U s.t. while s j > watermark ) do 7 Pick the interval I j ∈ U with s j > watermark , 8 nearest watermark ; track [ j ] ← t ; 9 watermark ← e j ; 10 U ← U − { I j } ; 11 12 end

  10. Basic Left-Edge Example • U = { I 1 , I 2 , . . . , I 6 } ; I 1 = [1 , 3], I 2 = [2 , 6], I 3 = [4 , 8], I 4 = [5 , 10], I 5 = [7 , 11], I 6 = [9 , 12]. • t = 1: – Route I 1 : watermark = 3; – Route I 3 : watermark = 8; – Route I 6 : watermark = 12; • t = 2: – Route I 2 : watermark = 6; – Route I 5 : watermark = 11; • t = 3: Route I 4 column: 1 3 4 6 7 8 9 2 5 10 11 12 1 3 0 0 0 4 2 0 0 4 0 6 0 1 0 0 5 0 6 0 5 0 2 3 density: 1 2 3 3 3 3 3 3 2 1 2 2

  11. Constrained Left-Edge Algorithm Algorithm: Constrained Left-Edge( U, track [ j ] ) U : set of unassigned intervals (nets) I 1 , . . . , I n ; I j = [ s j , e j ] : interval j with left-end x -coordinate s j and right-end e j ; track [ j ] : track to which net j is assigned. 1 begin 2 U ← { I 1 , I 2 , . . . , I n } ; 3 t ← 0 ; 4 while ( U � = ∅ ) do t ← t + 1 ; 5 watermark ← 0 ; 6 (there is an unconstrained I j ∈ U s.t. while s j > watermark ) do 7 Pick the interval I j ∈ U that is unconstrained, 8 with s j > watermark , nearest watermark ; track [ j ] ← t ; 9 watermark ← e j ; 10 U ← U − { I j } ; 11 12 end

  12. Constrained Left-Edge Example • I 1 = [1 , 3], I 2 = [1 , 5], I 3 = [6 , 8], I 4 = [10 , 11], I 5 = [2 , 6], I 6 = [7 , 9]. • Track 1: Route I 1 (cannot route I 3 ); Route I 6 ; Route I 4 . • Track 2: Route I 2 ; cannot route I 3 . • Track 3: Route I 5 . • Track 4: Route I 3 . 1 3 1 1 2 2 5 6 0 4 0 3 3 6 0 5 0 5 5 0 4 2 1 4 2 2 5 6 5 5 3 3 3 3 track 1 track 2 track 4 track 3

  13. Doglegs in Channel Routing � Doglegs may reduce the longest path in VCG a a b c a b c c- 2 c- 1 a b c d d a b c d d a a c- 2 b b d c c- 1 d � Doglegs break cycles in VCG b a b a b-1 a ? b-1 a b b-2 b-2 a b a b

  14. Doglegs in Channel Routing (Cont’d) � Restricted Dogleg vs unrestricted dogleg a a a a a

  15. Detaile d R outing Dogleg Router � Dra wbac k of LEA� the en tire net is on a single trac k� � Doglegs are used to place parts of a net on di�eren t � trac ks� thereb y minimizing c hannel heigh t� 1 1 2 3 2 2 3 (a) 1 1 2 3 2 2 3 (b) Using a dogleg to reduce c hannel heigh t � ���� j c Sherw ani �� A lgorithms for VLSI Physic al Design A utomation

  16. Detaile d R outing Dogleg Router � Eac h Multi�terminal net is brok en in to a set of t w o�terminal nets� � Tw o parameters are used to con trol routing� �� range� Determine the n um b er of consecutiv e t w o�terminal subnets of the same net that can b e placed on the same trac k� � �� routing sequence� Sp eci�es the starting p osition and the direction of routing along the c hannel� � Mo di�ed LEA is applied to eac h subnet� 0 1 2 2 4 3 0 0 0 1 2 2 4 3 0 0 1 2 0 3 3 0 4 4 1 2 0 3 3 0 4 4 (a) (b) Example of Dogleg Router � ���� � Deutsc h ICCAD ���� j c Sherw ani �� A lgorithms for VLSI Physic al Design A utomation

  17. Dogleg Router: Example • Decompose multi-terminal nets into two-terminal nets Final solution

  18. Characterizing Channel Routing Problem 0 1 4 5 1 6 7 0 4 9 10 10 4 10 1 7 6 5 9 2 3 8 2 3 5 3 5 2 6 8 9 8 7 9 1 1 4 10 2 3 5 7 9 4 5 6 6 3 8 8 7 2 10 Vertical constraint graph G v 9 Horizontal constraint graph The channel routing problem is completely characterized by the vertical constraint graph and the horizontal constraint graph.

  19. Zone Representation of Horizontal Segments 0 1 4 5 1 6 7 0 4 9 10 10 4 10 1 7 6 2 5 9 3 8 2 3 5 3 5 2 6 8 9 8 7 9 2 1 1 1 1 2 4 4 4 7 7 9 2 2 2 2 4 6 7 7 8 9 10 3 3 3 4 6 7 8 8 9 10 4 4 5 9 5 5 Zone : 1 2 3 4 5

  20. Zone Representation of Horizontal Segments (Cont’d) Zone representation S(i): set of nets intersect column i � we only need to consider those s(i)s which are maximal � Zone ↔ maximal clique in the horizontal constraint graph

  21. Merging of Nets 1 7 1 4 10 8 2 9 3 5 7 9 4 5 6 6 10 3 8 2 � and � can be merged 10 1 7 1 4 8 7 2 3 5 6,9 10 4 6,9 5 3 8 2 Updated graph and zone rep Net i and net j can be merged if (a) there is no path (directed connecting them in VCG; (b) the two nets do not overlap

  22. Change of VCGs 10 10 10 1 4 1,7 1 4 4 7 5 7 9 5,6 9 5,6 9 6 3 8 3 2 8 3 2 8 2 (c) (a) (b) 4,10 10 track 1 4 1,7 1,7 track 2 5,6,9 track 3 5,6,9 2 3,8 track 4 2 track 5 (d) 3,8 (or 5) (or 4) (d) How to choose two feasible nets to merge? ⇒ Determine the quality of the solutions

  23. Process the Zones Sequentially 1 7 LEFT={1,3,5} 8 2 9 3 4 RIGHT={6) 10 5 6 7 1 LEFT={1,2,3} 8 2 9 3 RIGHT={7) 4 10 5,6 1,7 2 8 LEFT={2,3,5.6} 9 3 4 10 RIGHT={8,9) 5,6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend