ESE535: Electronic Design Automation Day 22: April 11, 2011 Statistical Static Timing Analysis Penn ESE535 Spring 2011 -- DeHon 1 Today • • • • Behavioral (C, MATLAB, …) Arch. Select Schedule RTL Sources of Variation FSM assign Two-level Limits of Worst Case Multilevel opt. Covering Optimization for Parametric Yield Retiming Statistical Analysis Gate Netlist Placement Routing Layout Masks Penn ESE535 Spring 2011 -- DeHon 2 Central Problem Mean Number of Dopant Atoms • As our devices approach the atomic scale, we must deal with statistical effects governing the placement and behavior of individual atoms and electrons. 10000 1000 100 10 1000 500 250 130 65 32 Technology Node (nm) Penn ESE535 Spring 2011 -- DeHon 16 •Transistor critical dimensions •Atomic discreteness •Subwavelength litho •Etch/polish rates •Focus •Number of dopants •Dopant Placement 3 Oxide Thickness [Asenov et al. TRED 2002] Penn ESE535 Spring 2011 -- DeHon 4 Line Edge Roughness • 1.2mm and 2.4mm lines From: http://www.microtechweb.com/2d/lw_pict.htm Penn ESE535 Spring 2011 -- DeHon 5 Light • What is wavelength of visible light? Penn ESE535 Spring 2011 -- DeHon 6 Phase Shift Masking Source http://www.synopsys.com/Tools/Manufacturing/MaskSynthesis/PSMCreate/Pages/default.aspx Penn ESE535 Spring 2011 -- DeHon 7 Line Edges (PSM) Source: http://www.solid-state.com/display_article/122066/5/none/none/Feat/Developments-in-materials-for-157nm-photoresists Penn ESE535 Spring 2011 -- DeHon 8 Intel 65nm SRAM (PSM) Source: http://www.intel.com/technology/itj/2008/v12i2/5-design/figures/Figure_5_lg.gif Penn ESE535 Spring 2011 -- DeHon 9 Statistical Dopant Placement Penn ESE535 Spring 2011 -- DeHon 10 [Bernstein et al, IBM JRD 2006] Vth Variability @ 65nm Penn ESE535 Spring 2011 -- DeHon 11 [Bernstein et al, IBM JRD 2006] Gaussian Distribution From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg Penn ESE534 Spring2010 -- DeHon 12 ITRS 2005 Variation (3s) Penn ESE535 Spring 2011 -- DeHon 13 Impact Performance • Vth Ids Delay (Ron * Cload) Penn ESE370 Fall2010 -- DeHon 14 Impact of Vth Variation Penn ESE535 Spring 2009 -- DeHon 15 FPGA Logic Variation • Altera Cyclone-II • 90nm Penn ESE370 Fall2010 -- DeHon [Wong, FPT2007] 16 Source: Noel Menezes, Intel ISPD2007 Penn ESE535 Spring 2011 -- DeHon 17 Source: Noel Menezes, Intel ISPD2007 Penn ESE535 Spring 2011 -- DeHon 18 Old Way • Characterize gates by corner cases – Fast, nominal, slow • Add up corners to estimate range • Preclass: – Slow corner: 1.1 – Nominal: 1.0 – Fast corner: 0.9 Penn ESE535 Spring 2011 -- DeHon 19 Corners Misleading Penn ESE535 Spring 2011 -- DeHon [Orshansky+Keutzer DAC 2002] 20 Gaussian Distribution From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg Penn ESE534 Spring2010 -- DeHon 21 Probability Distribution Parameteric Yield Sell Premium Sell Sell nominal cheap Discard Delay Penn ESE535 Spring 2011 -- DeHon 22 Phenomena 1: Path Averaging • Tpath = t0+t1+t2+t3+…t(d-1) • Ti – iid random variables – Mean t – Variance s • Tpath – Mean d×t – Variance = d × s Penn ESE535 Spring 2011 -- DeHon 23 Sequential Paths • Tpath = t0+t1+t2+t3+…t(d-1) • Tpath – Mean d×t – Variance = d × s • 3 sigma delay on path: d×t + 3d × s – Worst case per component would be: d×(t+3 s) – Overestimate d vs. d Penn ESE535 Spring 2011 -- DeHon 24 SSTA vs. Corner Models • STA with corners predicts 225ps • SSTA predicts 162ps at 3s • SSTA reduces pessimism by 28% [Slide composed by Nikil Mehta] Penn ESE535 Spring 2011 -- DeHon Source: IBM, TRCAD 200625 Phenomena 2: Parallel Paths • • • • • • Cycle time limited by slowest path Tcycle = max(Tp0,Tp1,Tp2,…Tp(n-1)) P(Tcycle<T0) = P(Tp0<T0)×P(Tp1<T0)… = [P(Tp<T0)]n 0.5 = [P(Tp<T50)]n P(Tp<T50) = (0.5)(1/n) Penn ESE535 Spring 2011 -- DeHon 26 • P(Tp<T50) = (0.5)(1/n) Probability Distribution System Delay Delay – N=108 0.999999993 • 1-7×10-9 – N=1010 0.99999999993 • 1-7×10-11 Penn ESE535 Spring 2011 -- DeHon 27 Gaussian Distribution From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg Penn ESE534 Spring2010 -- DeHon 28 • P(Tp<T50) = (0.5)(1/n) Probability Distribution System Delay Delay – N=108 0.999999993 • 1-7×10-9 – N=1010 0.99999999993 • 1-7×10-11 • For 50% yield want – 6 to 7 s – T50=Tmean+7spath Penn ESE535 Spring 2011 -- DeHon 29 System Delay Penn ESE535 Spring 2011 -- DeHon 30 System Delay Penn ESE535 Spring 2011 -- DeHon 31 Corners Misleading Phenomena 2 Phenomena 1 Penn ESE535 Spring 2011 -- DeHon [Orshansky+Keutzer DAC 2002] 32 Source: Noel Menezes, Intel ISPD2007 Penn ESE535 Spring 2011 -- DeHon 33 But does worst-case mislead? • STA with worst-case says these are equivalent: Penn ESE535 Spring 2011 -- DeHon 34 But does worst-case mislead? • STA with worst-case says these are equivalent: Penn ESE535 Spring 2011 -- DeHon 35 Does Worst-Case Mislead? • Delay of off-critical path may matter • May become larger Penn ESE535 Spring 2011 -- DeHon 36 What do we need to do? • Ideal: – Compute PDF for delay at each gate – Compute delay of a gate as a PDF from: • PDF of inputs • PDF of gate delay Penn ESE535 Spring 2011 -- DeHon 37 Delay Calculation Day 20 AND rules Penn ESE535 Spring 2011 -- DeHon 38 What do we need to do? • Ideal: – compute PDF for delay at each gate – Compute delay of a gate as a PDF from: • PDF of inputs • PDF of gate delay – Need to compute for distributions • SUM • MAX (maybe MIN) Penn ESE535 Spring 2011 -- DeHon 39 Dealing with PDFs • Simple model assume all PDFs are Gaussian – Model with mean, s – Imperfect • Not all phenomena are Gaussian • Sum of Gaussians is Gaussian • Max of Gaussians is not a Gaussian Penn ESE535 Spring 2011 -- DeHon 40 Sum of Gaussians • Two Guassians – A,sA and B, sB – SUM = (A+B), 2 2 sA + s B – If identical • SUM = 2A, sA2 Penn ESE535 Spring 2011 -- DeHon 41 Tightness Probability (toward max) Gaussian PDF with zero mean and unit variance Prob(X<y) Standard deviation of SUM(A,B) (if A & B uncorrelated) Prob(X<(Anom – Bnom)/mA+B)) Penn ESE535 Spring 2011 -- DeHon [Source: Nikil Mehta] 42 MAX of Two Gaussians • Expected value – Weighted sum of means – Additional term which adds fraction of s of SUM(A,B) • Variance – Weighted sum of variance – Some other terms? Penn ESE535 Spring 2011 -- DeHon [Source: Nikil Mehta] 43 MAX of Two Identical Gaussians • Given two identical Gaussians A and B with m and s • Plug into equations • E[MAX(A,B)] = m + s/()1/2 • VAR[MAX(A,B)] = s2 – s/ [Source: Nikil Mehta] Penn ESE535 Spring 2011 -- DeHon 44 [Source: Nikil Mehta] STA Example • Example circuit – Each component has a delay – Nets are numbered 3 1 6 2 2 3 4 4 1 3 6 5 12 5 3 Penn ESE535 Spring 2011 -- DeHon 2 7 45 [Source: Nikil Mehta] STA Example • Transform into a timing graph – Nodes = nets – Edges = gates (many edges can correspond to the same gate) 3 1 2 2 4 3 1 4 6 3 6 12 0 6 5 12 5 12 Penn ESE535 Spring 2011 -- DeHon S 3 2 7 0 46 [Source: Nikil Mehta] STA Example • Goal is to compute arrival time on output t=0 3 1 t=0 2 2 t=0 4 3 t=0 1 4 6 3 6 12 0 6 5 12 5 12 Penn ESE535 Spring 2011 -- DeHon S 3 2 7 0 47 [Source: Nikil Mehta] STA Example 3 1 t=3 2 2 12 t=2 t=14 4 12 3 t=16 t=4 12 1 t=13 4 t=1 2011 -- DeHon Penn ESE535 Spring 6 3 6 t=9 0 6 5 5 S 3 2 7 0 48 [Source: Nikil Mehta] STA Example – For nodes with multiple inputs • Arrival time = MAX(input arrival times) 3 1 t=3 2 2 12 t=2 t=14 4 12 3 t=16 t=4 12 1 t=13 4 t=1 2011 -- DeHon Penn ESE535 Spring 6 3 6 t=9 0 6 5 5 t=21 S 3 2 7 0 49 [Source: Nikil Mehta] STA Example 3 1 t=3 2 2 12 t=2 t=14 4 12 3 t=16 t=4 12 1 t=13 4 t=1 2011 -- DeHon Penn ESE535 Spring 6 3 6 t=9 0 6 5 t=27 5 t=21 S 3 t=24 2 7 0 50 [Source: Nikil Mehta] STA Example 3 1 t=3 2 2 12 t=2 t=14 4 12 3 t=16 t=4 12 1 t=13 4 t=1 2011 -- DeHon Penn ESE535 Spring 6 3 6 t=9 6 5 t=30 0 t=30 t=27 5 t=21 3 t=24 2 7 t=26 0 S t=30 t=26 51 [Source: Nikil Mehta] SSTA Example • Represent delay and arrival time statistically (m,s) • Picking large variance (10) for all delays (3,10) 1 t=(3,10) (2,10) 2 (12,10) t=(2,10) (4,10) (12,10) 3 t=(4,10) (1,10) (12,10) 4 Penn ESE535t=(1,10) Spring 2011 -- DeHon (6,10) (3,10) 6 (6,10) (0,0) (5,10) 5 (0,0) (3,10) S (2,10) 7 52 [Source: Nikil Mehta] SSTA Example • Perform statistical SUM’s • Once we get to node 5, calculate tightness probabilities of input edges – Will allow us to perform statistical MAX – MAX is computed pairwise (3,10) 1 (6,10) (3,10) t=(3,10) t=(9,14) 6 (2,10) (6,10) 2 (12,10) t=(2,10) t=(14,14) 0.35 (5,10) (4,10) (12,10) 0.43 3 5 t=(16,14) t=(4,10) 0.22 t=(32,14) (3,10) (2,10) (1,10) (12,10) t=(13,14) 4 7 Penn ESE535t=(1,10) Spring 2011 -- DeHon (0,0) (0,0) S 53 [Source: Nikil Mehta] SSTA Example • Finish forward pass – Now, have statistical delay pdf of circuit – Normal distribution with m=51 and s=15 (3,10) 1 t=(3,10) (6,10) 0.03 (3,10) t=(9,14) 6 (6,10) 0.97 t=(44,17) (2,10) (0,0) 2 (12,10) t=(2,10) t=(14,14) 0.64 0.35 (5,10) t=(44,17) t=(38,17) (4,10) (12,10) 0.43 3 5 S t=(16,14) (0,0) t=(4,10) t=(51,15) 0.22 t=(32,14) (3,10) 0.36 (2,10) (1,10) (12,10) t=(35,17) t=(13,14) t=(37,20) 4 1.00 7 54 Penn ESE535t=(1,10) Spring 2011 -- DeHon t=(37,20) [Source: Nikil Mehta] SSTA Example • Also have statistical criticality of all paths – Criticality ´ Product of tightness probabilities along path – SSTA outputs list of paths in order of criticality • On backward pass can calculate – Statistical slack – Statistical node/edge criticality 1 0.03 6 2 0.97 0.35 3 0.43 Printing critical paths (7/7) … [crit=0.27](node3->sink) [crit=0.21](node2->sink) [crit=0.15](node3->sink) [crit=0.13](node4->sink) [crit=0.12](node2->sink) [crit=0.07](node4->sink) [crit=0.02](node1->sink) 0.64 5 S 0.22 4 Penn ESE535 Spring 2011 -- DeHon 0.36 1.00 7 55 Probability of Path Being Critical [Source: Intel DAC 2005] Penn ESE535 Spring 2011 -- DeHon 56 More Technicalities • Correlation – Physical on die – In path (reconvergent fanout) • Makes result conservative – Gives upper bound – Can compute lower 2 1 4 3 Graphics from: Noel Menezes (top) and Nikil Mehta (bottom) Penn ESE535 Spring 2011 -- DeHon 57 Max of Gaussians with Correlation • Max of identical Gaussians Penn ESE535 Spring 2011 -- DeHon [Blaauw et al. TRCAD v27n4p589] 58 MAX of Two Identical Gaussians • Given two identical Gaussians A and B with m and s • Plug into equations • E[MAX(A,B)] = m + s/()1/2 • VAR[MAX(A,B)] = s2 – s/ [Source: Nikil Mehta] Extreme of correlated: is just the input Gaussian Penn ESE535 Spring 2011 -- DeHon 59 SSTA vs. Monte Carlo Verification Time Source: IBM, TRCAD 2006 Penn ESE535 Spring 2011 -- DeHon 60 Using SSTA in FPGA CAD [Slide composed by Nikil Mehta] • Le Hei – FPGA2007 – SSTA Synthesis, Place, Route Penn ESE535 Spring 2011 -- DeHon • Kia – FPGA2007 – Route with SSTA 61 Impact of SSTA in High-Level Synthesis • Scheduling and provisioning – ALU/MUL s=5% tnominal Penn ESE535 Spring 2011 -- DeHon [Jung&Kim ICCAD2007] 62 Summary • Nanoscale fabrication is a statistical process • Delays are PDFs • Assuming each device is worst-case delay is too pessimistic – Wrong prediction about timing – Leads optimization in wrong direction • Reformulate timing analysis as statistical calculation • Estimate the PDF of circuit delays • Use this to drive optimizations Penn ESE535 Spring 2011 -- DeHon 63 Admin • Reading for Wednesday on blackboard • Office Hours Tuesday shifted back – 5:35pm Penn ESE535 Spring 2011 -- DeHon 64 Big Ideas: • Coping with uncertainty • Statistical Reasoning and Calculation Penn ESE535 Spring 2011 -- DeHon 65