Research Projects Overview

Download Report

Transcript Research Projects Overview

On the Need for Statistical
Timing Analysis
Farid N. Najm
University of Toronto
[email protected]
Introduction


Increased process variability leads to chip timing
variability and lower timing yield
Traditionally, corner-analysis (worst-case files) has been
used to manage timing variability


Statistical Static Timing Analysis (SSTA) has been
proposed as an alternative approach


Corner analysis has some disadvantages
SSTA has its own disadvantages
Perhaps an alternative “best of both worlds” approach
is required:

Use statistical analysis to better choose the corners or the
margins to be used in a traditional STA approach
3
Generation of Corner-Case Files


Principal Components Analysis
de-correlates SPICE parameters
and captures bulk of variations
Process parameter corners
chosen to maximize MOSFET
performance yield
Extract I-V curves
from extensive
measurements
Deduce SPICE parameters
from measured data
Use PCA to deduce
corner-case SPICE models
Use Response Surface Modeling
(RSM) for corner-case analysis
4
Disadvantages of Corner Analysis

Some disadvantages:

Corners should maximize circuit yield, not device yield

Goal is to bracket most (say, 99.73%) of what?
individual process variable space?
2. typical transistor strength?
3. typical gate/cell delay?
4. overall circuit performance?
1.




There are too many corners
Cannot take care of within-die variations
Corner analysis is overkill


Ideally, one would like #4, but traditionally go with #2
One is capturing much more yield (performance spread) than
one really needs to
Cannot determine how robust the design is
5
Too Many Corners


With more process parameters, the number of process
corners increases exponentially
However, there have been recent proposals to reduce
the number of corners to be considered


Corner clustering (Sengupta et al., ISQED-04)
This method also allows one to choose corners so as to bracket
circuit performance, instead of device performance
 Quadratic
circuit response, RSM: g(X) = a + bX + XTBX
 Solution: X vector that minimizes and maximizes g(X)
 Cluster corners that are close in the parameter space
6
Case Files & Intra-Die Variations

Traditional corner analysis cannot take care of withindie variations


Heuristic techniques are used within some traditional STA
tools to approximately take care of within-die effects
The crux of the problem lies in the systematic
within-die variations

Random within-die variations “cancel out” on a path
 They

don’t exactly cancel out, but their net result is reduced
The overall impact of within-die variations on circuit
delay arguably remains small compared to die-to-die
variations (S. Samaan, ICCAD-04)
7
Too Much Guardbanding

Corner analysis becomes “overkill” when the implicit
yield target becomes too large

Not always the case in corner analysis!
Assume that a nominal value of yield is what covers
the ± 3 of a standard normal distribution: Y0 = 99.73%
 Whether corner analysis is overkill or not depends on
the performance metric


If g(X) = Xi (i = 1 ,…, n), then Y  (3n1/2) - (-3n1/2) > Y0
 Setting

If g(X) = max (Xi) then Y  n(3) - n(-3) < Y0
 Setting

Xi at ± 3 is overkill
Xi at ± 3 is NOT overkill
It also depends on the shape of the acceptability region
8
Assessment


The straightforward nature of corner-case analysis has
made it the method of choice in industry
It has some limitations:





Need to determine corners based on circuit performance
Location of corners depends on acceptability region
Need to reduce the number of corners to be covered
Cannot determine how robust the design is
Nevertheless, criticisms do not dismiss this approach
altogether
9
Statistical Timing Analysis

Recently, “Statistical Static Timing Analysis” (SSTA)
has been proposed



Deal with circuit timing uncertainty
An alternative to corner analysis
Basic Idea:

Propagate delay distributions, instead of deterministic delays,
in the timing graph
 Compute


node and path delay distributions
Estimate the distribution of circuit delay as the joint
distribution of path delays
Find the chip timing yield from circuit delay distribution
10
Statistical Timing Analysis

How to handle different types of delay correlations ?




How to propagate distributions in the timing graph ?



The statistical MAX function
Statistical SUM function
What types of distributions to use ?


Within-die systematic correlation
Path sharing (reconvergent fanout)
Dependence on global sources of variations
Gaussian, or arbitrary distributions ?
Distinct trends:


Block-based statistical timing
Path-based statistical timing
11
Block-Based SSTA

Propagate distributions of arrival times in the timing
graph of the block to get circuit delay distribution

Path distributions are available only indirectly
12
The MAX Operation

Arrival times are “MAX-ed” at the nodes of the graph


Circuit delay distribution is obtained on the primary outputs
The various methods differ in:



How the MAX operation is performed
Assumptions on the nature of the distributions (Gaussian/not)
Whether and how correlation is taken care of
13
Overview: Block-Based Methods


A key difference among block-based methods lies in
whether delays are assumed Gaussian or arbitrary
Two Gaussian approaches both use decomposition, but
differ in what underlying variables are used

Visweswariah et al. derive correlations from global sources of
variation


Sapatnekar et al. perform PCA on the spatial correlations
Two non-Gaussian approaches differ in the propagation
algorithm of arrival times


Blaauw et al. use conservative bounds on delay distributions
Devgan et al. use piece-wise linear approximations
14
Path-Based Methods

Path delay distributions are expressed as functions of
the underlying sources of variation



Circuit delay distribution is obtained from the joint
probability of path delays


Gate delay distributions are added to get path delay
distribution
Literature by: Nassif, Jess, Orshansky, Bowman
Circuit delay = MAX(all path delays)
Flow:




Enumerate all critical paths
Estimate path delay distributions
Use multi-dimensional integration to combine all paths
Estimate the timing yield
15
Assessment

The problem of propagating delay distributions along
paths or through blocks is now “solved”
Yet, this does not mean that SSTA is now “solved”!

Key problems in the proposed methods of SSTA





What does one do with all these distributions?!
Unless if the full chip is “timed” flat, require change in
methodology: cannot “time” a path or block in isolation
Correlation handling requires layout information, hence cannot
be used pre-placement during circuit design/optimization
Not clear how to get correlation statistics from the process; a
disconnect between process and EDA
16
Practical SSTA

Desirable features of a practical SSTA approach:





One can envision three types of SSTA:




Must require minimal statistical process data
Must account for correlated and uncorrelated variations
Must be usable pre-placement to enable design optimization
Must be applicable to “early design” with uncertain circuitry,
in order to allow one to time a path/block in isolation
Process-specific, not design-specific, during early design
Design-specific, not placement-specific, during circuit design
Placement-specific, during physical design
A mix of the three types of SSTA would constitute a
practical framework for managing timing variability
17
An Early Design Approach

A recent approach (Najm and Menezes, DAC-04) is
applicable during early design



Employ notion of generic paths to develop an approach which
is process-specific, not design-specific
The ability to handle early (uncertain) design is key to
being able to time a path/block in isolation!
Shift focus from the specific design to a design type



What are a typical transistor/gate in this technology?
What is a typical path length in this class of design?
Assume the circuit or block consists of a large number of such
“generic paths”
18
Overview
"Summary" design
style information:
- generic paths
- cell delay models
"Summary"
process files
Yield-targeted timing
margins for timing
verification under nominal
parameter values
Analysis
Chip timing
yield
Yield-targeted corner-case
files for use in STA
19
Conclusions




Process variability is a key factor of timing yield loss
and deterioration of circuit performance
Traditional corner analysis has some limitations, but
they are not insurmountable
Statistical timing analysis is being proposed as an
alternative, but it has its own limitations
Perhaps one can have it both ways



Combine features of statistical analysis and corner-case files
Derive virtual corners and timing margins for a yield-aware
timing verification
This continues to be an active research topic
20