Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 ROAD : An Order-Impervious Optimal Detailed Router Hasan Arslan, Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago ICCD 2003.

Similar presentations


Presentation on theme: "1 ROAD : An Order-Impervious Optimal Detailed Router Hasan Arslan, Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago ICCD 2003."— Presentation transcript:

1 1 ROAD : An Order-Impervious Optimal Detailed Router Hasan Arslan, Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago ICCD 2003

2 2 OUTLINE Introduction Standard Single-Net Routing Mode Ripup-Reroute Detailed Routing Alg. Bump &Refit (B&R) Concepts B&R Paradigm Applying B&R to Complete Detailed Routing Optimality-Preserving Speedup Methods Lookahead TC functions Learning-Based Search Space Pruning Clique-Based Search Space Pruning Experimental Results Conclusion

3 3 INTRODUCTION Efficient Routing: –Reducing total wiring area –Lengths of critical path nets for performance opt. Detailed Routing: –Net ordering problem ( Std. Single-Net Routing ) –Ripup-and-Reroute (R&R) New approach (Bump & Refit strategy)

4 4 222 2 2 2 010101 1 1 1 0 1 0 Prior work on Detailed Routing (Cont.) A B D C E E Standard single-net routing mode –during detail routing Does not perturb or move existing nets Switchboxes } } Tracks Tracks #s Cells S T

5 5 010101 1 1 1 0 1 0 Prior work on Detailed Routing(Cont.) ( RIPUP-and-REROUTE ) A B D C E E 1) Single Net Routing : Route new nets without removing any existing nets. 2) Rip & Reroute : If some nets cannot be routed, rip-up the existing nets which occupy the resources of new nets. Reroute the ripped up nets –Changes net topology –Net length can be increased –Because of ripup-reroute solution time can be increased

6 6 Complete Detailed Router by using Bump-&-Refit strategy Basic B&R developed for incremental routing ( Dutt etal. ICCAD’99, ICCAD’01, TODAES’02 ) Incremental Routing –Existing routed nets set R –Some new nets set S (timing violation, noise…) –Route the nets in S by doing min. changes on nets in R. Bump-&-Refit Approach –Does not rip-up and reroute –Shift them (or their subnets) to other track positions --- Bump-&-Refit (B&R) –No change in topology, length of existing nets –Optimal: Finds a detailed route if exists

7 7 Experimental Results (Dutt etal., TODAES 2002) Comparisons of STD, R&R, B&R Inc. Routing Alg. R&R=(85x) STD=(20x)

8 8 Each step in complete detailed routing is an incremental routing problem Complete Detailed Router (B&R) B&R Complete_Detailed_Routing() input: unrouted nets N: number of nets output: Routed nets. R 0 =  for (i=1 to N) R i =Do_Incremental_Routing(n i,R i-1 )

9 9 B&R Concepts Some definitions and representation (cont.) 3 01 2 301 2 301 2 3 2 1 0 2 1 0 2 1 0 3 3 n4 n2 n5 n3 n6 The overlap graph (OG) Nodes: existing nets Edges: a channel is shared by two nets T j  T k, bumps to some nets T0 T3 T2 T1 T2 T3 T0 T2 T3 n2 T 1 n3 T 0 n4 T 2 n5 T 3 n6 T 0 SP T 2

10 10 010101 1 1 1 0 1 0 B&R Concepts AT0AT0 A B BT1BT1 CT0CT0 DT1DT1 C D E EXEX New_Net O_Net (i)TC 1 sum (n i Tj  Tk ) =  l(n j )  n j  adj Tk (n i )  total-length-of bumped nets  l(n j )  n j  adj Tk (n i ) (ii) TC 1 sqrt ( n i Tj  Tk ) = ----------------------------- sqrt(| adj Tk (n i )| l(n j ) is the total length of n j in terms of the track segments adj T1 (E)={B} adj T0 (E)={C}

11 11 TC 1 = Total-length-of-bumped-nets n 1 n 2 n 4 0 1 2 n5n5 n3n3 B&R Concepts n1n1 n2n2 n3n3 T1T1 T2T2 n4n4 n5n5 12 6 1 st Level TC Functions

12 12 010101 1 1 1 0 1 0 Example: B&R for Detailed Routing AT0AT0 A B BT1BT1 CT0CT0 DT1DT1 C D E EXEX New_Net ET0ET0 CXCX O_Net D_Sp T 0 C 2 3

13 13 010101 1 1 1 0 1 0 Example: B&R for Detailed Routing(Cont.) AT0AT0 A B BT1BT1 DT1DT1 D E New_Net ET0ET0 CXCX O_Net D_Sp T 0 C CT1CT1 DXDX DT0DT0

14 14 Navigating the OG 4 5 6 8 Sp 10 12 Sp 11 Sp New-net 1 2 3 T2T2 T1T1 T3T3 T3T3 T1T1 T2T2 T3T3 9 T2T2 T3T3 T1T1 B&R Concepts If there is a solution, this process will find it. it optimizes the number of tracks Time Complexity: L= # of paths in OG (m=# of nodes, b:branching factor) In worst case L=O((b-1) m ) If OG is tree L is linear

15 15 Optimality-Preserving Speedup Methods Regular incremental routing: B&R applied to 1-10% of the nets---speed is good Complete detailed routing: B&R applied to 100% of nets--speed drops significantly Developed three optimality-preserving speedup methods to increase the speed of B&R

16 16 n 1 n 2 n 3 0 1 2 n6n6 n4n4 n5n5 (i) TC 1 = Total-length-of-bumped-nets (i) TC 2 sum-sum (n i Tj  Tk ) =   n j  adj Tk (n i ) min  Tt (TC 1 sum (n i Tk  Tt )) T0T0 n4n4 n5n5 T1T1 n6n6 T2T2 T0T0 Sp n1n1 n2n2 n3n3 T1T1 T2T2 Optimality-Preserving Speedup Methods (Cont.) (1) Lookahead TC Functions 7 3 3 03 5

17 17 (2) Clique-Based Search Space Pruning AT1AT1 CT0CT0 BT2BT2 DT3DT3 YT3YT3 AT1AT1 CT0CT0 BT2BT2 DT3DT3 B Y T 0 T 1 T 2 A C D T 3 X B Y T 0 T 1 T 2 A C D T 3 X Dynamically determines the presence of cliques in the OG among the longer nets CLIQUE: is a completely connected subgraph of OG Min. # of distinct tracks for succ. Routing (m=4) For each clique, maintain the number of common unused (CUT) track. (k) After a net in clique is bumped, If (k+m) > t, there is no solution to bump that net. (1+4) > 4 Optimality-Preserving Speedup Methods (Cont.)

18 18 (3) Learning-Based Search Space Pruning A C D K B P 1 A D K A D C K B T0T0 T1T1 T2T2 T3T3 Optimality-Preserving Speedup Methods (Cont.) 2 A C D X Z K B Q A D K D A C KX Z B T0T0 T1T1 T2T2 T3T3 Theorem: if no soln. for bumping net B, and obstacle pattern OP 1 is obtained – If in another search path, B is bumped again and OP 1  AP 2 – Then no solution exists

19 19 Isomorphic Function: –f: is a one-to-one and onto functions between tracks that maps T i  T k where T k =T f(i) Pattern Isomorphism: Let P1 and P2 be obstacle patterns, If all nets on each track of P1 appears on a unique, possibly different, track of P2, then P1 is isomorphic to P2. C K B T0T0 T1T1 T2T2 T3T3 T0T0 T1T1 T2T2 T3T3 C KX Z B A D A D Optimality-Preserving Speedup Methods (Cont.) (3) Learning-Based Search Space Pruning

20 20 A C D K B P 1 2 A C D X Z K B Q A D K A D K A D C K B T0T0 T1T1 T2T2 T3T3 T0T0 T1T1 T2T2 T3T3 C KX Z B A D Optimality-Preserving Speedup Methods (Cont.) (3) Learning-Based Search Space Pruning Theorem: if no soln. for bumping net B, and obstacle pattern OP 1 is obtained – If in another search path, B is bumped again OP 2  AP 2 & OP 1 isomorphic to OP 2 – Then no solution exists

21 21 Experimental Results (Characteristics of VPR Benchmark Circuits)

22 22 Experimental Results (Speedup Method Results) ROAD -1 : Basic B&R with 1 st TC Function ROAD 0 : 1 st TC Function  2 nd TC Function ROAD: LBS + Clique-Based pruning mtd. Added to ROAD 0 ROAD (bumped & Refit based OptimAl Detailed router)

23 23 Experimental Results (Internal Comparisons) Extrapolated Speed up of ROAD over ROAD -1 83 x 61 = 5763

24 24 Experimental Results (Extracting VPR Global Routing Topology) VPR Placement VPR Router Flat-routing 22 2 2 2 2 0101 0 1 1 1 1 0 1 0 ROADSEGA Comparisons of ROAD, VPR and SEGA

25 25 Experimental Results (Comparing with VPR-SEGA combine)

26 26 Experimental Results (Comparing with VPR-SEGA combine) Approx. VPR detailed-runtime=(VPR flat-runtime) - (VPR global-runtime) ROAD=(7x) VPR=(4x)

27 27 Empirical Avg. Case Time Complexity of ROAD

28 28 CONCLUSION ROAD: uses the bump-and-refit (B&R) –Overcomes net-ordering problem –Optimality-preserving search space pruning methods that give us orders of magnitude speedup Large circuits: VPR’s flat routing  time consuming Hence need two-stage routing (global followed by detailed routing) possibly interleaved across the nets ROAD  prime candidate for detailed routing phase in this two-stage framework

29 29 THANK YOU


Download ppt "1 ROAD : An Order-Impervious Optimal Detailed Router Hasan Arslan, Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago ICCD 2003."

Similar presentations


Ads by Google