Top Banner
Statistical Static Timing Analysis: How simple can we get? Chirayu Amin , Noel Menezes * , Kip Killpack * , Florentin Dartu * , Umakanta Choudhury * , Nagib Hakim * , Yehea Ismail ECE Department Northwestern University Evanston, IL 60208, USA * Intel Corporation, Hillsboro, OR 97124, USA
28

Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

Jul 29, 2018

Download

Documents

ngophuc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

Statistical Static Timing Analysis:How simple can we get?

Chirayu Amin†, Noel Menezes*,Kip Killpack*, Florentin Dartu*,

Umakanta Choudhury*, Nagib Hakim*,Yehea Ismail†

†ECE DepartmentNorthwestern UniversityEvanston, IL 60208, USA

*Intel Corporation,Hillsboro, OR 97124, USA

Page 2: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

2

Outline

IntroductionProcess Variation Model

DistributionsCell-library characterization

MethodologyPath-basedAdd/Max Operations

ResultsConclusions

Page 3: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

3

Variations and their impactSources of Timing Variations

Channel LengthDopant Atom CountOxide ThicknessDielectric ThicknessVccTemperature

InfluencePerformance yield predictionOptimizationDesign convergence

Management (traditional)‘Corner’ based analysis

Sub-optimum

0 100 200 3000

0.2

0.4

0.6

0.8

1

Path Rank(from deterministic timing analysis)

90 nm microprocessor block

Probability(rank ≤ 50)

Critical path # 190 will be in top 50 paths

on 10% of the dies!

Page 4: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

4

Recent solutionsCategories

Block-based pdf propagationNon-incrementalIncremental

Path-based pdf propagationBound calculationGeneric path analysis

ComplexityNon-gaussian pdf propagationStatistical MAX operationCorrelationsReconvergence

Page 5: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

5

Factors influencing solutions

Predicting performance yield or optimizing circuit?Underlying process characteristics

How significant are the variation sources?How significant is each component?

Die-to-die / Within-dieChannel length, Threshold voltage, etc

Architecuture and LayoutNumber of stages between flip-flopsSpatial arrangement of gates

Page 6: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

6

SSTA targets

Performance yield optimizationDie-to-die effects are more importantCan be handled using a differentmethodology

Design convergenceAffected primarily by within-die effectsGate’s delay w.r.t. others’ on the same die

Presented work addresses design convergencePresented work addresses design convergence

Page 7: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

7

Outline

IntroductionProcess Variation Model

DistributionsCell-library characterization

MethodologyPath-basedAdd/Max Operations

ResultsConclusions

Page 8: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

8

Modeling variationsOnly within-die effects considered

Variations

Channel Length (le) Threshold Voltage (vt)

Uncorrelated or Random (vtr)vt=vtnom+vtr

Correlated or Systematic (les)Uncorrelated or Random (ler)

le=lenom+les+ler

Main variations affecting delay: le and vtMain variations affecting delay: le and vt

Page 9: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

9

Parameter distributions

Gaussian distributions for les, ler, vtrCharacterized by σles, σler, σvtr

Systematic variation for lesCorrelation is a function of distance

Diei

j

ρij =ρ (dij)

*

d

ρ (d)1

0 mm

*

*[16] S. Samaan, ICCAD ‘04

Page 10: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

10

effects of variations on delay

Cell-library characterizationSimulations similar as for deterministic STA

Plus extra simulations for measuring ∆delay

Gate

ttCL

delay = delaynom(lenom,tt,CL)+ ∆ delayles(les,tt,CL) + ∆ delayler(ler,tt,CL) + ∆ delayvtr(vtr,tt,CL)

σ 2delay = σ 2

delay,les(σ 2les,tt,CL) + σ 2

delay,ler (σ2ler,tt,CL) + σ 2

delay,vtr (σ2vtr,tt,CL)

Overall delay variance is the sum of variances due to les, ler, and vtrOverall delay variance is the sum of variances due to les, ler, and vtr

Page 11: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

11

Measuring σdelay

Characterization of σdelay,lesVary le similarly for all transistors in the cell (ρ=1)Measure delay change for each input to output arc

Characterization of σdelay,ler and σdelay,vtrSample using Monte Carlo method

Each transistor sampled independently

Measure delay change for each input to output arc

Page 12: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

12

Outline

IntroductionProcess Variation Model

DistributionsCell-library characterization

MethodologyPath-basedAdd/Max Operations

ResultsConclusions

Page 13: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

13

Variation effects on a path

Systematic variationsAdditive effect

(σ/µ)path-delay= (σ/µ)cell-delay

Spatial effectPaths close together have very similar delay variation

Random variationsCancellation effect

Variations die out as long as there are enough stages(σ/µ)path-delay= (1/sqrt(n))*(σ/µ)cell-delay

ITRS projections: n~12 stages

Page 14: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

14

Paths converging on a flip-flop

Distribution of delay for each path knownFrom simple path-based analysis

Distribution of overall margin at flip-flop?Statistical MAX operation!

Page 15: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

Statistical MAX operation

µ1 µ2

P1

P2

Non-overlapping

x1 y1 x2 y2

P1 P2

Highly correlated, overlapping,comparable sigmas

P1

P2

x1 µ1 x2 µ2 y2 y1

Highly correlated, overlapping, different sigmas

P2

x1 µ1 y2 y1 µ2 x2

P1

Random, overlapping

MAX is non-trivial, but situations not observed on circuits

MAX is trivial,and situations observed on circuits

1

2

3

4

Page 16: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

16

Comments about MAX

Path-delays are highly correlatedSigmas are similarRandom componentsdie out due to depth

No need for a complicated MAX operation!!No need for a complicated MAX operation!!

Page 17: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

17

Path-based SSTA methodology

Typical path-based

analysis

SamplingFlop

LogicCell

LogicCell

Clock sample path CS

Clock-data path CGD

Clock buffers

GeneratingFlop

clockgrid

Main IdeaCalculate the timing-margin distribution, for each path ending at a flip-flop or a primary output (PO)

Page 18: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

18

Calculating margin distribution

Above analysis requires calculating delay variances and covariances for paths Statistical ADD operation

*includes tsetupmargin = tcs + T - t*CGD

σ 2margin=σ 2

CS +σ 2CGD - 2⋅ cov(tCS,tCGD)

σCS – delay sigma for path CSσCGD – delay sigma for path CGDcov(tCS,tCGD) – covariance between delays of CS and CGD

clock grid

path CGD

path CS

Page 19: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

19

Uncorrelated or Random Components

∑=

− =n

ilerilerdelaypath

1

2,

2, σσ

∑=

− =n

ivtrivtrdelaypath

1

2,

2, σσ

Correlated or Systematic Component

∑ ∑= =

− =n

i

n

jlesjijlesilesdelaypath

1 1

2,

2,

2, σρσσ

Statistical ADD

Path delay variance is the sum of delay variances due to les, ler, and vtr

σ 2path-delay = σ 2

path-delay,les + σ 2path-delay,ler + σ 2

path-delay,vtr

Page 20: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

20

Path-delay covariance

Easy to calculate based on pair-wise covariances between individual gates

Gate i

Gate j

Path 1

Path 2

∑∑∑∑∈ ∈∈ ∈

==1 2

,,1 2

21 ),cov(,pi pj

jlesilesijpi pj

jipp cellcell σσρσ

ρij

Page 21: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

21

Outline

IntroductionProcess Variation Model

DistributionsCell-library characterization

MethodologyPath-basedAdd/Max Operations

ResultsConclusions

Page 22: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

22

ResultsMethodology applied to a large microprocessor block

More than 100K cells90 nm technologyFully extracted parasitics

Block-based (BFS) analysis to identify top N critical end-nodes (flop inputs, POs)Critical paths identified by back-trackingPath-based SSTA performed on the critical pathsComparison with Monte Carlo Analysis

Page 23: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

23

Monte Carlo600 dies (profiles) for varying les, ler, and vtr

Number depends on correlation distance, block size, etc

Full block-based analysis (BFS)

Not just on critical pathsDeterministic STA on each of the generated 600 dies

*

*

*[16] S. Samaan, ICCAD ‘04

les

ler and vtr

Page 24: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

24

0 0.1 0.2 0.3 0.4 0.5 0.6 0.70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Monte Carlo Margin Sigma

Path

-bas

ed M

argi

n Si

gma (data for top 492 end-nodes)

Comparison with Monte Carlo

Good correlation with Monte Carlo Results!Good correlation with Monte Carlo Results!

Page 25: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

25

AnalysisError in predicting sigma

Maximum: 0.066 FO4 delayAverage: 0.19% of the path delay

Monte Carlo showed that distributions of margins are Gaussian

No need for more complex distributionsAt each end-node

Only one or two paths were clearly showing up as worst paths on 80% of Monte Carlo samplesRelative ordering of paths ending up at a node does not change

Page 26: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

26

Outline

IntroductionProcess Variation Model

DistributionsCell-library characterization

MethodologyPath-basedAdd/Max Operations

ResultsConclusions

Page 27: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

27

Conclusions

Statistical timing is importantSimple path-based algorithm is adequate

Justified based on design, variation profiles

Distributions are GaussianErrors in estimating sigma are acceptable

Page 28: Statistical Static Timing Analysis: How simple can … · Statistical Static Timing Analysis: How simple can we get? Chirayu Amin†, Noel Menezes*, Kip Killpack *, Florentin Dartu

Q & A