Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 Penn ESE535 Spring 2011 -- DeHon 2 Today Sources of Variation Limits of Worst Case Optimization for Parametric Yield Statistical Analysis Behavioral (C, MATLAB, …) RTL Gate Netlist Layout Masks Arch. Select Schedule FSM assign Two-level Multilevel opt. Covering Retiming Placement Routing

3 Penn ESE535 Spring 2011 -- 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 2011 -- DeHon 4 Oxide Thickness [Asenov et al. TRED 2002]

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

6 Light What is wavelength of visible light? Penn ESE535 Spring 2011 -- DeHon 6

7 7 Phase Shift Masking Source http://www.synopsys.com/Tools/Manufacturing/MaskSynthesis/PSMCreate/Pages/default.aspx

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

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

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

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

12 Gaussian Distribution Penn ESE534 Spring2010 -- DeHon 12 From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg

13 Penn ESE535 Spring 2011 -- DeHon 13 ITRS 2005 Variation (3  )

14 Impact Performance V th  I ds  Delay (R on * C load ) Penn ESE370 Fall2010 -- DeHon 14

15 Impact of V th Variation Penn ESE535 Spring 2009 -- DeHon 15

16 FPGA Logic Variation Altera Cyclone-II 90nm Penn ESE370 Fall2010 -- DeHon 16 [Wong, FPT2007]

17 Penn ESE535 Spring 2011 -- DeHon 17 Source: Noel Menezes, Intel ISPD2007

18 Penn ESE535 Spring 2011 -- DeHon 18 Source: Noel Menezes, Intel ISPD2007

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

20 Penn ESE535 Spring 2011 -- DeHon 20 Corners Misleading [Orshansky+Keutzer DAC 2002]

21 Gaussian Distribution Penn ESE534 Spring2010 -- DeHon 21 From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg

22 Penn ESE535 Spring 2011 -- DeHon 22 Parameteric Yield Probability Distribution Delay Discard Sell Premium Sell nominal Sell cheap

23 Penn ESE535 Spring 2011 -- DeHon 23 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  × 

24 Penn ESE535 Spring 2011 -- DeHon 24 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

25 Penn ESE535 Spring 2011 -- DeHon 25 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]

26 Penn ESE535 Spring 2011 -- DeHon 26 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)

27 Penn ESE535 Spring 2011 -- DeHon 27 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 Probability Distribution Delay

28 Gaussian Distribution Penn ESE534 Spring2010 -- DeHon 28 From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg

29 Penn ESE535 Spring 2011 -- DeHon 29 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

30 Penn ESE535 Spring 2011 -- DeHon 30 System Delay

31 Penn ESE535 Spring 2011 -- DeHon 31 System Delay

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

33 Penn ESE535 Spring 2011 -- DeHon 33 Source: Noel Menezes, Intel ISPD2007

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

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

36 Does Worst-Case Mislead? Delay of off-critical path may matter May become larger Penn ESE535 Spring 2011 -- DeHon 36

37 Penn ESE535 Spring 2011 -- DeHon 37 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

38 Penn ESE535 Spring 2011 -- DeHon 38 Delay Calculation AND rules Day 20

39 Penn ESE535 Spring 2011 -- DeHon 39 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)

40 Penn ESE535 Spring 2011 -- DeHon 40 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

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

42 Penn ESE535 Spring 2011 -- DeHon 42 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]

43 Penn ESE535 Spring 2011 -- DeHon 43 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]

44 Penn ESE535 Spring 2011 -- DeHon 44 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]

45 Penn ESE535 Spring 2011 -- DeHon 45 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]

46 Penn ESE535 Spring 2011 -- DeHon 46 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]

47 Penn ESE535 Spring 2011 -- DeHon 47 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]

48 Penn ESE535 Spring 2011 -- DeHon 48 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]

49 Penn ESE535 Spring 2011 -- DeHon 49 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]

50 Penn ESE535 Spring 2011 -- DeHon 50 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]

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

52 Penn ESE535 Spring 2011 -- DeHon 52 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]

53 Penn ESE535 Spring 2011 -- DeHon 53 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]

54 Penn ESE535 Spring 2011 -- DeHon 54 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]

55 Penn ESE535 Spring 2011 -- DeHon 55 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]

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

57 Penn ESE535 Spring 2011 -- DeHon 57 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)

58 Penn ESE535 Spring 2011 -- DeHon 58 Max of Gaussians with Correlation Max of identical Gaussians [Blaauw et al. TRCAD v27n4p589]

59 Penn ESE535 Spring 2011 -- DeHon 59 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] Extreme of correlated: is just the input Gaussian

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

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

62 Penn ESE535 Spring 2011 -- DeHon 62 Impact of SSTA in High-Level Synthesis Scheduling and provisioning –ALU/MUL  =5% t nominal [Jung&Kim ICCAD2007]

63 Penn ESE535 Spring 2011 -- DeHon 63 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

64 Penn ESE535 Spring 2011 -- DeHon 64 Admin Reading for Wednesday on blackboard Office Hours Tuesday shifted back –5:35pm

65 Penn ESE535 Spring 2011 -- DeHon 65 Big Ideas: Coping with uncertainty Statistical Reasoning and Calculation


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

Similar presentations


Ads by Google