Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 14: March 19, 2008 Statistical Static Timing Analysis
Penn ESE535 Spring DeHon 2 Today Sources of Variation Limits of Worst Case Optimization for Parametric Yield Statistical Analysis Difficulties
Penn ESE535 Spring DeHon 3 Central Problem As our devices approach the atomic scale, we must deal with statistical effects governing the placement and behavior of individual atoms and electrons Technology Node (nm) Mean Number of Dopant Atoms Transistor critical dimensions Atomic discreteness Subwavelength litho Etch/polish rates Focus Number of dopants Dopant Placement
Penn ESE535 Spring DeHon 4 Parameter Variation Parameters will vary from device-to- device on the die –Include transistor threshold (V th ) Sverdlov et al. TRED v50n9p
Penn ESE535 Spring DeHon 5 ITRS 2005 Variation
Penn ESE535 Spring DeHon 6 Source: Noel Menezes, Intel ISPD2007
Penn ESE535 Spring DeHon 7 Source: Noel Menezes, Intel ISPD2007
Penn ESE535 Spring DeHon 8 Margins growing due to increasing variation Delay=Mean+3 > older technology? Worst Case Probability Distribution Delay New Old
Penn ESE535 Spring DeHon 9 Sequential Paths T path = t 0 +t 1 +t 2 +t 3 +…t (d-1) T i – iid random variables –Mean –Variance Tpath –Mean d× –Variance d ×
Penn ESE535 Spring DeHon 10 Sequential Paths T path = t 0 +t 1 +t 2 +t 3 +…t (d-1) T path –Mean d× –Variance d × 3 sigma delay on path: d× d × –Worst case per component would be: d×( –Overestimate d vs. d
Penn ESE535 Spring DeHon 11 Parallel Paths T cycle = max(T p0,T p1,T p2,…T p(n-1) ) P(T cycle <T 0 ) = P(T p0 <T 0 )×P(T p1 <T 0 )… = [P(T p <T 0 )] n 0.5 = [P(T p <T 50 )] n P(T p <T 50 ) = (0.5) (1/n)
Penn ESE535 Spring DeHon 12 System Delay P(T p <T 50 ) = (0.5) (1/n) –N=10 8 ×10 -9 –N=10 10 × For 50% yield want –6 to 7 –T 50 =T mean +7 path Probability Distribution Delay
Penn ESE535 Spring DeHon 13 System Delay
Penn ESE535 Spring DeHon 14 Source: Noel Menezes, Intel ISPD2007
Penn ESE535 Spring DeHon 15 But does it mislead? STA with worst-case says these are equivalent:
Penn ESE535 Spring DeHon 16 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 DeHon 17 Delay Calculation AND rules Day 7
Penn ESE535 Spring DeHon 18 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 DeHon 19 Dealing with PDFs Simple model assume all PDFs are Gaussian –Model with mean, –Imperfect Not all phenomena are Gaussian Sum of Gaussians is Gaussian Max of Gaussians…is not…
Penn ESE535 Spring DeHon 20 Sum of Gaussians Two Guassians –A, A and B, B –SUM = (A+B), –If identical SUM = 2A, A 2
Penn ESE535 Spring DeHon 21 MAX of Two Identical Gaussians Given two identical Gaussians A and B with and Plug into equations E[MAX(A,B)] = + /( ) 1/2 VAR[MAX(A,B)] = 2 – / [Source: Nikil Mehta]
Penn ESE535 Spring DeHon 22 SSTA Example Represent delay and arrival time statistically ( , ) Picking large variance (10) for all delays t=(1,10) S (3,10) (4,10) (1,10) (2,10) t=(4,10) t=(2,10) t=(3,10) (6,10) (3,10) (0,0) (3,10) (2,10) (5,10) (12,10) [Source: Nikil Mehta]
Penn ESE535 Spring DeHon 23 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 t=(1,10) S (3,10) (6,10) (4,10) (1,10) (6,10) (3,10) (0,0) (2,10) (3,10) (2,10) (5,10) (12,10) t=(4,10) t=(2,10) t=(3,10) t=(16,14) t=(14,14) (12,10) t=(13,14) (12,10) t=(9,14) t=(32,14) [Source: Nikil Mehta]
Penn ESE535 Spring DeHon 24 SSTA Example Finish forward pass –Now, have statistical delay pdf of circuit –Normal distribution with =51 and =15 t=(1,10) S (3,10) (6,10) (4,10) (1,10) (6,10) (3,10) (0,0) (2,10) (3,10) (2,10) (5,10) (12,10) t=(4,10) t=(2,10) t=(3,10) t=(16,14) t=(14,14) t=(9,14) t=(32,14) t=(38,17) t=(35,17) (12,10) t=(13,14) (12,10) t=(44,17) t=(37,20) t=(51,15) t=(37,20) t=(44,17) [Source: Nikil Mehta]
Penn ESE535 Spring DeHon 25 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 S 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) [Source: Nikil Mehta]
Penn ESE535 Spring DeHon 26 Probability of Path Being Critical [Source: Intel DAC 2005]
Penn ESE535 Spring DeHon 27 More Technicalities Correlation –Physical on die –In path (reconvergent fanout) Makes result conservative –Gives upper bound –Can compute lower Graphics from: Noel Menezes (top) and Nikil Mehta (bottom)
Penn ESE535 Spring DeHon 28 SSTA vs. Corner Models STA with corners predicts 225ps SSTA predicts 162ps at 3 SSTA reduces pessimism by 28% Source: IBM, TRCAD 2006 [Slide composed by Nikil Mehta]
Penn ESE535 Spring DeHon 29 SSTA vs. Monte Carlo Verification Time Instead people report SSTA vs Monte Carlo –Monte Carlo obviously way slower than just simulating corners –However, corners don’t cover all cases Source: IBM, TRCAD 2006 [Slide composed by Nikil Mehta]
Penn ESE535 Spring DeHon 30 Using SSTA in FPGA CAD Kia –FPGA2007 –Route with SSTA Le Hei –FPGA2007 –SSTA Synthesis, Place, Route [Slide composed by Nikil Mehta]
Penn ESE535 Spring DeHon 31 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
Penn ESE535 Spring DeHon 32 Admin Reading for Monday Homework due Monday
Penn ESE535 Spring DeHon 33 Big Ideas: Coping with uncertainty Statistical Reasoning and Calculation