Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities1 of 80 Statistical Analysis and Design: From Picoseconds.

Similar presentations


Presentation on theme: "© Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities1 of 80 Statistical Analysis and Design: From Picoseconds."— Presentation transcript:

1 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities1 of 80 Statistical Analysis and Design: From Picoseconds to Probabilities Chandu Visweswariah IBM Thomas J. Watson Research Center Yorktown Heights, NY http://www.research.ibm.com/people/c/chandu With acknowledgments to the extended timing, modeling, synthesis and methodology teams at IBM Yorktown, Fishkill and Burlington

2 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities2 of 80 Happy Independence Day!

3 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities3 of 80 Propositions (and outline) 1.Variability is proportionately increasing; therefore, a new paradigm is required 2.Correlations matter 3.Statistical timing tools are rising to the challenge 4.Robustness is an important metric 5.Statistical treatment of variability will pervade all aspects of chip design methodology, manufacturing and test ASICs and processors will both benefit

4 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities4 of 80 Section 1: The Problem … and what exactly is a statistical timer?

5 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities5 of 80 The march of technology Performance Technology generation Is this worth a huge investment?

6 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities6 of 80 The source of the problem Variability is proportionately increasing –manufacturing FEOL: critical dimensions are scaling faster than our control of them BEOL: variability dramatically increases the number of independent and significant sources of variation –environmental (V dd, temperature) –fatigue (NBTI, hot electron effect) –across-chip (OCV/ACLV, temperature, V dd ) –circuit design (PLL jitter, coupling noise, SOI history) –model-to-hardware correlation

7 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities7 of 80 Delay impact of variations ParameterDelay Impact BEOL metal (Metal mistrack, thin/thick wires) -10% → +25% Environmental (Voltage islands, IR drop, temperature)  15 % Device fatigue (NBTI, hot electron effects)  10% V t and T ox device family tracking (Can have multiple V t and T ox device families)  5% Model/hardware uncertainty (Per cell type)  5% N/P mistrack (Fast rise/slow fall, fast fall/slow rise)  10% PLL (Jitter, duty cycle, phase error)  10% [Courtesy Kerim Kalafala] Requires 2 20 timing runs or [-65%,+80%] guard band!

8 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities8 of 80 Can you answer these questions about your favorite digital chip? What does 5% random delay variability on each gate and wire do to your frequency distribution? What does 5% correlated delay variability do to your frequency distribution? What % delay variation leads to a hold violation? How many yield points does OCV/ACLV cost? What is the shape of your parametric yield curve? What is the sensitivity of your chip’s frequency to –thickness of a metal level? –gate/wire mistracking? –N/P mistracking? –mistracking between metal levels i and j?

9 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities9 of 80 New paradigm required ASICs –old paradigm: sign-off is corner- or case-based –would require 2 20 timing runs to hit all corners –cumbersome, risky and pessimistic all at the same time! Microprocessors –for the most part, nominal performance is targeted –some ad hoc methods to deal with certain types of mistracking Both –our design/synthesis methods do not target robustness, nor do our timing tools measure robustness or give credit for robust design Solution: statistical timing and optimization

10 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities10 of 80 ITRS predictions

11 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities11 of 80

12 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities12 of 80

13 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities13 of 80

14 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities14 of 80 What is a statistical timer? Static timer Delay and slew models Netlist + assertions 1. Slack 2. Diagnostics Statistics of the sources of variability Dependence on sources of variability 1. Yield curve 2. Diagnostics Statistical timer

15 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities15 of 80 Parametric yield curve Yield Clock frequency $$$ ¢ ¢

16 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities16 of 80 Section 2: The Importance of Correlations … and why they make computations a pain

17 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities17 of 80 Importance of correlations Consider a circuit with 50K latches, each with a setup and hold test, each of which has a 99.99% probability of being met If all tests are perfectly correlated, yield = 99.99% If all tests are perfectly independent, yield = 0.005% The truth is closer to the perfectly correlated case!

18 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities18 of 80 Correlation due to path sharing

19 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities19 of 80 Clock and cell-type correlation

20 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities20 of 80 Voltage island correlation

21 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities21 of 80 Global correlation

22 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities22 of 80 Temperature/V dd correlation

23 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities23 of 80 Geographical correlation [From M. Orshansky, L. Milor, P. Chen, K. Keutzer, C. Hu, ICCAD 2000]

24 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities24 of 80 Types of variability Global within a die/reticle –metal dimensions –device family strength mistracking –ambient temperature and power supply Spatial/local correlation across a die/reticle –L eff –junction temperature, V dd Independently random –t ox –doping effects

25 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities25 of 80 First-cut approach to static timing a b c + + MAX b a c + + Deterministic Statistical Question: what do correlations do to the MAX and PLUS operations?

26 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities26 of 80 The max of two unit Gaussians Probability Delay Note!      

27 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities27 of 80 Equally critical signals (  =0) 1 2 30 3 Probability Delay

28 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities28 of 80 Equally critical signals (  =0.5) 1 2 30 3 Probability Delay

29 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities29 of 80 Equally critical signals (  =1.0) 1 2 30 3 Probability Delay

30 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities30 of 80 Thirty equally critical signals Probability Delay  =1  =0.5  =0

31 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities31 of 80 Slack histogram +20 ps #paths slack untuned tuned uncertainty- aware tuned

32 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities32 of 80 The sum of n unit Gaussians (  =1.0) Probability Delay

33 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities33 of 80 The sum of n unit Gaussians (  =0.5) Probability Delay

34 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities34 of 80 The sum of n unit Gaussians (  =0) Probability Delay

35 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities35 of 80 Summary: the sum of 10 unit Gaussians Probability Delay   

36 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities36 of 80 Conventional wisdom revisited Conventional wisdom says, “Use sizing and multiple V t s to tune the circuit aggressively, creating a wall of critical paths –the new wisdom is to optimize the expected value of the critical path delay, which in turn means reducing the wall of critical paths Conventional wisdom says, “Make pipeline stages short and crank up clock frequency” –the new wisdom is to take advantage of RMS/ RSS effects in moderately longer pipelines

37 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities37 of 80 Separating out independent randomness Old: N(20,1) New: systematic variability N(20,2/3) New: independent variability N(0,1/3)

38 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities38 of 80 Case study Consider a critical path of 50 identical gates Old: assume delay of each gate is N(20,1) ps (corner delays are 17 and 23 ps) New: assume delay of each gate is N(20,2/3) ps + N(0,1/3) ps (same corner delays) Old: critical path delay (3  ) = 23  50 = 1150 ps New: critical path delay (3  ) = 22  50 + 3  1/3  50 = 1100 + 7.1 = 1107.1 Improvement in critical path delay = 3.7% This case study can be generalized

39 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities39 of 80 Generalization of case study As N↑, the benefit ↑ As v↑, the benefit ↑ As f↑, the benefit ↑ Rule of thumb: for 50 stages and 5% variability (  ), each percent of independent variability buys 0.1% of critical path delay improvement

40 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities40 of 80 Plot of benefit for N=50

41 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities41 of 80 What about shorter paths (  =5%)?

42 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities42 of 80 M equally critical paths Basic issue –suppose there are M equally critical paths –each of these paths has already received RMS credit, so the delay of each path consists of a constant which is the nominal/intrinsic delay of the path plus the corner-based systematic variability an independent variability part for which we have received an RMS credit, so there is a small probability that the delay is beyond the 3  limit –with a large number of equally critical paths, the 3  of the MAX delay of all M paths is not equal to the 3  delay of each of the M paths –question: how big is this sigma shift?

43 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities43 of 80 A little analysis Example: with M=50, we have to use a 4.037  value on the random part instead of 3  to get a “true 3  ” delay on the maximum delay of 50 paths; this diminishes RSS credit The benefit after taking this into account is plotted in general versus M and N on the next page, assuming f=1/3, v=5%

44 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities44 of 80 Benefit of RMS credit + equally crit. paths

45 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities45 of 80 Statistical timing experiment N(10,1) Data Clock Latch with zero setup guard time How will slack change with  ? N(10,1) Arrival time=0

46 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities46 of 80 Timing experiment result Probability Slack  =1  =0.5  =0

47 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities47 of 80 There’s no question: correlation’s a pain Of neat math. formulas, it’s the bain! Though your timer becomes a morass It’s correlation that saves your … (chip)

48 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities48 of 80 Section 3: Statistical Timing Tools … can they rise to the challenge?

49 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities49 of 80 Statistical timing tools Path-based –conduct a nominal timing analysis –list a representative set of critical paths (question: how may paths? question: which paths?) –model the delay/slack of each path as a function of random variables (the underlying sources of variation) –predict the parametric yield curve (statistical MIN of all path slacks), as well as generate diagnostics Block-based –propagate arrival times and required arrival times in the form of probability distributions –linear time –approximate, quick-and-dirty

50 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities50 of 80 Statistical timing tools

51 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities51 of 80 Feasible region Feasible region in parameter-space Integration of the JPDF over the feasible region is the parametric yield Yield improvement or line-tailoring vector JPDF of global parameters

52 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities52 of 80 Path-based statistical timing

53 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities53 of 80 Block-based statistical timing Deterministic Statistical a b c + + MAX b a c + +

54 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities54 of 80 Canonical variational delay model Correlations are the problem –in a circuit with 1M nodes and 2M edges and 12 timing values per node/edge, we DO NOT want to store or manipulate a 36M x 36M covariance matrix! –instead, parameterize all timing quantities by the sources of variation –first-order canonical model: Constant (nominal value) Random uncertainty (deviation from nominal value) Sensitivities Deviation of global sources of variation from their nominal values

55 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities55 of 80 Procedure Express all delays, slews, arrival times, required arrival times and slacks in canonical form Propagate arrival times forward through the timing graph while preserving correlations Propagate required arrival times backward while preserving correlations Slack is the difference of arrival and required arrival times Each path, node and edge has a probability of being critical; these criticality probabilities can be computed easily All results are also available in canonical form; these diagnostics are extremely useful!

56 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities56 of 80 Interpreting statistical timing results Critical path is not unique Critical paths can be listed in order of probability of being critical –this should be the order in which the timing of paths is “fixed” or optimized In deterministic timing, slack is identical along the critical path This property does not hold in the case of statistical timing Slacks reflect not only timing shortfalls, but also robustness shortfalls

57 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities57 of 80 Probability Data arrival time Clock arrival time Latch timing considerations

58 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities58 of 80 Sample comparison to Monte Carlo Monte Carlo, 14 hours CPU time Block-based statistical timer, 18 seconds CPU time Test chip (3K gates)

59 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities59 of 80 Overhead of statistical calculations Run time overhead –about 20% on batch operation –about 50% on the actual arrival time propagation Memory overhead –about 100% depending on the number of sources of variation and complexity of the models Capacity –able to time 2M+ gate ASIC chips on 64-bit machines

60 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities60 of 80 Methods of handling ACLV/OCV ACLV/OCV is traditionally handled by heuristic derating coefficients –an early/late delay split is applied, and late data is compared to early clock and vice versa However, we want to give credit to compactly laid out launching/capturing path pairs and penalize path pairs that snake all over the chip By taking advantage of spatial correlation, we can obtain proximity credit

61 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities61 of 80 Path-based solution The setup and hold test can be penalized by an early/late split based on the size of this bounding box

62 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities62 of 80 Block-based solution #1 From A. Agarwal et al, TAU ’02

63 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities63 of 80 Block-based solution #2 From H. Chang et al, ICCAD ’03

64 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities64 of 80 Section 4: Robust Design … sure, the process is all over the place, but can I use design techniques to attenuate the effect?

65 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities65 of 80 Remember these? In addition to correctness, power, signal integrity and area, please welcome robustness to variation as a first-class design metric

66 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities66 of 80 Robust design Tremendously valuable if the statistical timer produces timing results in 1 st order canonical form: First order model Constant (nominal part) Sensitivities Global variations Random uncertainty

67 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities67 of 80 Opportunities for robust design Find out which sources of variation are the biggest yield detractors; quantify robustness of a design Any commonality between data and clock cancels out to first order –voltage islands, gate types, device types, metal levels used for interconnect, proximity of launching and capturing paths Robustness-enhancing design decisions –high sensitivity to N/P mistrack  resynthesize with fewer tall P stacks, for example –high sensitivity to a particular metal level  re-route –high sensitivity to Vt mistrack  try to balance use of low/high Vt devices in capturing and launching paths –high sensitivity to wire/gate mistrack  try to rebalance delay Producing timing results in canonical form can help with line tailoring

68 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities68 of 80 How synthesis techniques will evolve Phase 1 –true 3  timing sign-off with statistical timing Phase 2 –use statistical timing to guide the physical synthesis and routing optimization (implicit robustness credit) Phase 3 –further reduce performance  by actively targeting robustness (explicit robustness credit) Phase 4 –with the mainstream availability of at-speed test, enable yield/performance tradeoffs

69 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities69 of 80 Section 5: Methodology … will ASICs benefit? processors?

70 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities70 of 80 ASICs vs. microprocessors

71 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities71 of 80 800 MHz 11 22 33 -3  -2  -1  -2  -3  33 22 11 1 GHz 900 MHz FEOL BEOL Check front-end corners: possible escapes

72 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities72 of 80 600 MHz 800 MHz 11 22 33 -3  -2  -1  -2  -3  33 22 11 1 GHz 900 MHz FEOL BEOL Check all corners: no escapes, pessimistic

73 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities73 of 80 600 MHz 700 MHz 800 MHz 11 22 33 -3  -2  -1  -2  -3  33 22 11 1 GHz 900 MHz FEOL BEOL Statistical timing: no escapes, less pessimism

74 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities74 of 80 ASIC timing methodology Checking “all corners” is very pessimistic Checking “all corners” is intractable Statistical timing fits in “naturally” With the same area/power targets and the same tool suite, but a statistical timer to guide the placement, routing and optimization, the estimated performance improvement is of the order of 20% in 90nm technology Test coverage can be improved by exploiting statistical timing results With at-speed test, arbitrary performance vs. yield tradeoffs can be made based on business needs

75 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities75 of 80 Good chips Path report file with criticality probabilities + process coverage Canonical variational delay model Statistical timing Technology characterization + delay model generation Test vector generation At-speed test Bad chips with failing path signatures Path sensitivities Correlation analysis and diagnosis Model-to-hardware correlation and/or line tailoring MHC, line tailoring

76 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities76 of 80 Possible microprocessor methodology Individual macros Robustness budgetAssertions Statistical timing for optimization “Sign-off” statistical timing and abstraction Global wires Other macros Unit or chip-level statistical timing for optimization Unit or chip-level statistical “sign-off” timing (Mostly) FEOL variability models (Mostly) BEOL variability models Update timing and robustness budgets

77 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities77 of 80 Good chips Too slow Too leaky Vt variations Requires simultaneous power/timing sign-off Probability Vt

78 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities78 of 80 Section 6: Propositions

79 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities79 of 80 Propositions 1.Variability is proportionately increasing; therefore, a new paradigm is required 2.Correlations matter 3.Statistical timing tools are rising to the challenge 4.Robustness is an important metric 5.Statistical treatment of variability will pervade all aspects of chip design and manufacturing ASICs and processors will both benefit

80 © Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities80 of 80 Quotable quotes* Statistical thinking will one day be as necessary for efficient (chip-design) citizenship as the ability to read and write. -- H. G. Wells There are three kinds of lies: lies, damned lies and statistics. -- Disraeli It ain’t so much the things we don’t know that get us in trouble. It’s the things we know that ain’t so. -- Artemus Ward Round numbers are always false. -- Samuel Johnson *From “How to Lie with Statistics,” by Darrell Huff, Norton, 1954


Download ppt "© Chandu Visweswariah, 2004Statistical Analysis and Design: From Picoseconds to Probabilities1 of 80 Statistical Analysis and Design: From Picoseconds."

Similar presentations


Ads by Google