ESE535: Electronic Design Automation Day 22: April 11, 2011

advertisement
ESE535:
Electronic Design Automation
Day 22: April 11, 2011
Statistical Static Timing Analysis
Penn ESE535 Spring 2011 -- DeHon
1
Today
•
•
•
•
Behavioral
(C, MATLAB, …)
Arch. Select
Schedule
RTL
Sources of Variation
FSM assign
Two-level
Limits of Worst Case
Multilevel opt.
Covering
Optimization for Parametric Yield
Retiming
Statistical Analysis
Gate Netlist
Placement
Routing
Layout
Masks
Penn ESE535 Spring 2011 -- DeHon
2
Central Problem
Mean Number of Dopant Atoms
• As our devices approach the atomic scale,
we must deal with statistical effects
governing the placement and behavior of
individual atoms and electrons.
10000
1000
100
10
1000
500
250
130
65
32
Technology Node (nm)
Penn ESE535 Spring 2011 -- DeHon
16
•Transistor critical dimensions
•Atomic discreteness
•Subwavelength litho
•Etch/polish rates
•Focus
•Number of dopants
•Dopant Placement
3
Oxide Thickness
[Asenov et al. TRED 2002]
Penn ESE535 Spring 2011 -- DeHon
4
Line Edge Roughness
• 1.2mm and
2.4mm lines
From:
http://www.microtechweb.com/2d/lw_pict.htm
Penn ESE535 Spring 2011 -- DeHon
5
Light
• What is wavelength of visible light?
Penn ESE535 Spring 2011 -- DeHon
6
Phase Shift Masking
Source
http://www.synopsys.com/Tools/Manufacturing/MaskSynthesis/PSMCreate/Pages/default.aspx
Penn ESE535 Spring 2011 -- DeHon
7
Line Edges (PSM)
Source:
http://www.solid-state.com/display_article/122066/5/none/none/Feat/Developments-in-materials-for-157nm-photoresists
Penn ESE535 Spring 2011 -- DeHon
8
Intel 65nm SRAM (PSM)
Source:
http://www.intel.com/technology/itj/2008/v12i2/5-design/figures/Figure_5_lg.gif
Penn ESE535 Spring 2011 -- DeHon
9
Statistical
Dopant
Placement
Penn ESE535 Spring 2011 -- DeHon
10
[Bernstein et al, IBM JRD 2006]
Vth Variability @ 65nm
Penn ESE535 Spring 2011 -- DeHon
11
[Bernstein et al, IBM JRD 2006]
Gaussian Distribution
From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg
Penn ESE534 Spring2010 -- DeHon
12
ITRS 2005 Variation (3s)
Penn ESE535 Spring 2011 -- DeHon
13
Impact Performance
• Vth  Ids  Delay (Ron * Cload)
Penn ESE370 Fall2010 -- DeHon
14
Impact of Vth Variation
Penn ESE535 Spring 2009 -- DeHon
15
FPGA Logic Variation
• Altera
Cyclone-II
• 90nm
Penn ESE370 Fall2010 -- DeHon
[Wong, FPT2007]
16
Source: Noel Menezes, Intel ISPD2007
Penn ESE535 Spring 2011 -- DeHon
17
Source: Noel Menezes, Intel ISPD2007
Penn ESE535 Spring 2011 -- DeHon
18
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 2011 -- DeHon
19
Corners Misleading
Penn ESE535 Spring 2011 -- DeHon
[Orshansky+Keutzer DAC 2002]
20
Gaussian Distribution
From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg
Penn ESE534 Spring2010 -- DeHon
21
Probability Distribution
Parameteric Yield
Sell
Premium
Sell
Sell
nominal cheap
Discard
Delay
Penn ESE535 Spring 2011 -- DeHon
22
Phenomena 1: Path Averaging
• Tpath = t0+t1+t2+t3+…t(d-1)
• Ti – iid random variables
– Mean t
– Variance s
• Tpath
– Mean d×t
– Variance = d × s
Penn ESE535 Spring 2011 -- DeHon
23
Sequential Paths
• Tpath = t0+t1+t2+t3+…t(d-1)
• Tpath
– Mean d×t
– Variance = d × s
• 3 sigma delay on path: d×t + 3d × s
– Worst case per component would be:
d×(t+3 s)
– Overestimate d vs. d
Penn ESE535 Spring 2011 -- DeHon
24
SSTA vs. Corner Models
• STA with corners
predicts 225ps
• SSTA predicts
162ps at 3s
• SSTA reduces
pessimism by 28%
[Slide composed
by Nikil Mehta]
Penn ESE535 Spring 2011 -- DeHon
Source: IBM, TRCAD 200625
Phenomena 2: Parallel Paths
•
•
•
•
•
•
Cycle time limited by slowest path
Tcycle = max(Tp0,Tp1,Tp2,…Tp(n-1))
P(Tcycle<T0) = P(Tp0<T0)×P(Tp1<T0)…
= [P(Tp<T0)]n
0.5 = [P(Tp<T50)]n
P(Tp<T50) = (0.5)(1/n)
Penn ESE535 Spring 2011 -- DeHon
26
• P(Tp<T50) = (0.5)(1/n)
Probability Distribution
System Delay
Delay
– N=108  0.999999993
• 1-7×10-9
– N=1010  0.99999999993
• 1-7×10-11
Penn ESE535 Spring 2011 -- DeHon
27
Gaussian Distribution
From: http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg
Penn ESE534 Spring2010 -- DeHon
28
• P(Tp<T50) = (0.5)(1/n)
Probability Distribution
System Delay
Delay
– N=108  0.999999993
• 1-7×10-9
– N=1010  0.99999999993
• 1-7×10-11
• For 50% yield want
– 6 to 7 s
– T50=Tmean+7spath
Penn ESE535 Spring 2011 -- DeHon
29
System Delay
Penn ESE535 Spring 2011 -- DeHon
30
System Delay
Penn ESE535 Spring 2011 -- DeHon
31
Corners Misleading
Phenomena 2
Phenomena 1
Penn ESE535 Spring 2011 -- DeHon
[Orshansky+Keutzer DAC 2002]
32
Source: Noel Menezes, Intel ISPD2007
Penn ESE535 Spring 2011 -- DeHon
33
But does worst-case mislead?
• STA with worst-case says these are
equivalent:
Penn ESE535 Spring 2011 -- DeHon
34
But does worst-case mislead?
• STA with worst-case says these are equivalent:
Penn ESE535 Spring 2011 -- DeHon
35
Does Worst-Case Mislead?
• Delay of
off-critical path
may matter
• May become
larger
Penn ESE535 Spring 2011 -- DeHon
36
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 2011 -- DeHon
37
Delay Calculation
Day 20
AND rules
Penn ESE535 Spring 2011 -- DeHon
38
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 2011 -- DeHon
39
Dealing with PDFs
• Simple model assume all PDFs
are Gaussian
– Model with mean, s
– Imperfect
• Not all phenomena are Gaussian
• Sum of Gaussians is Gaussian
• Max of Gaussians is not a Gaussian
Penn ESE535 Spring 2011 -- DeHon
40
Sum of Gaussians
• Two Guassians
– A,sA and B, sB
– SUM = (A+B),
2
2
sA
+
s
B
– If identical
• SUM = 2A, sA2
Penn ESE535 Spring 2011 -- DeHon
41
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<(Anom – Bnom)/mA+B))
Penn ESE535 Spring 2011 -- DeHon
[Source: Nikil Mehta]
42
MAX of Two Gaussians
• Expected value
– Weighted sum of means
– Additional term which adds fraction of s of SUM(A,B)
• Variance
– Weighted sum of variance
– Some other terms?
Penn ESE535 Spring 2011 -- DeHon
[Source: Nikil Mehta]
43
MAX of Two Identical Gaussians
• Given two identical
Gaussians A and B with m
and s
• Plug into equations
• E[MAX(A,B)] = m + s/()1/2
• VAR[MAX(A,B)] = s2 – s/
[Source: Nikil Mehta]
Penn ESE535 Spring 2011 -- DeHon
44
[Source: Nikil Mehta]
STA Example
• Example circuit
– Each component has a delay
– Nets are numbered
3
1
6
2
2
3
4
4
1
3
6
5
12
5
3
Penn ESE535 Spring 2011 -- DeHon
2
7
45
[Source: Nikil Mehta]
STA Example
• Transform into a timing graph
– Nodes = nets
– Edges = gates (many edges can correspond to the same
gate)
3
1
2
2
4
3
1
4
6
3
6
12
0
6
5
12
5
12
Penn ESE535 Spring 2011 -- DeHon
S
3
2
7
0
46
[Source: Nikil Mehta]
STA Example
• Goal is to compute arrival time on output
t=0
3
1
t=0
2
2
t=0
4
3
t=0
1
4
6
3
6
12
0
6
5
12
5
12
Penn ESE535 Spring 2011 -- DeHon
S
3
2
7
0
47
[Source: Nikil Mehta]
STA Example
3
1
t=3
2
2
12
t=2
t=14
4
12
3
t=16
t=4
12
1
t=13
4
t=1 2011 -- DeHon
Penn ESE535 Spring
6
3
6
t=9
0
6
5
5
S
3
2
7
0
48
[Source: Nikil Mehta]
STA Example
– For nodes with multiple inputs
• Arrival time = MAX(input arrival times)
3
1
t=3
2
2
12
t=2
t=14
4
12
3
t=16
t=4
12
1
t=13
4
t=1 2011 -- DeHon
Penn ESE535 Spring
6
3
6
t=9
0
6
5
5
t=21
S
3
2
7
0
49
[Source: Nikil Mehta]
STA Example
3
1
t=3
2
2
12
t=2
t=14
4
12
3
t=16
t=4
12
1
t=13
4
t=1 2011 -- DeHon
Penn ESE535 Spring
6
3
6
t=9
0
6
5
t=27
5
t=21
S
3
t=24
2
7
0
50
[Source: Nikil Mehta]
STA Example
3
1
t=3
2
2
12
t=2
t=14
4
12
3
t=16
t=4
12
1
t=13
4
t=1 2011 -- DeHon
Penn ESE535 Spring
6
3
6
t=9
6
5
t=30
0
t=30
t=27
5
t=21
3
t=24
2
7
t=26
0
S
t=30
t=26
51
[Source: Nikil Mehta]
SSTA Example
• Represent delay and arrival time statistically (m,s)
• Picking large variance (10) for all delays
(3,10)
1
t=(3,10)
(2,10)
2
(12,10)
t=(2,10)
(4,10)
(12,10)
3
t=(4,10)
(1,10) (12,10)
4
Penn ESE535t=(1,10)
Spring 2011 -- DeHon
(6,10)
(3,10)
6
(6,10)
(0,0)
(5,10)
5
(0,0)
(3,10)
S
(2,10)
7
52
[Source: Nikil Mehta]
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
(3,10)
1
(6,10)
(3,10)
t=(3,10)
t=(9,14)
6
(2,10)
(6,10)
2
(12,10)
t=(2,10) t=(14,14)
0.35 (5,10)
(4,10)
(12,10)
0.43
3
5
t=(16,14)
t=(4,10)
0.22 t=(32,14) (3,10)
(2,10)
(1,10) (12,10)
t=(13,14)
4
7
Penn ESE535t=(1,10)
Spring 2011 -- DeHon
(0,0)
(0,0)
S
53
[Source: Nikil Mehta]
SSTA Example
• Finish forward pass
– Now, have statistical delay pdf of circuit
– Normal distribution with m=51 and s=15
(3,10)
1
t=(3,10)
(6,10)
0.03 (3,10)
t=(9,14)
6
(6,10) 0.97 t=(44,17)
(2,10)
(0,0)
2
(12,10)
t=(2,10) t=(14,14)
0.64
0.35 (5,10)
t=(44,17)
t=(38,17)
(4,10)
(12,10)
0.43
3
5
S
t=(16,14)
(0,0)
t=(4,10)
t=(51,15)
0.22 t=(32,14) (3,10)
0.36
(2,10)
(1,10) (12,10)
t=(35,17)
t=(13,14)
t=(37,20)
4
1.00 7
54
Penn ESE535t=(1,10)
Spring 2011 -- DeHon
t=(37,20)
[Source: Nikil Mehta]
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
0.03
6
2
0.97
0.35
3
0.43
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)
0.64
5
S
0.22
4
Penn ESE535 Spring 2011 -- DeHon
0.36
1.00 7
55
Probability of Path Being Critical
[Source: Intel DAC 2005]
Penn ESE535 Spring 2011 -- DeHon
56
More Technicalities
• Correlation
– Physical on die
– In path (reconvergent fanout)
• Makes result conservative
– Gives upper bound
– Can compute lower
2
1
4
3
Graphics from: Noel Menezes (top) and Nikil Mehta (bottom)
Penn ESE535 Spring 2011 -- DeHon
57
Max of Gaussians with Correlation
• Max of identical Gaussians
Penn ESE535 Spring 2011 -- DeHon
[Blaauw et al. TRCAD v27n4p589]
58
MAX of Two Identical Gaussians
• Given two identical
Gaussians A and B with m
and s
• Plug into equations
• E[MAX(A,B)] = m + s/()1/2
• VAR[MAX(A,B)] = s2 – s/
[Source: Nikil Mehta]
Extreme of correlated: is just the input Gaussian
Penn ESE535 Spring 2011 -- DeHon
59
SSTA vs. Monte Carlo
Verification Time
Source: IBM, TRCAD 2006
Penn ESE535 Spring 2011 -- DeHon
60
Using SSTA in FPGA CAD
[Slide composed
by Nikil Mehta]
• Le Hei
– FPGA2007
– SSTA Synthesis,
Place, Route
Penn ESE535 Spring 2011 -- DeHon
• Kia
– FPGA2007
– Route with
SSTA
61
Impact of SSTA in
High-Level Synthesis
• Scheduling and provisioning
– ALU/MUL s=5% tnominal
Penn ESE535 Spring 2011 -- DeHon
[Jung&Kim ICCAD2007]
62
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 2011 -- DeHon
63
Admin
• Reading for Wednesday on blackboard
• Office Hours Tuesday shifted back
– 5:35pm
Penn ESE535 Spring 2011 -- DeHon
64
Big Ideas:
• Coping with uncertainty
• Statistical Reasoning and Calculation
Penn ESE535 Spring 2011 -- DeHon
65
Download