Penn ESE535 Spring 2011 -- DeHon 1 ESE535: Electronic Design Automation Day 22: April 11, 2011 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

On the Need for Statistical Timing Analysis Farid N. Najm University of Toronto
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 10, 2013 Statistical Static Timing Analysis.
Penn ESE534 Spring Mehta & DeHon 1 ESE534 Computer Organization Day 6: February 12, 2014 Energy, Power, Reliability.
0 1 Width-dependent Statistical Leakage Modeling for Random Dopant Induced Threshold Voltage Shift Jie Gu, Sachin Sapatnekar, Chris Kim Department of Electrical.
Parameterized Timing Analysis with General Delay Models and Arbitrary Variation Sources Khaled R. Heloue and Farid N. Najm University of Toronto {khaled,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)
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.
Statistical timing and synthesis Chandu paper. Canonical form Compute max(A,B) = C in canonical form (assuming  X i independent)
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.
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,
© 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,
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
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.
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.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 8: September 15, 2014 Delay and RC Response.
On the Assumption of Normality in Statistical Static Timing Analysis Halim Damerdji, Ali Dasdan, Santanu Kolay February 28, 2005 PrimeTime Synopsys, Inc.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 3: September 12, 2011 Transistor Introduction.
Day 16: October 6, 2014 Inverter Performance
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
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 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.
Unified Adaptivity Optimization of Clock and Logic Signals Shiyan Hu and Jiang Hu Dept of Electrical and Computer Engineering Texas A&M University.
Day 12: October 1, 2012 Variation
Defining Statistical Sensitivity for Timing Optimization of Logic Circuits with Large-Scale Process and Environmental Variations Xin Li, Jiayong Le, Mustafa.
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
On the Improvement of Statistical Timing Analysis
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
Presentation transcript:

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

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

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 Oxide Thickness [Asenov et al. TRED 2002]

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

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

7 Phase Shift Masking Source

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

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

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

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

Gaussian Distribution Penn ESE534 Spring DeHon 12 From:

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

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

Impact of V th Variation Penn ESE535 Spring DeHon 15

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

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

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

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

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

Gaussian Distribution Penn ESE534 Spring DeHon 21 From:

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

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

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

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

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

Penn ESE535 Spring DeHon 27 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 ESE534 Spring DeHon 28 From:

Penn ESE535 Spring DeHon 29 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 30 System Delay

Penn ESE535 Spring DeHon 31 System Delay

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

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

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

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

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

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

Penn ESE535 Spring DeHon 38 Delay Calculation AND rules Day 20

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

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

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

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

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

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

Penn ESE535 Spring DeHon 45 STA Example Example circuit –Each component has a delay –Nets are numbered [Source: Nikil Mehta]

Penn ESE535 Spring DeHon 46 STA Example Transform into a timing graph –Nodes = nets –Edges = gates (many edges can correspond to the same gate) S [Source: Nikil Mehta]

Penn ESE535 Spring DeHon 47 STA Example Goal is to compute arrival time on output t= S t=0 [Source: Nikil Mehta]

Penn ESE535 Spring DeHon 48 STA Example t= S t=4 t=2 t=3 t=13 t=16 t=14 t=9 [Source: Nikil Mehta]

Penn ESE535 Spring DeHon 49 STA Example t= S 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]

Penn ESE535 Spring DeHon 50 STA Example t= S t=4 t=2 t=3 t=13 t=16 t=14 t=9 t=21 t=27 t=24 [Source: Nikil Mehta]

Penn ESE535 Spring DeHon 51 STA Example t= S 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]

Penn ESE535 Spring DeHon 52 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 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) 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 54 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 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 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 56 Probability of Path Being Critical [Source: Intel DAC 2005]

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

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

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

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

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

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

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