Hasan Arslan and Shantanu Dutt Hasan Arslan and Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago DATE 2006 Efficient Timing-Driven.

Slides:



Advertisements
Similar presentations
Porosity Aware Buffered Steiner Tree Construction C. Alpert G. Gandham S. Quay IBM Corp M. Hrkic Univ Illinois Chicago J. Hu Texas A&M Univ.
Advertisements

OCV-Aware Top-Level Clock Tree Optimization
Advanced Interconnect Optimizations. Buffers Improve Slack RAT = 300 Delay = 350 Slack = -50 RAT = 700 Delay = 600 Slack = 100 RAT = 300 Delay = 250 Slack.
Ispd-2007 Repeater Insertion for Concurrent Setup and Hold Time Violations with Power-Delay Trade-Off Salim Chowdhury John Lillis Sun Microsystems University.
Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.
ELEN 468 Lecture 261 ELEN 468 Advanced Logic Design Lecture 26 Interconnect Timing Optimization.
An Efficient Technology Mapping Algorithm Targeting Routing Congestion Under Delay Constraints Rupesh S. Shelar Intel Corporation Hillsboro, OR Prashant.
1 Advancing Supercomputer Performance Through Interconnection Topology Synthesis Yi Zhu, Michael Taylor, Scott B. Baden and Chung-Kuan Cheng Department.
1 Interconnect Layout Optimization by Simultaneous Steiner Tree Construction and Buffer Insertion Presented By Cesare Ferri Takumi Okamoto, Jason Kong.
A Depth-First-Search Controlled Gridless Incremental Routing Algorithm for VLSI Circuits Hasan Arslan and Shantanu Dutt Electrical & Computer Eng. University.
Paul Falkenstern and Yuan Xie Yao-Wen Chang Yu Wang Three-Dimensional Integrated Circuits (3D IC) Floorplan and Power/Ground Network Co-synthesis ASPDAC’10.
Constructing Minimal Spanning Steiner Trees with Bounded Path Length Presenter : Cheng-Yin Wu, NTUGIEE Some of the Slides in this Presentation are Referenced.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
Chop-SPICE: An Efficient SPICE Simulation Technique For Buffered RC Trees Myung-Chul Kim, Dong-Jin Lee and Igor L. Markov Dept. of EECS, University of.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Interconnect Optimizations. A scaling primer Ideal process scaling: –Device geometries shrink by  = 0.7x) Device delay shrinks by  –Wire geometries.
EE4271 VLSI Design Interconnect Optimizations Buffer Insertion.
Interconnect Optimizations
EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
Ryan Kastner ASIC/SOC, September Coupling Aware Routing Ryan Kastner, Elaheh Bozorgzadeh and Majid Sarrafzadeh Department of Electrical and Computer.
ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II.
Metal Layer Planning for Silicon Interposers with Consideration of Routability and Manufacturing Cost W. Liu, T. Chien and T. Wang Department of CS, NTHU,
HARP: Hard-Wired Routing Pattern FPGAs Cristinel Ababei , Satish Sivaswamy ,Gang Wang , Kia Bazargan , Ryan Kastner , Eli Bozorgzadeh   ECE Dept.
Interconnect Synthesis. Buffering Related Interconnect Synthesis Consider –Layer assignment –Wire sizing –Buffer polarity –Driver sizing –Generalized.
Advanced Interconnect Optimizations. Timing Driven Buffering Problem Formulation Given –A Steiner tree –RAT at each sink –A buffer type –RC parameters.
General Routing Overview and Channel Routing
UCSC 1 Aman ShaikhICNP 2003 An Efficient Algorithm for OSPF Subnet Aggregation ICNP 2003 Aman Shaikh Dongmei Wang, Guangzhi Li, Jennifer Yates, Charles.
A Methodology for Interconnect Dimension Determination By: Jeff Cobb Rajesh Garg Sunil P Khatri Department of Electrical and Computer Engineering, Texas.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
Escaping local optimas Accept nonimproving neighbors – Tabu search and simulated annealing Iterating with different initial solutions – Multistart local.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
Power Reduction for FPGA using Multiple Vdd/Vth
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
Wen-Hao Liu 1, Yih-Lang Li 1, and Kai-Yuan Chao 2 1 Department of Computer Science, National Chiao-Tung University, Hsin-Chu, Taiwan 2 Intel Architecture.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 EECS 527 Paper Presentation High-Performance.
Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.
UC San Diego / VLSI CAD Laboratory Incremental Multiple-Scan Chain Ordering for ECO Flip-Flop Insertion Andrew B. Kahng, Ilgweon Kang and Siddhartha Nath.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 EECS 527 Paper Presentation Techniques for Fast.
Thermal-aware Steiner Routing for 3D Stacked ICs M. Pathak and S.K. Lim Georgia Institute of Technology ICCAD 07.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing © KLMH Lienig 1 What Makes a Design Difficult to Route Charles.
ARCHER:A HISTORY-DRIVEN GLOBAL ROUTING ALGORITHM Muhammet Mustafa Ozdal, Martin D. F. Wong ICCAD ’ 07.
A Faster Approximation Scheme for Timing Driven Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, and Charles J. Alpert** *Dept of ECE, Michigan Technological.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
1 ER UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Fast Algorithms for Slew Constrained Minimum Cost Buffering S. Hu*, C. Alpert**, J. Hu*, S. Karandikar**, Z. Li*, W. Shi* and C. Sze** *Dept of ECE, Texas.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
Physical Synthesis Buffer Insertion, Gate Sizing, Wire Sizing,
Routing Tree Construction with Buffer Insertion under Obstacle Constraints Ying Rao, Tianxiang Yang Fall 2002.
BOB-Router: A New Buffering-Aware Global Router with Over-the-Block Routing Resources Yilin Zhang1, Salim Chowdhury2 and David Z. Pan1 1 Department of.
Prof. Shiyan Hu Office: EERC 518
1ISPD'03 Process Variation Aware Clock Tree Routing Bing Lu Cadence Jiang Hu Texas A&M Univ Gary Ellis IBM Corp Haihua Su IBM Corp.
High-Performance Global Routing with Fast Overflow Reduction Huang-Yu Chen, Chin-Hsiung Hsu, and Yao-Wen Chang National Taiwan University Taiwan.
1 ROAD : An Order-Impervious Optimal Detailed Router Hasan Arslan, Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago ICCD 2003.
A Fully Polynomial Time Approximation Scheme for Timing Driven Minimum Cost Buffer Insertion Shiyan Hu*, Zhuo Li**, Charles Alpert** *Dept of Electrical.
A Novel Timing-Driven Global Routing Algorithm Considering Coupling Effects for High Performance Circuit Design Jingyu Xu, Xianlong Hong, Tong Jing, Yici.
An O(bn 2 ) Time Algorithm for Optimal Buffer Insertion with b Buffer Types Authors: Zhuo Li and Weiping Shi Presenter: Sunil Khatri Department of Electrical.
An O(nm) Time Algorithm for Optimal Buffer Insertion of m Sink Nets Zhuo Li and Weiping Shi {zhuoli, Texas A&M University College Station,
Andrew B. Kahng and Xu Xu UCSD CSE and ECE Depts.
Buffer Insertion with Adaptive Blockage Avoidance
Haitao Wang Utah State University WADS 2017, St. John’s, Canada
Under a Concurrent and Hierarchical Scheme
Presentation transcript:

Hasan Arslan and Shantanu Dutt Hasan Arslan and Shantanu Dutt Electrical & Computer Eng. University of Illinois at Chicago DATE 2006 Efficient Timing-Driven Incremental Routing for VLSI Circuits Using DFS and Localized Slack-Satisfaction Computations

Dutt & Arslan, UIC Outline Introduction Introduction Importance of Incremental Routing Importance of Incremental Routing Previous Work Previous Work Our Goals Our Goals A DFS-Based TD Incr Routing Algorithm (TIDE) A DFS-Based TD Incr Routing Algorithm (TIDE) Previous work on global TD routing Previous work on global TD routing Global Routing with slack tolerance concepts Global Routing with slack tolerance concepts Detailed Routing with DFS-based B&R Detailed Routing with DFS-based B&R Experimental Results Experimental Results Conclusion Conclusion

Dutt & Arslan, UIC Incremental Routing After chip layout is completed After chip layout is completed Time/noise/thermal violation Time/noise/thermal violation One or more optimization metrics (speed/power/area) unsatisfactory One or more optimization metrics (speed/power/area) unsatisfactory Need correcting changes to the circuit/system Need correcting changes to the circuit/system Engineering Change Order (ECO) process Engineering Change Order (ECO) process Enormous resources and time already spent Enormous resources and time already spent Time to meet market requirements Time to meet market requirements Most ECOs lead to a requirement of routing changes after various design changes at earlier levels Most ECOs lead to a requirement of routing changes after various design changes at earlier levels The ECO could also be at the routing level The ECO could also be at the routing level Incremental routing & interconnects critical Incremental routing & interconnects critical Need a time-efficient & effective TD-incremental routing algorithm Need a time-efficient & effective TD-incremental routing algorithm

Dutt & Arslan, UIC Incremental Routing Problem Incremental Routing Problem Set of existing routed nets R = E – D, E = original nets before ECO, D = deleted nets Set of existing routed nets R = E – D, E = original nets before ECO, D = deleted nets Set of new nets S (resulting from correcting re- synthesis at different levels of the VLSI design flow) Set of new nets S (resulting from correcting re- synthesis at different levels of the VLSI design flow) Quality metrics Quality metrics Time-efficient near-optimal incr solns for S subject to given constraints (slack satisfaction, crosstalk bounding, etc.) Time-efficient near-optimal incr solns for S subject to given constraints (slack satisfaction, crosstalk bounding, etc.) Minimal changes to previous routing results Minimal changes to previous routing results Complete incr routing in the available metal layers (if such a soln exists) Complete incr routing in the available metal layers (if such a soln exists) Incremental Routing (Cont.)

Dutt & Arslan, UIC Prior Work on Incremental Routing 1) Emmert and Bhatia, “Incremental Routing in FPGA”, IEEE Int. ASIC Conference, ) Emmert and Bhatia, “Incremental Routing in FPGA”, IEEE Int. ASIC Conference, ) Cong and Sarrafzadeh, “Incremental Physical Design”, ISPD ) Cong and Sarrafzadeh, “Incremental Physical Design”, ISPD ) Dutt, Shanmugavel and Trimberger, “Efficient Incremental Rerouting for Fault Reconfiguration in FPGAs”, ICCAD ) Dutt, Shanmugavel and Trimberger, “Efficient Incremental Rerouting for Fault Reconfiguration in FPGAs”, ICCAD ) Dutt, Verma and Arslan “A Search-Based Bump and Refit Approach to Incremental Routing for ECO Applications in FPGAs”, TODAES ) Dutt, Verma and Arslan “A Search-Based Bump and Refit Approach to Incremental Routing for ECO Applications in FPGAs”, TODAES ) Xiang, Chao, Wong “An ECO Algorithm for Eliminating Crossalk Violations”, ISPD ) Xiang, Chao, Wong “An ECO Algorithm for Eliminating Crossalk Violations”, ISPD ) S. Raman, et al., “A Timing-Constrained Incremental Routing Algorithm for Symmetrical FPGAs “, DATE ) S. Raman, et al., “A Timing-Constrained Incremental Routing Algorithm for Symmetrical FPGAs “, DATE ) H. Arslan and S. Dutt, “A Depth-First Search Controlled Gridless incremental routing Algorithm for VLSI Circuits”, ICCD ) H. Arslan and S. Dutt, “A Depth-First Search Controlled Gridless incremental routing Algorithm for VLSI Circuits”, ICCD No work on TD incremental routing for ASICs No work on TD incremental routing for ASICs

Dutt & Arslan, UIC Emmert-Bhatia (ASIC’98) Nets connected to faulty PLB, deleted and rerouted Nets connected to faulty PLB, deleted and rerouted Standard single-net routing mode (global then detailed) Standard single-net routing mode (global then detailed) Do not perturb or move existing nets Do not perturb or move existing nets Standard Net Routing : Route new nets without perturbing existing nets Standard Net Routing : Route new nets without perturbing existing nets Rip & Reroute : If some nets cannot be routed, rip-up “blocking” existing nets. Reroute the ripped up nets. Rip & Reroute : If some nets cannot be routed, rip-up “blocking” existing nets. Reroute the ripped up nets. Cong-Sarrafzadeh (ISPD’00) Prior Work (Cont.)

Dutt & Arslan, UIC Our Goals TD-incremental routing for VLSI (ASIC) circuits TD-incremental routing for VLSI (ASIC) circuits Address quality metrics of incr. routing and satisfy constraints Address quality metrics of incr. routing and satisfy constraints Satisfy slack constraints on new and existing nets that may be affected by new net routing Satisfy slack constraints on new and existing nets that may be affected by new net routing Fast near-WL,via-optimal incr solutions Fast near-WL,via-optimal incr solutions Min. changes to existing routing-bounded WL, via increase Min. changes to existing routing-bounded WL, via increase Complete incr routing in the available metal layers—aggressive exploration of routing space within above constraints Complete incr routing in the available metal layers—aggressive exploration of routing space within above constraints

Dutt & Arslan, UIC n 1 n 2 n 3 n 2 Adj-via Adj-via n j Bumped seg. High-Level Approach Global Routing of new net based on: 1) A new iterative slack-satisfaction algorithm IntAl for connecting next pin on the net based on local slack tolerances 2) Congestion + WL + efficiency-based min-cost on a grid-graph for each 2-pin path Detailed routing of new net based on: 1)WL + via + bumping (degree of bumped net) min-cost path for each global route 2) Constraint-satisfying DFS-based partial- B&R process for “overlapped” or “bumped” existing nets so that: a) slacks not violated, b) WL-increment bounded V1 V0V0 VmVm Vj Vi V2V2 V2

Dutt & Arslan, UIC Our Approach – TD Global Routing In an iterative connections of pins on routing tree, most imp. Q: Where to connect the next pin for slack-satisfaction of all pins and min-WL? v0v0 v1v1 v2v2 v3v3 vuvu Simplified rule of thumb: Closer is the connection to CC, more interconnect sharing there is w/ partial tree T & less additional delay seen by other sinks. But more “baggage” (accumulated delay) for new pin v u. Higher up and away from CC the connection is, lesser is the accumulated delay of T seen by v u, but less sharing and more delay seen by other sinks due to more wire-cap load Classic Prim-Dijkstra tradeoffs discussed in [Alpert et al., TCAD’95] Optimal solution (even just slack-satisfying soln. somewhere in between No one has solved it exactly (satisfying all slacks) or optimally (w/ min-WL) We provide a near-min-WL all-slack-satisfying solution here CC (closest connection) vivi New pin

Dutt & Arslan, UIC Various Approaches to TD Global Routing In [Boese, et al., TCAD-95] (SERT/ERT algorithm): – The delay on any sink is a concave function of l x the distance from CC of the connection point – Same for weighted sum of all sink delays (obj. either v i or CC – Choose v i or CC based on min-WL v0v0 v1v1 v2v2 v3v3 vuvu CC vivi lx vxvx New pin CC vivi delay lx Does not solve the core TD problem of slack satisfaction

Dutt & Arslan, UIC Various Approaches to TD Global Routing (contd) In [Hou & Sapatnekar, ISPD’98] (MVERT): – Constraint satisfaction of all sinks v k is explicitly considered: d(v k ) - slack(v k ) <= 0 (LHS is also concave); uses non-Hanan points – The technique involves navigating max[slack(v k )– d(v k )] via intersection points of the various concave curves – Use binary search to find min-WL point for constr. satisfaction v0v0 v1v1 v2v2 v3v3 vuvu CC vivi lx vxvx New pin CC vivi delay - slack lx 0 vkvk Optimal slack- satisfying conn. point Max envelope Time complex—, where k = # sink pins (our analysis) Misses some slack satisfaction solutions from initial SERT/ERT handoff

Dutt & Arslan, UIC Various Approaches to TD Global Routing (contd) As our competitor, we consider a mix of SERT [Boese, TCAD’95] and SOAR [Wang and Kuh, MCMC’97] (SERT/SOAR): – Check if connection to CC satisfies all slacks – Else make a connection to driver v 0 – Rationale:  If connection to CC violates slack to v u, then this is most likely due to the “baggage” delay of shared interconnects.  This can be avoided maximally by routing directly to v o  Classical Prim-Dijkstra tradeoff  Fast v0v0 v1v1 v2v2 v3v3 vuvu CC vivi lx vxvx New pin

Dutt & Arslan, UIC Our Approach to TD Global Routing Exact slack satisfaction of all sinks in “constant” time by checking satisfaction of derived slacks (called tolerances) as a function of l x of only 3 classes of sinks: – vu– vu – sinks in T(CC), where T(u) is routing subtree rooted at u (e.g., v 3 ) – sinks below T(v i )/T(CC) (e.g., v 1, v 2 ) For this we need tolerance concepts discussed next v0v0 v1v1 v2v2 v3v3 vuvu CC vivi lx vxvx New pin Derived tolerances

Dutt & Arslan, UIC Elmore Delay Model v0v0 vivi vjvj l ij C dn j D(v j ) = D(v i ) + (r.c.l 2 ij )/2 + r.l ij.C dn j C dn j = gate + wiring capacitance of subtree rooted at v j If v j is a sink pin, C dn j = C g (v j ) [gate cap of v j ] r, c = unit wire cap, res Has good fidelity

Dutt & Arslan, UIC Tolerance Concepts—Delay Tolerance

Dutt & Arslan, UIC Tolerance Concepts—Capacitance Tolerances Min = upstream res. from v o To v j

Dutt & Arslan, UIC Intersection ViVi Global Routing: Connecting a New Pin—Interval Intersection (IntAl) Algorithm V2V3V4 VjVj Set 2 CC Vu Δcap x V’ V6 V5 Set 1 V0V0 Set 3 V1 Optimal point h(x) = c.x + l <= 0 g(x)= -r.c.x 2 +ex+m <= 0 Determine valid intervals for each inequality If all intervals are non-empty, take intersection If intersection non-empty – then take bottom point of intersection as min- WL slack-satisfaction point – else prune tree and repeat process with next nearest pruned-tree branch f(x)= -r.c.x 2 +bx+d <= 0 IntAl Algorithm Theorem 1: The tree truncation method in the IntAl algorithm will always find a slack- satisfying connection point for new pin nearest valid edge, if one exists, of the partial routing tree T Updates of tolerances done on an as-needed basis. E.g., change in delay at a sink pin due to re-routing is only propagated to ancestors’ tolerances. Later when a node’s tolerance is needed, it may not be updated but this is accomplished by scanning all its ancestors.  (h) time complexity per re- routing of T, h is T’s height Properties Tol cap (v’) = Tol cap (v j ).R up (v j )/R up (v’) Concave function x delay

Dutt & Arslan, UIC Timing-Driven Incremental Detailed Routing If a portion of net n i is overlapped If a portion of net n i is overlapped Length of overlapped portion might be increased. Length of overlapped portion might be increased. Increase the capacitance. Increase the capacitance. Slack of sink pins might be violated. Slack of sink pins might be violated. Possible overlapping: Possible overlapping: With leaf interconnect With leaf interconnect Interior edge Interior edge Steiner point Steiner point Our goal: Satisfy source to sink delay requirement for all sink pins (slack) Slack: The amount of delay can be added on a net connecting the sink pin without increasing the maximum delay requirement of that sink pin. Detailed routing of new net based on: 1)WL + via + bumping min-cost path for each global route 2) Constraint-satisfying DFS-based partial- B&R process for “overlapped” or “bumped” existing nets so that: a) slacks not violated, b) WL-increment bounded n 1 n 2 n 3 n 2 Adj-via Adj-via n j Bumped seg.

Dutt & Arslan, UIC TD Incr. Detailed Routing—Overlapping a Leaf Interconnect TD Incr. Detailed Routing—Overlapping a Leaf Interconnect Self Test: Self Test: Downstream Test: Downstream Test: Upstream Test Upstream Test n2n2 n2n2 Δcap V6 V5 V1 V2 Vj V4 Vi T V0 n1n1

Dutt & Arslan, UIC TD Incr. Detailed Routing—Overlapping an Interior Interconnect TD Incr. Detailed Routing—Overlapping an Interior Interconnect  D(v’ j ) <= Tol del (v’ j ) = Tol del (v j ) 2)For each child v k (sink pin or Steiner node):  D(v k ) <= Tol del (v k ) [e.g.,  D(v 2 ) <= Tol del (v 2 ),  D(v m ) <= Tol del (v m ) ]  D(v’ j )  D(v 2 )  D(v m ) Do these checks only V2V2 VmVm VjVj n2n2 n2n2 ViVi V’’ j V6V6 T V0V0 n1n1 V3V3 V4V4 V5V5 V’ j Δcap Upstream Test: Upstream Test: Downstream Test: Downstream Test: i

Dutt & Arslan, UIC (a) (b) (c) (a) (b) (c) (b) moving v j upwards will increase capacitance and resistance (c) moving v j downwards decrease cap. change Steiner node V1V2V3V4 Vj Vk n2n2 n2n2 V5 T Vn n1n1 V1V2V3V4 n2n2 n2n2 V5 T Vn n1n1 Δcap V’j V1V2V3V4 Vj V’k n2n2 n2n2 V5 T Vn n1n1 V’j TD Incr. Detailed Routing—Overlapping Steiner Point TD Incr. Detailed Routing—Overlapping Steiner Point Vi

Dutt & Arslan, UIC Constraint Satisfying DFS-Controlled Routing with Partial B&R n1n1 njnj n2n2 n3n3 n 1..b-seg n 3..h 1 n 3..v 1 njnj n 1.b-seg njnj n 2..h 1 P i = i-via path is explored n 2..h 2 n 1..b-seg n 2.pin or obs P1P1 n 1..b-seg n 2..h 2 n 2.h 2 P2P2 DFS retractions: pin or logic as obstacles ancestor nets bumped slack violation of current net WL of currently re-routed net excessive other constraints Exploring a richer solution space via partial bump-&-reroute (B&R) of existing nets Constraint of minimal effect on B&R’ed nets need to be satisfied: slack staisfaction, min-WL Adapted from [Arslan & Dutt, ICCD’04]

Dutt & Arslan, UIC n1n1 njnj n2n2 n3n3 n 3..h 1 n 3..v 1 njnj n 1.b-seg n 2.pin or obs P1P1 njnj n 2..h 1 P i = i-via path is explored n 2.h 2 P2P2 n 3.v 1 P1P1 n 2..h 2 n 1..b-seg n 2..h 2 DFS-Controlled Routing with Partial B&R

Dutt & Arslan, UIC n1n1 njnj n2n2 n3n3 n 3..v 1 njnj n 1.b-seg n 2.pin or obs P1P1 njnj n 2..h 1 P i = i-via path is explored n 2.h 2 P2P2 n 3.v 1 P1P1 n 1..b-seg n 2..h 2 P1P1 obs P1P1 anc obs or anc.n 1 or anc.n j P 2 -P 4 n 3..h 1 n 3..v 1 n 2..h 2 DFS-Controlled Routing with Partial B&R

Dutt & Arslan, UIC n1n1 njnj n2n2 n3n3 n 3..v 1 njnj n 1.b-seg n 2.pin or obs P1P1 njnj n 2..h 1 P i = i-via path is explored n 2.h 2 P2P2 n 3.v 1 P1P1 n 1..b-seg P1P1 obs P1P1 anc obs or anc.n 1 or anc.n j P 2 -P 4 n 3.h 1 P 2 -P 3 n 2..h 2 obs P1P1 obs or anc.n 1 or anc.n j P 2 -P 4 n 3..h 1 n 3..v 1 n 2..h 2 DFS-Controlled Routing with Partial B&R

Dutt & Arslan, UIC n1n1 njnj n2n2 n3n3 n 3..v 1 njnj n 1.b-seg n 2.pin or obs P1P1 njnj P i = i-via path is explored n 2.h 2 P2P2 n 3.v 1 P1P1 n 1..b-seg P1P1 obs P1P1 anc obs or anc.n 1 or anc.n j P 2 -P 4 n 3.h 1 P 2 -P 3 obs P1P1 obs or anc.n 1 or anc.n j P 2 -P 4 n 3..h 1 n 3..v 1 n 2..h 2 n 2.h 1 P2P2 n 2..h 1 obs P1P1 n 1..b-seg DFS-Controlled Routing with Partial B&R

Dutt & Arslan, UIC n1n1 njnj n2n2 n3n3 n 3..v 1 njnj n 1.b-seg n 2.pin or obs P1P1 njnj P i = i-via path is explored n 2.h 2 P2P2 n 3.v 1 P1P1 P1P1 obs P1P1 anc obs or anc.n 1 or anc.n j P 2 -P 4 n 3.h 1 P 2 -P 3 obs P1P1 obs or anc.n 1 or an.n j P 2 -P 4 n 3..h 1 n 3..v 1 n 2..h 2 n 2.h 1 P2P2 obs P1P1 VGL P2P2 n 2..h 1 DFS-Controlled Routing with Partial B&R net lenghts and # of vias of all modified/bumped nets unchanged

Dutt & Arslan, UIC Benchmark Circuits Benchmarks: Benchmarks: 10 circuits ranging from 1643 to nets & 7200 to pins 10 circuits ranging from 1643 to nets & 7200 to pins Base 2x2 tile of Mcc1 bench. is repl. with diff. cell sizes and diff. # of pins Base 2x2 tile of Mcc1 bench. is repl. with diff. cell sizes and diff. # of pins Nets randomly generated & routed using SERT/SOAR Nets randomly generated & routed using SERT/SOAR Net distribution: 2-pin: 30%, 3-4 pins: each 20%, 5 pins: 10%, 6-7 pins: each 5%, 8-10 pins: each 2%, pins: each 1% Net distribution: 2-pin: 30%, 3-4 pins: each 20%, 5 pins: 10%, 6-7 pins: each 5%, 8-10 pins: each 2%, pins: each 1% Pin slacks normally distributed in range [0,5% max delay on net] Pin slacks normally distributed in range [0,5% max delay on net] Ran on 2.6 Ghz Pentium Linux machines, 1GB RAM Ran on 2.6 Ghz Pentium Linux machines, 1GB RAM Simulation: Randomly deleted 10% nets & rand. gen. 10% new nets Simulation: Randomly deleted 10% nets & rand. gen. 10% new nets Evaluation: Crash Test—routing as many nets as possible under the constraint of only 2 metal layers & slack satisfaction Evaluation: Crash Test—routing as many nets as possible under the constraint of only 2 metal layers & slack satisfaction (TD-S, TD-R, TIDE) (TD-S, TD-R, TIDE) TD-S (TD-R) is SERT/SOAR overlaid on Std (R&R) TD-S (TD-R) is SERT/SOAR overlaid on Std (R&R)

Results 5.6x 4.7x 5.3x 4.2x 9.8x 9.5x 7x 6.7x Times TIDE is better 1) % Unrouted Nets 2) Slack Violations

Dutt & Arslan, UIC Results 3x 6.7x Times TIDE is better 2.6x 4.4x 3) Average Routed Net Length 4) Vias per New Net

Dutt & Arslan, UIC Results 2x 9.5x 0.5x 2.4x 5) Modified Nets per New Net 6) Runtime Times TIDE is better

Dutt & Arslan, UIC Conclusions New TD Incremental Routing Algorithm TIDE New TD Incremental Routing Algorithm TIDE Uses new concepts of derived Steiner nodes to: Uses new concepts of derived Steiner nodes to: a) In global routing—quickly determine slack-satisfying near-min-WL connection of the next pin for a new net routing b) In detailed routing—quickly determine slack satisfaction of B&R’ed nets In global routing, the IntAl algorithm is the first in pruning trees (proven correct) for determining the next nearest connection point after the recent attempt failed. In detailed routing, high-level DFS control  good routing soln. for new nets with min. impact on existing nets In detailed routing, high-level DFS control  good routing soln. for new nets with min. impact on existing nets Produces significant improvement over TD-Std and TD- R&R in all important metrics of interest and is reasonably fast Produces significant improvement over TD-Std and TD- R&R in all important metrics of interest and is reasonably fast Future Work Future Work TD incremental placement and integration with TIDE TD incremental placement and integration with TIDE

Dutt & Arslan, UIC THANK YOU