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

Recommend


More recommend