1 / 29

ROAD : An Order-Impervious Optimal Detailed Router

ROAD : An Order-Impervious Optimal Detailed Router. Hasan Arslan, Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago ICCD 2003. OUTLINE. Introduction Standard Single-Net Routing Mode Ripup-Reroute Detailed Routing Alg. Bump &Refit (B&R) Concepts B&R Paradigm

dusan
Download Presentation

ROAD : An Order-Impervious Optimal Detailed Router

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. ROAD : An Order-Impervious Optimal Detailed Router Hasan Arslan, Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago ICCD 2003

  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. 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. S T 2 1 1 2 1 0 E 2 1 0 0 1 0 1 0 1 2 2 2 E } } Tracks #s Cells Switchboxes Tracks Prior work on Detailed Routing (Cont.) • Standard single-net routing mode • during detail routing • Does not perturb or move existing nets B C D A

  5. 1 1 E 1 0 E 1 0 0 1 0 1 0 1 Prior work on Detailed Routing(Cont.)(RIPUP-and-REROUTE) 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 B C D A

  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. R&R=(85x) STD=(20x) Experimental Results(Dutt etal., TODAES 2002) Comparisons of STD, R&R, B&R Inc. Routing Alg.

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

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

  10. TC1sum (niTjTk ) =  l(nj)  nj adjTk (ni)total-length-of • bumped nets  l(nj)  nj adjTk (ni) (ii) TC1sqrt (niTjTk ) = ----------------------------- sqrt(| adjTk (ni)| l(nj) is the total length of nj in terms of the track segments 1 1 1 0 E X D T1 C T0 B T1 A T0 1 0 0 1 0 1 0 1 B&R Concepts E New_Net C adjT1(E)={B} B adjT0(E)={C} O_Net O_Net D A

  11. n4 n2 n5 n3 n1 T1 T2 12 6 B&R Concepts 1st Level TC Functions n3 n n 1 2 0 1 n5 n 2 4 TC1=Total-length-of-bumped-nets

  12. 1 1 1 0 A T0 E T0 E X D T1 C T0 B T1 C X 1 0 0 1 0 1 0 1 D_Sp T0 Example: B&R for Detailed Routing E New_Net O_Net O_Net C C 3 2 B D A

  13. 1 1 1 0 D T0 C T1 C X E T0 D T1 B T1 D X A T0 1 0 0 1 0 1 0 1 D_Sp T0 Example: B&R for Detailed Routing(Cont.) New_Net O_Net B C E D A

  14. B&R Concepts New-net T2 T1 T2 T1 T2 1 3 2 T1 T3 4 5 6 T3 T3 T3 12 9 11 8 10 Sp Sp Sp Sp Navigating the OG • 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. 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. n1 T1 T2 7 n2 3 n3 T2 T0 T1 T0 n4 n5 n6 Sp 3 5 0 3 Optimality-Preserving Speedup Methods (Cont.) (1) Lookahead TC Functions n4 n n 1 2 0 n5 1 n6 n 2 3 (i) TC1=Total-length-of-bumped-nets (i) TC2sum-sum (niTjTk ) =   nj adjTk (ni) min Tt (TC1sum (niTkTt ))

  17. Y T3 C C A T1 A T1 T T 0 0 X A X A Y T T 1 1 B B T2 B T2 B C T0 C T0 T T 2 2 Y D D T T D T3 D T3 3 3 Optimality-Preserving Speedup Methods (Cont.) (2)Clique-Based Search Space Pruning • 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

  18. D A T0 T0 C T1 T1 K X T2 T2 B Z T3 T3 A 2 A C D A D X Z K D K K B Q Optimality-Preserving Speedup Methods (Cont.) (3) Learning-Based Search Space Pruning D A C K B 1 A C D K B P • Theorem: if no soln. for bumping net B, and obstacle pattern OP1 is obtained • If in another search path, B is bumped again and OP1 AP2 • Then no solution exists

  19. T0 T0 T1 T1 T2 T2 T3 T3 C K X B A D Z Optimality-Preserving Speedup Methods (Cont.) (3) Learning-Based Search Space Pruning • Isomorphic Function: • f: is a one-to-one and onto functions between tracks that maps Ti Tk where Tk=Tf(i) D A C K B 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.

  20. T0 T0 T1 T1 T2 T2 T3 T3 A 1 2 A A C C D K X B C A A D Z D X D Z K K D K B K B P Q Optimality-Preserving Speedup Methods (Cont.) (3) Learning-Based Search Space Pruning D A C K B • Theorem: if no soln. for bumping net B, and obstacle pattern OP1 is obtained • If in another search path, B is bumped again • OP2 AP2 & OP1 isomorphic to OP2 • Then no solution exists

  21. Experimental Results(Characteristics of VPR Benchmark Circuits)

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

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

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

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

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

  27. Empirical Avg. Case Time Complexity of ROAD

  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. THANK YOU

More Related