steiner routing
play

Steiner Routing ECE6133 Physical Design Automation of VLSI Systems - PowerPoint PPT Presentation

Steiner Routing ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology ARM A53 Placement 1/11 TSMC 28nm BEOL Spec 2/11 Width Pitch R C Dir.


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

  2. ARM A53 Placement 1/11

  3. TSMC 28nm BEOL Spec 2/11 Width Pitch R C Dir. (um) (um) (ohm/um) (fF/um) M1 0.05 0.135 V M1 7.24 0.172 M2 0.05 0.100 H M2 9.05 0.175 M3 0.05 0.100 V M3 9.06 0.181 M4 0.05 0.100 H M4 9.05 0.177 M5 0.05 0.100 V M5 9.06 0.180 M6 0.05 0.100 H M6 9.05 0.177

  4. Full-Chip Routing 3/11 M1 M2 M3

  5. Full-Chip Routing 4/11 M4 M5 M6

  6. M1 Layer (Mostly Intra-Cell Routing) 5/11 yellow: signal

  7. M2 Layer 6/11 yellow: signal magenta: clock, red: power/ground

  8. M3 Layer 7/11 yellow: signal magenta: clock

  9. M4 8/11 yellow: signal magenta: clock

  10. M5 9/11 yellow: signal magenta: clock, red: power/ground

  11. M6 10/11 yellow: signal cyan: power/ground

  12. M7 and M8 11/11 magenta: power/ground

  13. Routing placement Generates a "loose" route for each net. Assigns a list of routing regions to each net without specifying the actual layout of wires. global routing Global routing detailed routing Finds the actual geometric layout of each net within the assigned routing regions. compaction Detailed routing

  14. Routing Constraints • 100% routing completion + area minimization, under a set of constraints: – Placement constraint: usually based on fixed placement – Number of routing layers – Geometrical constraints: must satisfy design rules – Timing constraints (performance-driven routing): must satisfy delay constraints – Crosstalk? – Process variations? w s Two−layer routing Geometrical constraint

  15. Graph Models for Global Routing: Grid Graph • Each cell is represented by a vertex. • Two vertices are joined by an edge if the corresponding cells are adjacent to each other. • The occupied cells are represented as filled circles, whereas the others are as clear circles. d d a b b a c c

  16. Graph Model: Channel Intersection Graph • Channels are represented as edges. • Channel intersections are represented as vertices. • Edge weight represents channel capacity. • Extended channel intersection graph: terminals are also represented as vertices. channel intersection graph extended channel intersection graph

  17. Global-Routing Problem • Given a netlist N= { N 1 , N 2 , . . . , N n } , a routing graph G = ( V, E ), find a Steiner tree T i for each net N i , 1 ≤ i ≤ n , such that U ( e j ) ≤ c ( e j ), ∀ e j ∈ E and � n i =1 L ( T i ) is minimized, where – c ( e j ): capacity of edge e j ; – x ij = 1 if e j is in T i ; x ij = 0 otherwise; – U ( e j ) = � n i =1 x ij : # of wires that pass through the channel corre- sponding to edge e j ; – L ( T i ): total wirelength of Steiner tree T i . • For high-performance, the maximum wirelength (max n i =1 L ( T i )) is mini- mized (or the longest path between two points in T i is minimized).

  18. Classification of Global-Routing Algorithm • Sequential approach: Assigns priority to nets; routes one net at a time based on its priority (net ordering?). • Concurrent approach: All nets are considered at the same time (com- plexity?) global−routing algorithm sequential approach concurrent approach two−terminal multi−terminal hierarchical integer programming maze Steiner−tree based line−search Lee Hadlock Soukup

  19. Data Structur es and Basic A lgorithms Spanning T ree Problem F orm ulation� Giv en a graph � � V �� select a subset � � � G � E V V � suc h that � has prop ert y P � V Minim um Spanning T ree � Problem F orm ulation� Giv en an edge�w eigh ted graph � � V �� select a subset G � E of edges � � suc h that � induces a tree and the E E E total cost of edges t � e �� is minim um o v er w P � i e � E i � all suc h trees� where t � e � is the cost or w eigh t of w i the edge � e i Used in routing applications� � ��� c j Sherw ani �� A lgorithms for VLSI Physic al Design A utomation

  20. Data Structur es and Basic A lgorithms Steiner T rees �� Problem form ulation� Giv en an edge w eigh ted graph � � V � and a subset � � G � E D V select a subset � � � suc h that � � and � V V D V V induces a tree of minim um cost o v er all suc h trees� � The set is referred to as the set of and D demand p oints the set � � is referred to as oints � V D Steiner p � Used in the global routing of m ulti�terminal nets� A B 7 5 C 4 D 7 6 5 E 6 8 6 12 J 3 2 F 9 6 5 H 5 5 G 6 I Demand Point (a) (b) ���� c j Sherw ani �� A lgorithms for VLSI Physic al Design A utomation

  21. Data Structur es and Basic A lgorithms Underlying Grid Graph The underlying grid graph is de�ned b y the in tersections of the � horizon tal and v ertical lines dra wn through the demand p oin ts� ���� c j Sherw ani �� A lgorithms for VLSI Physic al Design A utomation Hanan's Thm (69'):� There exists an optimal � RST with all Steiner � points (set S) chosen � from the intersection � points of horizontal � and vertical lines � drawn from points of D.

  22. Data Structur es and Basic A lgorithms Di�eren t Steiner trees constructed from a MST (a) (b) (c) (d) (e) ���� c j Sherw ani �� A lgorithms for VLSI Physic al Design A utomation Hwang's Thm (76'):� The ratio of the cost of � a rectilinear MST to � that of an optimal RST � is no greater than 3/2.� � �

  23. The 1-Steiner Problem � Definition Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

  24. Why 1-Steiner Insertion? � Can Reduce Wirelength Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

  25. 1-Steiner by Kahng/Robins � Iterative 1-Steiner Insertion Algorithm � Keep adding 1-Steiner point one-by-one until no more gain � Naïve implementation: O(n 2 × n log n × n) � Sophisticated implementation: O(n 3 ) Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

  26. 1-Steiner Routing by Kahng/Robins � Perform 1-Steiner Routing by Kahng/Robins � Need an initial MST: wirelength is 20 � 16 locations for Steiner points Practical Problems in VLSI Physical Design 1-Steiner Algorithm (1/17)

  27. First 1-Steiner Point Insertion � There are six 1-Steiner points � Two best solutions: we choose (c) randomly before insertion Practical Problems in VLSI Physical Design 1-Steiner Algorithm (2/17)

  28. First 1-Steiner Point Insertion (cont) before insertion Practical Problems in VLSI Physical Design 1-Steiner Algorithm (3/17)

  29. Second 1-Steiner Point Insertion � Need to break tie again � Note that (a) and (b) do not contain any more 1-Steiner point: so we choose (c) before insertion Practical Problems in VLSI Physical Design 1-Steiner Algorithm (4/17)

  30. Third 1-Steiner Point Insertion � Tree completed: all edges are rectilinearized � Overall wirelength reduction = 20 − 16 = 4 before insertion Practical Problems in VLSI Physical Design 1-Steiner Algorithm (5/17)

  31. 1-Steiner by Borah/Owens/Irwin � Interesting Observation Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

  32. Gain Computation � Things to do � Thus, the gain is Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

  33. Overall Algorithm � Multi-pass Heuristic � Entire algorithm can be repeated Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

  34. 1-Steiner Routing by Borah/Owens/Irwin � Perform a single pass of Borah/Owens/Irwin � Initial MST has 5 edges with wirelength of 20 � Need to compute the max-gain (node, edge) pair for each edge in this MST Practical Problems in VLSI Physical Design 1-Steiner Algorithm (6/17)

  35. Best Pair for ( a,c ) Practical Problems in VLSI Physical Design 1-Steiner Algorithm (7/17)

  36. Best Pair for ( b,c ) � Three nodes can pair up with ( b,c ) l ( a,c ) − l ( p,a ) = 4 − 2 Practical Problems in VLSI Physical Design 1-Steiner Algorithm (8/17)

  37. Best Pair for ( b,c ) (cont) � All three pairs have the same gain � Break ties randomly l ( b,d ) − l ( p,d ) = 5 − 4 l ( c,e ) − l ( p,e ) = 4 − 3 Practical Problems in VLSI Physical Design 1-Steiner Algorithm (9/17)

  38. Best Pair for ( b,d ) � Two nodes can pair up with ( b,d ) � both pairs have the same gain l ( b,c ) − l ( p,c ) = 4 − 3 l ( b,c ) − l ( p,e ) = 4 − 3 Practical Problems in VLSI Physical Design 1-Steiner Algorithm (10/17)

  39. Best Pair for ( c,e ) � Three nodes can pair up with ( c,e ) l ( b,c ) − l ( p,b ) = 4 − 3 l ( b,d ) − l ( p,d ) = 5 − 4 Practical Problems in VLSI Physical Design 1-Steiner Algorithm (11/17)

  40. Best Pair for ( c,e ) (cont) l ( e,f ) − l ( p,f ) = 3 − 2 Practical Problems in VLSI Physical Design 1-Steiner Algorithm (12/17)

  41. Best Pair for ( e,f ) � Can merge with c only l ( c,e ) − l ( p,c ) = 4 − 3 Practical Problems in VLSI Physical Design 1-Steiner Algorithm (13/17)

Recommend


More recommend