410 likes | 574 Views
Challenges in Robust Optimization of Digital Integrated Circuits. Chandu Visweswariah Systems and Technology Group IBM. Outline. The scourge of manufacturing variability! Two ways of dealing with variability in timing Multi-corner static timing analysis Statistical static timing analysis
E N D
Challenges in RobustOptimization of DigitalIntegrated Circuits Chandu VisweswariahSystems and Technology GroupIBM
Outline • The scourge of manufacturing variability! • Two ways of dealing with variability in timing • Multi-corner static timing analysis • Statistical static timing analysis • Continuous robust optimization: the state-of-the-art • Discrete robust optimization: the state-of-the-art • Open challenges Analysis Optimization Chandu Visweswariah
Increasing and inevitable parametric variability Litho-induced variability Oxide thickness Random dopant effects* Interconnect CMP and RIE effects *D. J. Frank et al, Symp. VLSI Tech., 1999 Chandu Visweswariah
Shrink by • Statistical timing • Stochastic optimization • Design-for-manufacturing (DFM) techniques • Post-silicon tuning Best Case Unacceptable! Worst Case What variability does to performance Performance Technology generation Chandu Visweswariah
Classification of variability Variability Chip-to-chip,wafer-to-wafer,lot-to-lot,fab.-to-fab. Within chip Systematic Random Systematic Random “Best case” / “Worst case” “Early” / “Late” Chandu Visweswariah
WC late Within-chip “systematic” variation WC early BC late BC early Chip-to-chip variation Modeling of variability Individual Ring Oscillator Delay Mean Ring Oscillator Delay Chandu Visweswariah
Outline • The scourge of variability! • Two ways of dealing with variability in timing • Multi-corner static timing analysis • Statistical static timing analysis • Continuous robust optimization: the state-of-the-art • Discrete robust optimization: the state-of-the-art • Open challenges Chandu Visweswariah
(Deterministic) static timing analysis in its simplest form* a Node forevery pin • Simple one-pass traversal helps us find the longest and shortest paths in the timing graph • One backward traversal is used to compute Required Arrival Times (RATs) a z z b Arc for everypin-to-pin transition b *R. B. Hitchcock Sr., G. L. Smith, D. D. Cheng, “Timing analysis of computer hardware,” IBM J. R&D, January 1982, pp. 100—105. Chandu Visweswariah
Comb. Comb. Comb. Verifying timing of setup tests early clock LF3 LF1 LF2 CF late data Robustness = Correlated variability in launch and capture paths Chandu Visweswariah
Comb. Comb. Comb. Verifying timing of hold tests late clock LF3 LF1 LF2 CF early data Chandu Visweswariah
Multi-corner timing • Chip-to-chip variation covered with multiple corners + margins • Within chip systematic covered by early/late split Temperature Voltage Process Chandu Visweswariah
Outline • The scourge of variability! • Two ways of dealing with variability in timing • Multi-corner static timing analysis • Statistical static timing analysis • Continuous robust optimization: the state-of-the-art • Discrete robust optimization: the state-of-the-art • Open challenges Chandu Visweswariah
a + c + MAX b a + c + MAX b Quick introduction to statistical timing • Deterministic • Statistical Chandu Visweswariah
Independentlyrandomuncertainty Deviation ofglobal sourcesof variation fromnominal values Sensitivities Constant(nominalvalue) Parameterized timing quantities* • All timing quantities are parameterized by the sources of variation • Correlation can be judged on-demand by inspection *C. Visweswariah, K. Ravindran, K. Kalafala, “First-order parameterized block-based statistical timing analysis,” TAU, February 2004, pp. 17—24*C. Visweswariah, K. Ravindran, K. Kalafala, S. G. Walker, S. Narayan, “First-order incremental block-based statistical timing analysis,” DAC, June 2004, pp. 331—336. Chandu Visweswariah
Statistical timing basics • Model all arc delays in “canonical” parameterized form • Represent all timing quantities in parameterized form • Delays, slews, guard times, ATs, RATs, slacks, PLL adjusts, constraints, CPPR adjusts • Propagate ATs through the timing graph in canonical form • Final timing results are available in canonical form • Automatically obtain sensitivity to sources of variation; taming these sensitivities improves robustness • Can project to single values (see next page) • Can plot as PDFs, CDFs, yield curves Chandu Visweswariah
Sample projections Chandu Visweswariah
Comparing multi-corner and statistical timing Chandu Visweswariah
Slack threshold Timing tests in this blue cube are fails Sensitivity threshold Robustness checking Chandu Visweswariah
Outline • The scourge of variability! • Two ways of dealing with variability in timing • Multi-corner static timing analysis • Statistical static timing analysis • Continuous robust optimization: the state-of-the-art • Discrete robust optimization: the state-of-the-art • Open challenges Chandu Visweswariah
Deterministic transistor sizing problem • “Analysis is done by devils, optimization by angels” • Typically applied to custom-designed circuits • Note that z and the ATs are variables of the optimization problem • are computed by adjoint sensitivity analysis in the time-domain Chandu Visweswariah
Statistical transistor sizing problem • The problem formulation is cleaner and easier (eliminates redundancies and degeneracies)! • This is because the (approximate) statistical max function is differentiable! • The big question is how to compute By adjoints, as before Chandu Visweswariah
Gradient computation* Imaginary cutset *J. Xiong, V. Zolotov, C. Visweswariah, “Incremental criticality and yield gradients,” Design Automation and Test in Europe (DATE), Messe Munich, Germany, pages 1130--1135, March 2008. Chandu Visweswariah
Results (maximize minimum of 4 slacks)* *D. K. Beece, J. Xiong, C. Visweswariah, V. Zolotov, Y. Liu, “Transistor sizing of custom high-performance digital circuits with parametric yield considerations,” Design Automation Conference (DAC), Anaheim, CA, June 2010. Chandu Visweswariah
Outline • The scourge of variability! • Two ways of dealing with variability in timing • Multi-corner static timing analysis • Statistical static timing analysis • Continuous robust optimization: the state-of-the-art • Discrete robust optimization: the state-of-the-art • Open challenges Chandu Visweswariah
The discrete optimization problem • Physical synthesis is used to construct most macros/units • Made up of library cells of various logic types and sizes (unlike in custom design) • Can handle large chunks of logic • Fully automated • Highly productive way of designing • Physical synthesis operates in a huge discrete space and carries the design from logic to shapes • “Changes” or “transforms” are applied on a list of gates/wires that have poor timing • The changes are evaluated by invoking the timer in an incremental manner Chandu Visweswariah
Synthesis transforms • Buffering or repeater insertion • Layer assignment • Gate sizing or repowering • Vt swapping • Cell movement • Inverter absorption / inverter decomposition • Cloning • Inverter / buffer deletion • Composition / decomposition Courtesy: Chuck Alpert Chandu Visweswariah
Buffering long nets Courtesy: Chuck Alpert Chandu Visweswariah
Buffering a net to reduce fanout (before) Courtesy: Chuck Alpert Chandu Visweswariah
Buffering a net to reduce fanout (after) Courtesy: Chuck Alpert Chandu Visweswariah
a e c d d f b Layer assignment a e c f b Courtesy: Chuck Alpert Chandu Visweswariah
a e c d d f b Gate sizing or repowering c a e b f Courtesy: Chuck Alpert Chandu Visweswariah
a e c d d f b High vt Vt swapping Regular vt Low vt a e c f b Courtesy: Chuck Alpert Chandu Visweswariah
a e c d d f b Cell movement a e c f b Courtesy: Chuck Alpert Chandu Visweswariah
a e c d f b g Inverter absorption / decomposition a e f b Courtesy: Chuck Alpert Chandu Visweswariah
Cloning S1 D1 P S1 D1 P D2 D2 S2 S2 P’ Courtesy: Zhuo Li / David Papa Chandu Visweswariah
Composition / decomposition w Out x w AOI nd2 B x Out nd2 A y nd2 C y nd2 C z z D D Courtesy: Louise Trevillyan Chandu Visweswariah
Variability-related challenges • Variability is handled by • A multi-corner static timer, or • A statistical static timer • This makes sign-off timing expensive! • Physical synthesis methods are not equipped to handle statistics • Of all the “changes” tried, only ~10% get accepted • Either • Use a fast/approximate timing mode and periodically update with sign-off timing • Work with sign-off timing but invoke incremental timing less often Chandu Visweswariah
Food for thought • This is an important optimization problem where heuristics rule and mathematical techniques have failed! • Heuristics are used to decide • Which parts of the design to optimize • Which optimizations to apply • In what order to apply these optimizations • When to accept uphill moves (if at all) • When to undo previously accepted moves (if at all) • When to stop or try something else Chandu Visweswariah
Some thoughts • Diagnostics that can be used to reduce the number of failed tries and/or “tune” heuristics • Process sensitivities • Try different changes depending on the ordering of sensitivities, the way a human would, for example: • Slew (rise/fall time) information • Fanout information • Logic complexity information Chandu Visweswariah
Outline • The scourge of variability! • Two ways of dealing with variability in timing • Multi-corner static timing analysis • Statistical static timing analysis • Continuous robust optimization: the state-of-the-art • Discrete robust optimization: the state-of-the-art • Open challenges Chandu Visweswariah
Open challenge • Plenty of progress on analysis with uncertainty • Recent work on continuous optimization in the face of variability • Could also be formulated as a 2-stage optimization to take into account post-manufacturing tuning • Challenge: How do we optimize large integrated circuits in a HUGE, discrete, multi-dimensional, highly constrained optimization space while triggering the incremental (statistical or multi-corner) timer as little as possible Chandu Visweswariah