290 likes | 393 Views
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
E N D
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 • 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
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)
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
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
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
R&R=(85x) STD=(20x) Experimental Results(Dutt etal., TODAES 2002) Comparisons of STD, R&R, B&R Inc. Routing Alg.
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)
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
TC1sum (niTjTk ) = l(nj) nj adjTk (ni)total-length-of • bumped nets l(nj) nj adjTk (ni) (ii) TC1sqrt (niTjTk ) = ----------------------------- 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
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
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
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
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
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
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 (niTjTk ) = nj adjTk (ni) min Tt (TC1sum (niTkTt ))
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
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
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.
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
Experimental Results(Characteristics of VPR Benchmark Circuits)
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)
Experimental Results(Internal Comparisons) Extrapolated Speed up of ROAD over ROAD-1 83 x 61 = 5763
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)
ROAD=(7x) VPR=(4x) Experimental Results(Comparing with VPR-SEGA combine) Approx. VPR detailed-runtime=(VPR flat-runtime) - (VPR global-runtime)
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