Presentation is loading. Please wait.

Presentation is loading. Please wait.

Penn ESE535 Spring 2009 -- DeHon 1 ESE535: Electronic Design Automation Day 23: April 22, 2009 Statistical Static Timing Analysis.

Similar presentations


Presentation on theme: "Penn ESE535 Spring 2009 -- DeHon 1 ESE535: Electronic Design Automation Day 23: April 22, 2009 Statistical Static Timing Analysis."— Presentation transcript:

1 Penn ESE535 Spring 2009 -- DeHon 1 ESE535: Electronic Design Automation Day 23: April 22, 2009 Statistical Static Timing Analysis

2 Penn ESE535 Spring 2009 -- DeHon 2 Today Sources of Variation Limits of Worst Case Optimization for Parametric Yield Statistical Analysis

3 Penn ESE535 Spring 2009 -- 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. 10 100 1000 10000 1000500250130653216 Technology Node (nm) Mean Number of Dopant Atoms Transistor critical dimensions Atomic discreteness Subwavelength litho Etch/polish rates Focus Number of dopants Dopant Placement

4 Penn ESE535 Spring 2009 -- DeHon 4 Oxide Thickness [Asenov et al. TRED 2002]

5 Penn ESE535 Spring 2009 -- DeHon 5 Line Edge Roughness 1.2  m and 2.4  m lines From: http://www.microtechweb.com/2d/lw_pict.htm

6 Penn ESE535 Spring 2009 -- DeHon 6 Phase Shift Masking Source http://www.synopsys.com/Tools/Manufacturing/MaskSynthesis/PSMCreate/Pages/default.aspx

7 Penn ESE535 Spring 2009 -- DeHon 7 Line Edges (PSM) Source: http://www.solid-state.com/display_article/122066/5/none/none/Feat/Developments-in-materials-for-157nm-photoresists

8 Penn ESE535 Spring 2009 -- DeHon 8 Intel 65nm SRAM (PSM) Source: http://www.intel.com/technology/itj/2008/v12i2/5-design/figures/Figure_5_lg.gif

9 Penn ESE535 Spring 2009 -- DeHon 9 Statistical Dopant Placement [Bernstein et al, IBM JRD 2006]

10 Penn ESE535 Spring 2009 -- DeHon 10 V th Variability @ 65nm [Bernstein et al, IBM JRD 2006]

11 Penn ESE535 Spring 2009 -- DeHon 11 Parameter Variation Parameters will vary from device-to- device on the die –Include transistor threshold (V th ) Sverdlov et al. TRED v50n9p1926 2003

12 Penn ESE535 Spring 2009 -- DeHon 12 ITRS 2005 Variation

13 Penn ESE535 Spring 2009 -- DeHon 13 Source: Noel Menezes, Intel ISPD2007

14 Penn ESE535 Spring 2009 -- DeHon 14 Source: Noel Menezes, Intel ISPD2007

15 Penn ESE535 Spring 2009 -- DeHon 15 Old Way Characterize gates by corner cases –Fast, nominal, slow Add up corners to estimate range

16 Penn ESE535 Spring 2009 -- DeHon 16 Corners Misleading [Orshansky+Keutzer DAC 2002]

17 Penn ESE535 Spring 2009 -- DeHon 17 Parameteric Yield Probability Distribution Delay Discard Sell Premium Sell nominal Sell cheap

18 Penn ESE535 Spring 2009 -- DeHon 18 Phenomena 1: Path Averaging 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  × 

19 Penn ESE535 Spring 2009 -- DeHon 19 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

20 Penn ESE535 Spring 2009 -- DeHon 20 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]

21 Penn ESE535 Spring 2009 -- DeHon 21 Phenomena 2: Parallel Paths Cycle time limited by slowest path 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)

22 Penn ESE535 Spring 2009 -- DeHon 22 System Delay P(T p <T 50 ) = (0.5) (1/n) –N=10 8  0.999999993 1-7×10 -9 –N=10 10  0.99999999993 1-7×10 -11 For 50% yield want –6 to 7  –T 50 =T mean +7  path Probability Distribution Delay

23 Penn ESE535 Spring 2009 -- DeHon 23 System Delay

24 Penn ESE535 Spring 2009 -- DeHon 24 System Delay

25 Penn ESE535 Spring 2009 -- DeHon 25 Corners Misleading [Orshansky+Keutzer DAC 2002] Phenomena 2 Phenomena 1

26 Penn ESE535 Spring 2009 -- DeHon 26 Source: Noel Menezes, Intel ISPD2007

27 Penn ESE535 Spring 2009 -- DeHon 27 But does worst-case mislead? STA with worst-case says these are equivalent:

28 Penn ESE535 Spring 2009 -- DeHon 28 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

29 Penn ESE535 Spring 2009 -- DeHon 29 Delay Calculation AND rules Day 15

30 Penn ESE535 Spring 2009 -- DeHon 30 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)

31 Penn ESE535 Spring 2009 -- DeHon 31 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 a Gaussian

32 Penn ESE535 Spring 2009 -- DeHon 32 Sum of Gaussians Two Guassians –A,  A and B,  B –SUM = (A+B), –If identical SUM = 2A,  A  2

33 Penn ESE535 Spring 2009 -- DeHon 33 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<(A nom – B nom )/  A+B )) [Source: Nikil Mehta]

34 Penn ESE535 Spring 2009 -- DeHon 34 MAX of Two Gaussians Expected value –Weighted sum of means –Additional term which adds fraction of  of SUM(A,B) Variance –Weighted sum of variance –Some other terms? [Source: Nikil Mehta]

35 Penn ESE535 Spring 2009 -- DeHon 35 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]

36 Penn ESE535 Spring 2009 -- DeHon 36 STA Example Example circuit –Each component has a delay –Nets are numbered 1 2 3 4 6 5 7 3 2 4 1 5 2 3 3 6 12 [Source: Nikil Mehta]

37 Penn ESE535 Spring 2009 -- DeHon 37 STA Example Transform into a timing graph –Nodes = nets –Edges = gates (many edges can correspond to the same gate) 1 2 3 4 6 7 5S 3 6 4 1 6 3 0 0 2 3 2 5 12 [Source: Nikil Mehta]

38 Penn ESE535 Spring 2009 -- DeHon 38 STA Example Goal is to compute arrival time on output t=0 1 2 3 4 6 7 5S 3 6 4 1 6 3 0 0 2 3 2 5 12 t=0 [Source: Nikil Mehta]

39 Penn ESE535 Spring 2009 -- DeHon 39 STA Example t=1 1 2 3 4 6 7 5S 3 6 4 1 6 3 0 0 2 3 2 5 12 t=4 t=2 t=3 t=13 t=16 t=14 t=9 [Source: Nikil Mehta]

40 Penn ESE535 Spring 2009 -- DeHon 40 STA Example t=1 1 2 3 4 6 7 5S 3 6 4 1 6 3 0 0 2 3 2 5 12 t=4 t=2 t=3 t=13 t=16 t=14 t=9 t=21 –For nodes with multiple inputs Arrival time = MAX(input arrival times) [Source: Nikil Mehta]

41 Penn ESE535 Spring 2009 -- DeHon 41 STA Example t=1 1 2 3 4 6 7 5S 3 6 4 1 6 3 0 0 2 3 2 5 12 t=4 t=2 t=3 t=13 t=16 t=14 t=9 t=21 t=27 t=24 [Source: Nikil Mehta]

42 Penn ESE535 Spring 2009 -- DeHon 42 STA Example t=1 1 2 3 4 6 7 5S 3 6 4 1 6 3 0 0 2 3 2 5 12 t=4 t=2 t=3 t=13 t=16 t=14 t=9 t=21 t=27 t=24 t=30 t=26 t=30 [Source: Nikil Mehta]

43 Penn ESE535 Spring 2009 -- DeHon 43 SSTA Example Represent delay and arrival time statistically ( ,  ) Picking large variance (10) for all delays t=(1,10) 1 2 3 4 6 7 5S (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]

44 Penn ESE535 Spring 2009 -- DeHon 44 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) 1 2 3 4 6 7 5S (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) 0.35 0.43 0.22 t=(9,14) t=(32,14) [Source: Nikil Mehta]

45 Penn ESE535 Spring 2009 -- DeHon 45 SSTA Example Finish forward pass –Now, have statistical delay pdf of circuit –Normal distribution with  =51 and  =15 t=(1,10) 1 2 3 4 6 7 5S (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) 0.35 0.43 0.22 0.03 0.97 1.00 0.36 0.64 t=(44,17) t=(37,20) t=(51,15) t=(37,20) t=(44,17) [Source: Nikil Mehta]

46 Penn ESE535 Spring 2009 -- DeHon 46 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 2 3 4 6 7 5S 0.35 0.43 0.22 0.03 0.97 1.00 0.36 0.64 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]

47 Penn ESE535 Spring 2009 -- DeHon 47 Probability of Path Being Critical [Source: Intel DAC 2005]

48 Penn ESE535 Spring 2009 -- DeHon 48 More Technicalities Correlation –Physical on die –In path (reconvergent fanout) Makes result conservative –Gives upper bound –Can compute lower 2 3 14 Graphics from: Noel Menezes (top) and Nikil Mehta (bottom)

49 Penn ESE535 Spring 2009 -- DeHon 49 SSTA vs. Monte Carlo Verification Time Source: IBM, TRCAD 2006

50 Penn ESE535 Spring 2009 -- DeHon 50 Using SSTA in FPGA CAD Kia –FPGA2007 –Route with SSTA Le Hei –FPGA2007 –SSTA Synthesis, Place, Route [Slide composed by Nikil Mehta]

51 Penn ESE535 Spring 2009 -- DeHon 51 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

52 Penn ESE535 Spring 2009 -- DeHon 52 Admin Reading for Monday online Online Course Evaluations –http://www.upenn.edu/eval

53 Penn ESE535 Spring 2009 -- DeHon 53 Big Ideas: Coping with uncertainty Statistical Reasoning and Calculation


Download ppt "Penn ESE535 Spring 2009 -- DeHon 1 ESE535: Electronic Design Automation Day 23: April 22, 2009 Statistical Static Timing Analysis."

Similar presentations


Ads by Google