chapter 4 stochastic modeling and stochastic timing

40
Chapter 4 Stochastic Modeling and Stochastic Timing UCLA EE201C Professor Lei He

Upload: bly

Post on 05-Jan-2016

103 views

Category:

Documents


1 download

DESCRIPTION

Chapter 4 Stochastic Modeling and Stochastic Timing. UCLA EE201C Professor Lei He. Outline. Process Variation Trends Modeling Statistic Static Timing Analysis (SSTA) Monte Carlo simulation Path-based and block-based SSTA. As Good as Models Tell …. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 4 Stochastic Modeling and Stochastic Timing

Chapter 4Stochastic Modeling and Stochastic Timing

UCLA EE201C Professor Lei He

Page 2: Chapter 4 Stochastic Modeling and Stochastic Timing

Outline

Process Variation Trends Modeling

Statistic Static Timing Analysis (SSTA) Monte Carlo simulation Path-based and block-based SSTA

Page 3: Chapter 4 Stochastic Modeling and Stochastic Timing

As Good as Models Tell… STA (static timing analysis) assumed:

Delays are deterministic values Everything works at the extreme case (corner

case) Useful timing information is obtained

However, anything is as good as models tell Is delay really deterministic? Do all gates work at their extreme case at the

same time? Is the predicated info correlated to the

measurement? …

Page 4: Chapter 4 Stochastic Modeling and Stochastic Timing

Factors Affecting Device Delay Manufacturing factors

Channel length (gate length) Channel width Thickness of dioxide (tox) Threshold (Vth) …

Operation factors Power supply fluctuation Temperature Coupling …

Material physics: device fatigue Electron migration hot electron effects …

Page 5: Chapter 4 Stochastic Modeling and Stochastic Timing

Lithography Manufacturing Process

As technology scales, all kinds of sources of variations Critical dimension (CD) control for minimum feature size Doping density Masking

Page 6: Chapter 4 Stochastic Modeling and Stochastic Timing

Process Variation Trend

Keep increasing as technology scales down [Nassif 01] Absolute process variations do not scale well Relative process variations keep increasing

0.00%

15.00%

30.00%

45.00%

1997 1999 2002 2005 2006

Leff Tox Vth

Page 7: Chapter 4 Stochastic Modeling and Stochastic Timing

Variation Impact on Delay [Visweswariah 04]

Extreme case: guard band [-40%, 55%] In reality, even higher as more sources of

variation Can be both pessimistic and optimistic

Sources of Variation Impact on DelayInterconnect wiring(width/thickness/Inter layer dielectric thickness)

-10% ~ +25%

Environmental 15 %

Device fatigue 10%

Device characteristics(Vt, Tox)

5%

Page 8: Chapter 4 Stochastic Modeling and Stochastic Timing

Variation-aware Delay Modeling Delay can be modeled as a random

variable (R.V.) R.V. follows certain probability

distribution

Some typical distributions Normal distribution Uniform distribution

Page 9: Chapter 4 Stochastic Modeling and Stochastic Timing

Review of Probability R.V. X can take value from its domain

randomly Domain can be continuous/discrete, finite/infinite

PDF vs. CDF

x

dxxfxXPxF

dxxfdxxXxP

)()()(: (c.d.f.)Function on Distributi Cumulative

)()(: (p.d.f.)Function Density y Probabilit

x

dx

f (x)

1

0x

F (x)

Page 10: Chapter 4 Stochastic Modeling and Stochastic Timing

Review of Probability Mean and Variance

Normal Distribution

dxxfxxE

dxxfxxE

xxx

x

)()(}){(

)(}{

222

]2

)([

2

1)( :PDF

2

2

x

x

x

xExpxf

μx

σx

x

f (x)

Page 11: Chapter 4 Stochastic Modeling and Stochastic Timing

Multivariate Distribution Similar definition can be extended for

multivariate cases Joint PDF (JPDF), Covariance Becomes much more complicated Correlation MATTERS!!

)()(),(:tIndependen

0or 0),cov( :edUncorrelat

: Coeffcientn Correlatio

}{}{}{),cov(: Covariance

),(),()},({ :Mean

),(),( :JPDF

yfxfyxf

yx

yExExyEyx

dxdyyxfyxyxE

dxdyyxfdyyYydxxXxP

YX

xy

yx

xyxy

xy

Page 12: Chapter 4 Stochastic Modeling and Stochastic Timing

Types of Process Variation Inter-die vs. intra-die

variations Die to die / wafer to

wafer / lot to lot Within a single die

Random vs. systematic CMP and OPC related Doping density, lens

aberration Many more “confusing”

terms … OCV/ACLV CMP Partly due to the fact that

this area is fairly new and ever changing

-4 -3 -2 -1 0 1 2 3 4

Global Sigma

No

of

Ch

ips

-4 -3 -2 -1 0 1 2 3 4

With-in Chip Sigma

0

0.2

0.4

0.6

0.8

1

1.2

No

of

Tran

sist

ors

Page 13: Chapter 4 Stochastic Modeling and Stochastic Timing

Variation-aware Delay Modeling How to characterize delay variations?

SPICE simulation Measurement

Example for a 2-stage buffer Assume only channel length is R.V. for 65nm

technology Uniform distribution with domain ~ 10% of its

nominal value Random sample channel length from 0.9~1.1,

and measure the delays through SPICE Plot delay PDF

Page 14: Chapter 4 Stochastic Modeling and Stochastic Timing

Variation-aware Timing Analysis

How this would affect our STA? Min-Max approach would be too risky Corner-based STA is too expensive

2^n corners

To be accurate, analyze timing statistically

But how? Every label (delays) in the DAG is modeled

as a R.V. with certain distribution Should use multivariate R.V. analysis

Correlation is KEY!

Page 15: Chapter 4 Stochastic Modeling and Stochastic Timing

Correlation Types Correlation interpretation:

Gates, wires, and paths become slower or faster simultaneously

Due to the common sources of underlying variations

Global variation Inter-chip variations

Structural correlation Path re-convergence

Spatial correlation Devices close-by have higher correlation

than that far-apart

Page 16: Chapter 4 Stochastic Modeling and Stochastic Timing

Statistical Static Timing Analysis: SSTA

Fairly new (hot) topic Many debates Many new ideas Not quite consistency across different ref. Unfortunately/Fortunately, live with it…

In this lecture, cover some typical ones Monte Carlo simulation (Golden case) One path-based approach One block-based approach More for your own entertainment

Page 17: Chapter 4 Stochastic Modeling and Stochastic Timing

Monte Carlo Simulation

Definition: A technique involving the use of random

numbers solving physical or mathematical problems

Characteristics Physical process is simulated without

explicitly knowing equations that describe the system output

Only requirement is that the physical system be described by PDF

Page 18: Chapter 4 Stochastic Modeling and Stochastic Timing

Monte Carlo for SSTA Randomly sample each R.V. in accordance

with its respective PDF Instantiate a specific DAG Solving STA using the technique we

discussed before This is called one Monte Carlo run Run it many times until certain data

statistics converge Stopping condition can be fairly sophisticated

Finally, extract statistics from Monte Carlo runs PDF of RAT/AT/Slack Yield curve …

Page 19: Chapter 4 Stochastic Modeling and Stochastic Timing

Monte Carlo Simulation Pros

Conceptually easy Implementation not that difficult Make use of previous STA algorithm Accurate, used as golden case (benchmarking)

Cons Computationally expensive No many diagnostic information if something is

wrong No incremental computation possible

Efficient solution Analytical Statistical static timing analysis (SSTA)

Page 20: Chapter 4 Stochastic Modeling and Stochastic Timing

SSTA Algorithms Objective

Find probability distribution of circuit delay Path Based SSTA

Statistically calculate path delay distributions Find statistical maximum of these path delays Identify potential critical paths

Block Based SSTA Traverse DAG to calculate the delay distribution

for each node Widely used due to the incremental computation

capability

Page 21: Chapter 4 Stochastic Modeling and Stochastic Timing

Path-based SSTA [Orshansky DAC-02] Key operations

Summation Path delay = sum(node delay)

Maximum Critical path delay = max(path delay)

Delay model First order approximation Obtained from SPICE simulation

}max{ ,

,,

,

kpc

jgkp

iinomjg

DD

DD

GDD

Page 22: Chapter 4 Stochastic Modeling and Stochastic Timing

Path-based SSTA: Key Operations

Gate delay variance and covariance Path delay variance and covariance

Page 23: Chapter 4 Stochastic Modeling and Stochastic Timing

Path-based SSTA: Approximation Maximum operation is approximated

Closed form is not known yet Lower and upper bound for path delay me

an Let D={D1...Dn } be an arbitrary path delay dis

tribution with correlation Let X={X1...Xn } identical to D but WITHOUT co

rrelation Can prove an upper bound for mean(D):

Mean(D) < Mean(X) Similarly an lower bound can be established

Page 24: Chapter 4 Stochastic Modeling and Stochastic Timing

Path-based SSTA: Approximation

Lower and upper bound for path delay variance

Result from theory of Gaussian process: Borell Inequality Variance of max{D1…Dn} around its mean is s

maller than variance of a single Di with largest variance

Page 25: Chapter 4 Stochastic Modeling and Stochastic Timing

Path-based SSTA: Experiment Results

Timing approximation is tighter Variation is smaller Mean clock frequency is smaller

Page 26: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: [Devgan ICCAD03] AT and gate delays are modeled as R.V.

AT as CDFs Gate Delays as PDFs For easy computation

Delay distributions can take any form Model CDFs as Piece-Wise Linear functions Model PDFs as constant step functions

CumulativeProbability

1.0

A

1.0

A1 A2 A3

P1

P2

P3

Page 27: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Key Operations

AdditionAT2 = AT1+D1

1 2D1

AT1 AT2AT2 = AT1 D1

( : convolution, Assuming independence for now)

CDF PDF

Page 28: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Key Operations

Closed form for addition

=t1+t2

0.5s1u1(t1+t2-t)2

t2

u1

t1

s1

Page 29: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Key Operations Maximum C = max (A, B)

CDF of C = CDF of A x CDF of B Assume independence for now Closed form computation via PWL

=

t3=max(t1,t2)

s1s2(t-t1)(t-t2)

x

t2

s2

t1

s1

Page 30: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Correlation

Correlation due to path reconvergence AT5 and AT6 are correlated due to shared AT4

Exact handling this correlation would cause exponential complexity

Utilize the structure of the circuits

PI

PI

PO

AT1AT2D1

D2

D3D4

D6

D7

AT4

AT3

AT5

AT6

D8D9

Page 31: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Correlation

This formula works well for this simple case

How does this work for general cases?

A2 and A3 are related

A4 = max(A2+D24, A3+D34)

1

3

24

A2 = A1 + D12 and A3 = A1 + D13

A4=max(A1+D12+D24, A1+ D13+D34) =A1+max(D12+D24, D13+D34)

Page 32: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: General Cases

General situation An input of a gate can depend on many

preceding timing points There may be shared paths in the input

cone

A

B

C

D1234

z

G1

G2

G3

G4

Page 33: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Heuristic Algorithm

Create a dependency list Keep track of the reconvergence fanout node

s a particular node depends on Basically a list of pointers

Compute the dominant common node For each pair wise max

Determine that by statistical dominance and logic level

Take out the common part contributed by the dominant node

Perform max of the two CDFs An example follows

Page 34: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Example

D12

34

z

G4A B

A B C

A C

C

Dependency list for G4:

Create the dependency list

A

B

C

D1234

z

G1

G2

G3

G4

Page 35: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Example

D12

34

z

G4B

B

C

C

D12

34

z

G4A B

A B C

A C

C

Dependency list for G4:

Dominant common node

Page 36: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Example

D12

34

z

G4B

BC

C

Compute the pair wise max

ATD = max(A1+D1z, A2+ D2z, A3+D3z, A4 + D4z)

ATx = AB + max(A1-AB +D1z, A2-AB+ D2z)

ATy = Ac + max(A3-Ac +D3z, A4-Ac+ D4z)

ATD = max (ATx, ATy)

Page 37: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Experiments Runtime comparison

SSTA w/ correlation and w/o correlation

Circuit

w/ correlation

w/o correlation

C432 1.5 1.0

C499 1.26 1.0

C880 1.22 1.0

C1908 1.33 1.0

C2670 1.23 1.0

C3540 1.26 1.0

C6288 1.20 1.0

C7552 1.30 1.0

Page 38: Chapter 4 Stochastic Modeling and Stochastic Timing

Block-based SSTA: Experiments Timing distribution

SSTA w/ correlation and w/o correlation and Monte Carlo Simulation

30 0 0 3 1 0 0 3 20 0 33 0 0 3 4 00 3 50 0 3 6 0 0 3 70 0 38 0 00

0 .2

0 .4

0 .6

0 .8

1

m on t e c a rlo

no d e pde p

Page 39: Chapter 4 Stochastic Modeling and Stochastic Timing

Conclusion & Summary

Page 40: Chapter 4 Stochastic Modeling and Stochastic Timing

Summary Timing analysis is a key part of the design

process Static timing analysis (STA)

Sign off tools for tape out Statistical static timing analysis (SSTA)

Arises due to process variation when technology continues to scale

More to be done for SSTA Correlations matter Interconnect variability Slew propagation Gate delay models How to guide for optimal design?