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

Slides:



Advertisements
Similar presentations
Algorithm for Fast Statistical Timing Analysis Jakob Salzmann, Frank Sill, Dirk Timmermann SOC 2007, Nov ‘07, Tampere, Finland Institute of Applied Microelectronics.
Advertisements

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2015 Scheduling Introduction.
On the Need for Statistical Timing Analysis Farid N. Najm University of Toronto
Penn ESE534 Spring Mehta & DeHon 1 ESE534 Computer Organization Day 6: February 12, 2014 Energy, Power, Reliability.
Parameterized Timing Analysis with General Delay Models and Arbitrary Variation Sources Khaled R. Heloue and Farid N. Najm University of Toronto {khaled,
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 21: Where do you go from here? Spring 2009.
1 ESE534: Computer Organization Day 16: March 24, 2010 Component-Specific Mapping Penn ESE534 Spring2010 – DeHon, Gojman, Rubin.
Non-Linear Statistical Static Timing Analysis for Non-Gaussian Variation Sources Lerong Cheng 1, Jinjun Xiong 2, and Prof. Lei He 1 1 EE Department, UCLA.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 22, 2009 Statistical Static Timing Analysis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 13, 2009 Placement II (Simulated Annealing)
Statistical Crosstalk Aggressor Alignment Aware Interconnect Delay Calculation Supported by NSF & MARCO GSRC Andrew B. Kahng, Bao Liu, Xu Xu UC San Diego.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 14: March 19, 2008 Statistical Static Timing Analysis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 26: April 18, 2007 Et Cetera…
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 22: April 11, 2011 Statistical Static Timing Analysis.
Focus group: Statistical synthesis. Top reasons to go for statistical Often cited - worst case is way off - exact SI and IR drop analysis is too complex.
Toward Performance-Driven Reduction of the Cost of RET-Based Lithography Control Dennis Sylvester Jie Yang (Univ. of Michigan,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
© 2005 Altera Corporation © 2006 Altera Corporation Placement and Timing for FPGAs Considering Variations Yan Lin 1, Mike Hutton 2 and Lei He 1 1 EE Department,
Statistical Gate Delay Calculation with Crosstalk Alignment Consideration Andrew B. Kahng, Bao Liu, Xu Xu UC San Diego
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
Advanced Computing and Information Systems laboratory Device Variability Impact on Logic Gate Failure Rates Erin Taylor and José Fortes Department of Electrical.
L. Karklin, S. Mazor, D.Joshi1, A. Balasinski2, and V. Axelrad3
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 11: October 1, 2010 Variation.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 26, 2015 Covering Work preclass exercise.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 21, 2015 Heterogeneous Multicontext Computing Array Work Preclass.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Accelerating Statistical Static Timing Analysis Using Graphics Processing Units Kanupriya Gulati and Sunil P. Khatri Department of ECE, Texas A&M University,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 14, 2011 Placement (Intro, Constructive)
Process Variation Mohammad Sharifkhani. Reading Textbook, Chapter 6 A paper in the reference.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 13: September 27, 2013 Variation.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 7: September 22, 2010 Delay and RC Response.
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2014 Partitioning 2 (spectral, network flow)
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 26: October 31, 2014 Synchronous Circuits.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 22, 2015 Statistical Static Timing Analysis.
STA with Variation 1. 2 Corner Analysis PRCA (Process Corner Analysis):  Takes 1.nominal values of process parameters 2.and a delta for each parameter.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Is Statistical Timing Statistically Significant? DAC 2004, Panel Discussion, Session 41 Chandu Visweswariah IBM Thomas J. Watson Research Center Yorktown.
1 Tau 2002 Explicit Computation of Performance as a Function of Process Parameters Lou Scheffer.
Day 16: October 6, 2014 Inverter Performance
Variation. 2 Sources of Variation 1.Process (manufacturing) (physical) variations:  Uncertainty in the parameters of fabricated devices and interconnects.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 16, 2011 Placement II (Simulated Annealing)
Penn ESE370 Fall Townley & DeHon ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 13: October 3, 2012 Layout and.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 4: September 12, 2012 Transistor Introduction.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 12: October 3, 2011 Variation.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2015 Clustering (LUT Mapping, Delay)
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 5: September 8, 2014 Transistor Introduction.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: February 25, 2015 Placement (Intro, Constructive)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
University of Michigan Advanced Computer Architecture Lab. 2 CAD Tools for Variation Tolerance David Blaauw and Kaviraj Chopra University of Michigan.
Day 12: October 1, 2012 Variation
CS137: Electronic Design Automation
Timing Analysis and Optimization Considering Process Variation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Chapter 4b Statistical Static Timing Analysis: SSTA
On the Improvement of Statistical Timing Analysis
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Chapter 4C Statistical Static Timing Analysis: SSTA
Presentation transcript:

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 10, 2013 Statistical Static Timing Analysis

Delay PDFs? (2a) Penn ESE535 Spring DeHon 2

3 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

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

Penn ESE535 Spring DeHon 6 Line Edge Roughness 1.2  m and 2.4  m lines From:

Light What is wavelength of visible light? Penn ESE535 Spring DeHon 7

8 Phase Shift Masking Source

Penn ESE535 Spring DeHon 9 Line Edges (PSM) Source:

Penn ESE535 Spring DeHon 10 Intel 65nm SRAM (PSM) Source:

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

Penn ESE535 Spring DeHon 12 V th 65nm [Bernstein et al, IBM JRD 2006]

Gaussian Distribution Penn ESE535 Spring DeHon 13 From:

Penn ESE535 Spring DeHon 14 ITRS 2005 Variation (3  )

Example: V th Many physical effects impact V th –Doping, dimensions, roughness Behavior highly dependent on V th Penn ESE535 Spring DeHon 15

Impact Performance V th  I ds  Delay (R on * C load ) Penn ESE535 Spring DeHon 16

Impact of V th Variation Penn ESE535 Spring DeHon 17

Variation in Current FPGAs 18 Penn ESE535 Spring DeHon [Gojman et al., FPGA2013]

Reduce Vdd (Cyclone IV 60nm LP) Penn ESE535 Spring DeHon 19 [Gojman et al., FPGA2013]

Penn ESE535 Spring DeHon 20 Source: Noel Menezes, Intel ISPD2007

Penn ESE535 Spring DeHon 21 Source: Noel Menezes, Intel ISPD2007

Penn ESE535 Spring DeHon 22 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 DeHon 23 Corners Misleading [Orshansky+Keutzer DAC 2002]

Penn ESE535 Spring DeHon 24 Parameteric Yield Probability Distribution Delay Discard Sell Premium Sell nominal Sell cheap

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

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

Penn ESE535 Spring DeHon 29 System Delay P(T p <T 50 ) = (0.5) (1/n) –N=10 8  ×10 -9 –N=10 10  × Probability Distribution Delay

Gaussian Distribution Penn ESE535 Spring DeHon 30 From:

Penn ESE535 Spring DeHon 31 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 32 System Delay

Penn ESE535 Spring DeHon 33 System Delay

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

Penn ESE535 Spring DeHon 35 Source: Noel Menezes, Intel ISPD2007

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

Penn ESE535 Spring DeHon 37 But does worst-case mislead? STA Worst case delay for this?

Penn ESE535 Spring DeHon 38 But does worst-case mislead? STA Worst case delay for this?

Does Worst-Case Mislead? Delay of off-critical path may matter Best case delay of critical path? Wost-case delay of non- critical path? Penn ESE535 Spring DeHon 39

Penn ESE535 Spring DeHon 40 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 41 Delay Calculation AND rules Day 22

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

For Example Consider entry: –MAX(u 1,u 2 )+d Penn ESE535 Spring DeHon 43

MAX Compute MAX of two input distributions. Penn ESE535 Spring DeHon 44

SUM Add that distribution to gate distribution. Penn ESE535 Spring DeHon 45

Continuous Can roughly carry through PDF calculations with Guassian distributions rather than discrete PDFs Penn ESE535 Spring DeHon 46

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

Penn ESE535 Spring DeHon 48 MAX of Two Identical Gaussians Max of Gaussians is not a Gaussian Can try to approximate as Guassian 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 49 Probability of Path Being Critical [Source: Intel DAC 2005]

Penn ESE535 Spring DeHon 50 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 51 Max of Gaussians with Correlation Max of identical Gaussians [Blaauw et al. TRCAD v27n4p589]

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

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

Penn ESE535 Spring DeHon 54 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 55 Impact of SSTA in High-Level Synthesis Scheduling and provisioning –ALU/MUL  =5% t nominal [Jung&Kim ICCAD2007]

Penn ESE535 Spring DeHon 56 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 DeHon 57 Big Ideas: Coping with uncertainty Statistical Reasoning and Calculation

Penn ESE535 Spring DeHon 58 Admin Reading for Monday on blackboard Milestone Mondays