You are on page 1of 10

Fast PVT: A Rapid, Accurate, and Reliable Method for Design and

Verification of Circuits Under Process-Voltage-Temperature Conditions


Solido Design Automation, Inc.
Dec. 8, 2011

consuming. Designers may cope by guessing


ABSTRACT
which corners cause the worst-case performance,
Integrated Circuit designs are subject to process,
but that is risky: a wrong guess could mean that
voltage, and temperature (PVT) variations, often
the design hasn’t accounted for the true worst-
modeled as a set of PVT corners. In modern
case, which means failure in testing followed by
designs, there can be hundreds or thousands of
a re-spin, or worse, failure in the field.
PVT corners. This paper presents the Fast PVT
method, which quickly extracts the most relevant What is required is a rapid, reliable, and user-
PVT corners, for use in an iterative design loop. friendly tool to quickly identify the worst-case
Furthermore, Fast PVT reliably verifies designs, PVT corners when there are hundreds,
on average 10x faster than testing all corners. thousands, or even tens of thousands of possible
This paper then demonstrates Fast PVT on a corners. We define these attributes as follows:
suite of benchmark circuits, revealing some of
the key traits that make Fast PVT effective. Rapid: Runs fast enough to facilitate both
iterative design and verification within
1 INTRODUCTION production timelines.
Process, voltage, and temperature (PVT)
Reliable: Finds the worst-case corners with high
variations are often modeled as a set of PVT
confidence (versus ones that are 20% or 50% off
corners. Traditionally, only a handful of corners
from the true worst-case).
have been necessary: with FF and SS process
(P) corners, plus extreme values for voltage (V) User-friendly: Must be easy to use by design
and temperature (T), all combinations would engineers.
mean 2^3=8 possible corners.
Solido’s Fast PVT application, part of the
With modern processes, many more process Variation Designer platform, is designed to meet
corners are often needed to properly bracket the above requirements. This paper first presents
process variation across different device types. an overview of existing PVT corner approaches.
Furthermore, transistors are smaller, It then presents Fast PVT, including an overview
performance margins are smaller, voltages are of the technical approach and sample results on
lower, and there may be multiple supply real production designs.
voltages. To bracket these variations, more
variables with more values per variable are 2 REVIEW OF PVT CORNER
needed. APPROACHES
This leads to more corners. Before, 3 variables We aim to find the worst-case PVT corner(s)
having 2 values each gave 2^3=8 corners. Now, from hundreds or thousands of candidate corners.
even a basic analysis with 4 device types (e.g. To be applicable to production design, the
nmos, pmos, resistor, capacitor) and 4 other approach needs to be rapid and reliable.
variables (e.g. temperature, voltage, bias, load) Engineers and researchers have investigated a
with 3 values each results in 3^8=6,561 corners. number of approaches to do this; this section
summarizes some of the popular approaches and
The problem is that simulating each corner can
highlights challenges with these methods.
take several seconds, minutes, or even hours for
longer analyses. To simulate all possible corners Full Factorial: The idea here is simply to
could take hours or even days, which is too time- simulate all the possible corners. As discussed,

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

this can be very time-consuming, taking hours or the designer, and therefore fail the easy-to-use
days. On the positive side, it always returns the criterion.
true worst-case corner(s).
Designer Best Guess: Here, the designer makes 3 FAST PVT METHOD
guesses (based on experience) about what the 3.1 Overview of Fast PVT Approach
worst-case corners may be, e.g. 1-2 worst-case Fast PVT uses an advanced modeling approach
corners per output. The advantage of this called Gaussian Process Models (GPMs) [2].
approach is speed. The disadvantage is lack of GPMs are arbitrarily nonlinear, making no
reliability: a wrong guess can mean failure in assumptions about the mapping from PVT
testing or in the field. Reliability is strongly variables to outputs. Fast PVT is adaptive, to
dependent on the designer’s skill level, make maximum use of the simulations so far.
familiarity with the design, familiarity with the As we will see, these core characteristics enable
process, and if the designer has adequate time to Fast PVT to be rapid, reliable, and user-friendly.
make a qualified guess. In practice, it is difficult
to consistently have all of these qualities, which The Fast PVT application supports two distinct
makes the “best guess” approach inherently tasks, corner extraction and verification:
risky. Corner extraction is for finding corners
Sensitivity Analysis (Orthogonal Sampling, that the designer can subsequently design
Linear Model): In this approach, each variable against. Corner extraction runs an initial DOE,
is perturbed one-at-a-time, and the circuit predicts all values using advanced modeling,
simulated, to construct an overall linear response then simulates the predicted worst-case predicted
surface model (RSM). The worst-case PVT corners for each output. There is no adaptive
corners are chosen as the ones that the linear component.
model predicts worst-case output values for. Verification keeps running where corner
This is fast, as it only requires n+1 simulations if extraction would have stopped. It loops, to
there are n variables (the +1 is for nominal). adaptively test candidate worst-case corners
However, reliability is poor: it can easily miss while updating the model and improving the
the worst-case corners because it assumes a predictions of worst-case. It stops when it is
linear response (no interactions or other confident it has found the worst-case.
nonlinearities) from PVT variables to output; this Verification takes more simulations than corner
is often not the case. extraction, but is more accurate in finding the
Quadratic Model (traditional DOE): In this worst-case corners.
approach, the first step is to draw n* (n-1)/2 Figure 1 shows the Fast PVT algorithm. Both
samples in PVT space using fractional-factorial Fast PVT corner extraction and verification start
Design-of-Experiments (DOE) [1], then simulate by drawing a set of initial samples, X (i.e.
them. The next step constructs a quadratic corners), then simulating them, y. A model
response surface model (RSM) from this mapping X→ y is constructed.
input/output data. Finally, the worst-case PVT
corners are the ones that the quadratic model After that, corner extraction simply returns the
predicts as worst-case output values. While this predicted worst-case points. Verification
approach takes a few more simulations than the proceeds by iteratively choosing new samples
linear approach, it is still relatively fast because via advanced modeling, and then simulating the
the number of input PVT variables n is relatively new samples. It repeats the modeling /
small. However, reliability is still not great simulating loop until the model is 95% confident
because circuits may have mappings from PVT that worse output values are no longer possible.
variables to output that are more nonlinear than When choosing new samples, it accounts for
simple quadratic. Also, these methods typically both the model’s prediction of the worst-case, as
require considerable expertise and effort from well as the model’s uncertainty in order to

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

account for model “blind spots”. Error! needed. Solido tools support this flow.
Reference source not found.
Table 1: Fast PVT Design / Verification Flow

1. Run Fast PVT with “corner extraction” stop


criterion.
2. If no failures were found, go to step 5.
X= initial sampling DOE
3. Set failing cases as design corners.
y = simulate(X) 4. Fix design according to the corners:
4.1. Identify opportunities to improve the
design using Solido DesignSense.
Construct model 4.2. Test the design against the corners using
mapping X→y Solido Run Extracted Corners.
4.3. Iterate step 4 until all corners are passing.
5. Run Fast PVT with “verification” stop criterion.
6. If no failures were found, stop (success).
Choose xnew: optimize
Otherwise, go to step 3.
on model, incorporating
model uncertainty
3.3 Fast PVT for >1 Output, >1 Core
The algorithm just described was for a single
ynew = Simulate(xnew). output, assuming a serial process.
Update X, y It is straightforward to extend the Fast PVT
algorithm to handle >1 output, as follows. All
outputs use the same initial samples; at each
Stop if converged iteration, each output gets to choose a new
sample; and model building for a given output
always uses all the samples taken for all outputs
(of that testbench).
Figure 1: Fast PVT Algorithm
It is also straightforward to parallelize the Fast
PVT algorithm: initial sampling sends off all
Fast PVT is rapid because it simulates just a
simulation requests at once; and the iterative
small fraction of all possible PVT corners; and it
loop is modified slightly in order to keep
is reliable because it does not make assumptions
available simulation nodes busy.
about the mapping from PVT variables to
outputs, and explicitly tracks modeling error. 3.4 Tolerance Values
Later in this paper, results on >100 benchmark In many real-world scenarios, the designer may
problems will further validate the technique’s not care if Fast PVT finds the true worst-case
reliability. value; instead, the designer may be just
For detailed explanation of the steps in Figure 1, interested in knowing that the worst-case value
and theoretical details, we refer the reader found by Fast PVT is within a tolerance of the
Appendix A. For further details on the GPM true worst-case, such as ±1dB of gain. Fast PVT
modeling approach, we refer the reader to can be configured for this, so that it will stop
Appendix B. once it has determined that it is within e.g. 1dB
of the worst-case. Of course, this will reduce the
3.2 Fast PVT Design Flow number of simulations.
Table 1 outlines a flow showing how Fast PVT
This capability is also helpful in the case where
is used for the tasks of corner extraction and
the simulator does not converge perfectly, but
verification, including a rapid-iteration design
instead has a small noise level. If there is noise
loop. The general flow is to extract corners,
near the worst-case, then Fast PVT having
design against them, verify; and repeat as

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

tolerance=0 may end up having to test most In summary, Fast PVT’s limitations are
candidate corners; but with a tolerance it can noteworthy, but do not preclude its use with
declare convergence much earlier. production designs.
3.5 Fast PVT “Corner Extraction” 3.7 Guidelines on Measurements
Limitations Fast PVT's speed and accuracy depend on how
Recall that the “corner extraction” task of Fast accurate a model it can construct, in mapping
PVT simply runs the initial DOE, builds a from PVT input variables to outputs. The more
model, predicts worst-case corners, and stops. It accurate the model, the faster the convergence.
is not adaptive. Therefore its main limitation is
In designing measurements / choosing targets,
that it is not as accurate as Fast PVT in
the user should be aware of these guidelines:
“verification” in terms of finding the actual
worst-case corners (for the benefit of speed and Can be binary, and more generally, can have
simplicity). discontinuities. These do typically take more
3.6 Fast PVT “Verification” Limitations simulations to model accurately, however.
Stopping criteria and model accuracy govern the Can contain measurement failures, as long
speed and reliability of Fast PVT verification. as those measurement failures correspond to
The most conservative stopping criteria would extreme values of one of the outputs being
lead to all simulations being run, at no benefit targeted.
compared to fast factorial, and one that is too
aggressive will stop before the worst-case is Should not be constant. If you know that an
found. Fast PVT verification strikes a balance, output is constant, you should not specify for
by stopping as soon as the model is confident it Fast PVT to aim for this output, as it will waste
has found the worst-case. The limitation is that simulation effort trying to find worse values, and
the model may be overly optimistic, because it have difficulty converging. Alternatively, set a
has missed a dramatically different region. To tolerance so that convergence is easier.
avoid hitting this limitation, section 3.7 provides Cannot contain primarily simulator noise as
guidelines on measurements, which directly the key cause of output variation. If this is an
affect model quality. issue, it usually means there is a defect in the
Model construction becomes too slow for >1000 measurement. If needed, a partial workaround is
simulations taken. In practice, if Fast PVT has to set a nonzero tolerance.
not converged by 1000 simulations, it probably
will not, so it will simply simulating the 4 FAST PVT VERIFICATION:
remaining corners. Appendix B has details. BENCHMARK RESULTS
Fast PVT performs best when there are fewer 4.1 Experimental Setup
input PVT variables. For >20 variables, This section shows Fast PVT verification
modeling becomes increasingly difficult and benchmark results on a suite of problems: 13
starts to require >1000 simulations. For these circuits with a total of 108 outputs, based on
reasons, we do not recommend using Fast PVT industrial circuit designs and PVT settings. The
with >20 input variables. Appendix B has circuits include a shift register, two-stage bucket
details. charge pump, two-stage opamp, sense amp,
second-order active filter, three-stage mux,
Fast PVT speedup compared to Full Factorial is switched-capacitor amplifier, active bias
dependent on number of candidate corners: the generator, buffer chain, and SRAM bitcell. The
more candidate corners, the higher the speedup. number of candidate PVT corners ranged from
This also means that if there is a small number of 120 to 2025. All circuits had reasonable device
candidate corners (e.g. 50 or less), then the sizings. The device models were from modern
speedup will usually not be significant (e.g. <2x, industrial 65nm to 28nm processes.
and perhaps even 1x).

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

The benchmarking methodology is as follows. corners or more; for fewer corners, the speedup
For each of the 13 circuit problems: can vary more greatly.
We simulated all candidate PVT corners, A case of 1.0x speedup simply means that Fast
and recorded the worst-case value seen at each PVT did not have enough confidence in its
output. These form the “golden” results. models to stop sooner than running all possible
corners.
We ran Fast PVT “verification” on the
circuit (each circuit had ≥1 target outputs) and Fast PVT speedup can be significantly higher if
recorded the worst-case values that it found, and tolerances are nonzero or if “corner extraction”
how many simulations it took. mode is used. (At the cost of some accuracy, of
course.)

4.2 Experimental Results 5 FAST PVT: DISCUSSION


Figure 2 shows the distribution of speedups for This paper presented algorithms for Fast PVT
Fast PVT verification. Each point in each plot is corner extraction and verification, and verified
the result of a single run of Fast PVT. Speedup them through benchmarking on a suite of test
is the number of full-factorial PVT corners problems. We now examine Fast PVT in terms
(simulations), divided by the number of PVT of set of qualities required for a PVT technology
corners (simulations) that Fast PVT outlined in the introduction.
“verification” needs to find the worst case and
Rapid: Fundamentally, Fast PVT is able to be
stop.
fast because it learns about the structure of the
PVT→output mapping on the fly, and takes
advantage of that knowledge when choosing
simulations. As the benchmarks demonstrated,
in real-world (merge-output) scenarios Fast PVT
verification has speedups averaging 8.4x; and for
problems with >200 corners the average speedup
is 12.7x.
Reliable: Fast PVT is reliable because it uses
SPICE in the loop, uses arbitrarily nonlinear
modeling technology, and takes measures to fill
“blind spots” in the model. In benchmark results,
Fast PVT finds all the worst-case corners in
100% of the real-world (merge-output)
problems.
User-friendly: Fast PVT is implemented as a
high-quality application for the Solido Variation
Designer platform. It requires under one minute
Figure 2: Verification speedup for each circuit to set up, and automatically post-processes all
data at runtime to present key information.
Across the 13 runs, Fast PVT found the true Corners found using Fast PVT can be saved and
worst-case outputs 100% of the time. The designed to using other Variation Designer
average speedup was 8.4x, and the maximum applications.
speedup was 27.0x. For problems with >200 In summary, to our knowledge, Fast PVT is the
corners the average speedup was 12.7x. only method for verifying PVT designs that is
In general, Fast PVT verification speedups are simultaneously rapid and reliable. Its availability
consistently excellent when there are hundreds of as a high-quality product makes this effective

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

technique easy to adopt and apply in an


industrial design environment.
(1) X= initial sampling DOE
6 CONCLUSION y = simulate(X)
In modern semiconductor processes, the need to
properly bracket variation has caused the number
of possible PVT corners to balloon. Rather than
(2) Construct model
a handful of corners, designers must test against mapping X→y
hundreds or even thousands of possible corners,
making PVT-based design and verification
exceedingly time-consuming. (3) Choose xnew: optimize
This paper presented the Fast PVT application,
on model, incorporating
verified on benchmark results. Fast PVT enables model uncertainty
a rapid PVT design flow, via fast extraction of
worst-case PVT corners and fast verification. It
reduces overall design time and improves (4) ynew = Simulate(xnew).
reliability over conventional methods. This in Update X, y
turn promotes the reliable development of more
competitive and more profitable products.
(5) Stop if converged
6.1 About Solido Variation Designer
Solido Variation Designer is a comprehensive set Figure 3: Fast PVT “Verification” Algorithm
of tools for variation-aware design. It allows
users to handle PVT, Monte Carlo, High-Sigma
Monte Carlo and layout-related problem types, We do so in two parts: first, by showing how we
all following a unified corner-based design recast the problem as a global optimization
methodology. For each problem type, Variation problem; then how this problem can be quickly
Designer offers easy-to-use tools to quickly and reliably approached with an advanced
verify the design, extract corners, and design model-building optimization technique.
against those corners. We can cast the aim of finding worst-case
corners as a global optimization problem.
Consider x as a point in PVT space, i.e. a PVT
Appendix A: Details of Fast PVT corner. Therefore x has a value for the model set
Verification Algorithm (or for each device type if separate per-device
models are used), Vdd, Rload, Cload, temperature T,
Figure 3 illustrates the Fast PVT verification etc. We are given the discrete set of NC possible
algorithm. We now give a more detailed PVT corners Xall = {x1, x2, …, xNC}, and a
description of this algorithm, with reference to SPICE-simulated output response to each corner
the figure. f(x). We aim to find x*, the “optimal” PVT
corner which gives the minimum f(x) (or
maximum f(x), depending on the output).
Collecting this together in an optimization
formulation, we get:
x* = argmin(f(x))
subject to x in Xall
Now, given the aims of speed and reliability, the

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

challenge is to solve the global optimization corresponding output points y where the exact
problem with as few evaluations of f(x) as value of f(x) is known. Second, note the dark
possible (minimal number of simulations), yet line passing through the dots; this is the
reliably find the x* returning the global minimum predicted output values of the GPM for all
(true worst-case corner). possible input values. Whereas most regressors
do not guarantee to pass through the training
Fast PVT approaches this optimization problem
data, GPMs do. Third, note the 95% confidence
with an advanced model-building optimization
intervals (shaded region), having zero width at
approach that explicitly leverages modeling
training points and bulging as they get farther
error. We now detail the steps in the approach,
away from training points.
as shown inError! Reference source not
found..
(Step 1) Draw initial samples: Fast PVT
generates a set of initial samples X=Xinit in PVT
space using Design of Experiments (DOE) [1].
Specifically: the full set of PVT corners is
bounded by a hypercube; DOE selects a fraction
of the corners of the hypercube in a structured
fashion.
Simulate initial samples. This is simply SPICE
running on the initial samples: y = yinit = f(Xinit).
(Step 2) Construct model mapping X→y. Here,
Fast PVT constructs a regressor (an RSM)
mapping the PVT input variables to the SPICE- Figure 4: Example of Gaussian Process Model
simulated output value. The choice of regressor (GPM) in modeling x * sin(x)1.
is crucial: recall that a linear or quadratic model
makes unreasonably strong assumptions about
To recap, GPMs meet our criteria for Fast PVT
the nature of the mapping. We do not want to
modeling. For further details on GPMs, we refer
make any such assumptions – the model should
the reader to Appendix B.
be able to handle arbitrary nonlinear mappings.
Furthermore, the regressor must not only predict (Step 3) Choose new sample xnew: Once the
an output value for unseen input PVT points, it model is constructed, we use it to choose the
must be able to report its confidence in that next PVT corner xnew from the remaining
prediction. Confidence should approach 100% candidate corners Xleft=Xall\X. One approach
(0% error) at points that have previously been might be to simply choose the x that gives
simulated, and increase with distance from minimum predicted output value g(x):
simulated points.
xnew = argmin(g(x)) subject to x in Xleft
An approach that fits these criteria is Gaussian
However, this is problematic: while such an
Process Models (GPMs, a.k.a. kriging) [3].
approach optimizes f(x) in regions near worst-
GPMs exploit the relative distances among
case values that it has seen, there may be other
training points, and the distance from the input
regions with few samples that cause very
point to training points, while predicting output
different behavior than predictions. These are
values and the uncertainty of the predictions.
model “blind spots”, and if such a region
Figure 4Error! Reference source not found. contained the true worst-case value then this
shows an example of a GPM modeling the simple approach would fail.
function f(x) = x * sin(x), demonstrating how it
meets the target regressor properties. First, note 1
From http://scikit-learn.sourceforge.net/modules/gaussian_process.html
the dots; these are the training input points X and

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

GPMs, however, are aware of their blind spots,


because they can report their uncertainty. So, we
can choose xnew by including uncertainty s2(x):
xnew = argmin(h(g(x), s2(x))) s.t. x in Xleft
Where h(x) combines both g(x) and s2(x) in
some fashion. There are many options for h(x),
but a robust one is “least-constrained bounds”
(LCB) [5], which returns the xnew that returns the
minimum value for the lower-bound of the
confidence interval. Mathematically, LCB is
simply a weighted sum of g(x) and s2(x).
(Step 4) Simulate new sample; update. This is
simply SPICE running on the new sample: ynew =
f(xnew). We update all the training data with the Figure 5: Example of Fast PVT Convergence
latest point: X = X U xnew, and y = y U ynew.
(Step 5) Stop if converged. Here, Fast PVT The dashed line in Error! Reference source not
stops once it is confident that it has found the found. is the minimum simulated value so far;
true worst-case. Specifically, it stops if it has we see that immediately after the initial samples,
determined that there is very low probability of the first xnew finds a significantly lower simulated
finding any output values that are worse than the output value f(xnew). Over the course of the next
ones it has seen. For additional robustness, Fast several samples, Fast PVT finds even lower
PVT does a final check: it simulates at its biggest simulated values. Then, the minimum value
blind spots (highest uncertainty x points), and if curve flattens, and does not decrease further.
that does not change the worst-case seen, then it Simultaneously, from sample number 20 to 40,
stops. we see that the predicted lower bound hovers
around an output value of 30, but then after that,
Illustrative Example. Figure 5 shows an
the lower bound increases, creating an ever-
example Fast PVT Verification convergence
larger gap from the minimum simulated value.
curve, of output value versus sample number
This gap grows because Xleft has run out of
(simulation number). The first 20 samples are
corners that are close to worst-case, so it has to
initial samples Xinit and yinit. After that, each
use the next-best corners. As this gap grows,
subsequent sample xnew is chosen with adaptive
confidence that the worst-case is found increases
modeling. The predicted lower bound shown is
further. In fact, as soon as the 95% lower bound
the minimum of all 95%-confidence predicted
is above the minimum value so far, at sample
lower bounds across all unsimulated PVT
number ≈38, it means that the model is 95%
corners (Xleft). The PVT corner with this
confident that the worst-case is found, and the
minimum value is chosen as the next sample
algorithm can stop. (We showed continued
xnew. That new sample is simulated.
convergence after 38 samples to illuminate the
algorithm’s behavior.)
In this particular example, there were 220
candidate corners; since the algorithm would
have stopped at 38 samples, this indicates a
speedup of 5.2x.

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

Appendix B: Gaussian Process Models In GPMs, ε(x) is normally-distributed with mean


Most regression approaches take the functional zero, and variance a special matrix R. R is a
form: function of the N training input points X, where
“correlation” for input points xi and xj is Rij =
g(x) = ∑iNB wi * gi(x) + ε corr(xi, xj) = exp(-d(xi, xj)), and d is a weighted
Where g(x) is an approximation of the true distance measure d(xi, xj) = ∑h=1..n θh |xi,h - xj,h|ph.
function f(x). There are NB basis functions; each This makes intuitive sense: as two points xi and
basis function gi(x) has weight wi. Error is ε. xj get closer together, their distance d goes to
Because gi(x) can be an arbitrary nonlinear zero, and therefore their correlation Rij goes to
function, this model formulation covers linear one. Distance measure d is parameterized by n-
models, polynomials, splines, neural networks, dimensional vectors θ and p, which characterize
support vector machines, and more; and the the relative importance and smoothness of of
overall class of models is called generalized input variables. θ and p are learned via
linear models (GLMs). Model-fitting reduces to maximum-likelihood estimation (MLE) on the
finding the wi and gi(x) that optimize criteria training data.
such as minimizing mean-squared error on the From the general form g(x) = μ + ε(x) which
training data, and possibly regularization terms. characterizes the distribution, GLMs predict
These models assume that error ε is normally values for unseen x with:
distributed, with mean zero, with no error
correlation between training points. g(x) = μ + rTR-1(y-1μ)
In this formulation, the error distribution remains where the second term adjusts the prediction
constant throughout input variable space; it does away from the mean based on how the input
not reduce to zero as one approaches the points point x correlates with the N training input points
that have already been simulated. This does not X. Specifically, r = r(x) = {corr(x,x1), …,
make sense for SPICE-simulated data: the model corr(x, xN)}. Once again, this formula follows
should have 100% confidence (zero error) at intuition: as x gets closer to a training point xi,
previously simulated points, and error should the influence of that training point xi, and its
increase as one draws away from the simulated corresponding output value yi, will get
points. Restating this, the model confidence progressively higher.
should change depending on the input point. We Recall we want a regressor to not just predict an
can in fact create a functional form that properly output value g(x), but also to report the
reflects this: uncertainty in its predicted output value. In
g(x) = ∑iNB wi * gi(x) + ε(x) GLMs, this is an estimate of variance s2:
Note how the error ε is now a function of the s2(x) = σ2 * (1 – rTR-1r + (1-1TR-1r)2/(1TR-11))
input point x. Now the question is how to In the above formulae, μ and σ2 are estimated via
choose wi, gi(x), and ε(x) given our training data analytical equations that depend on X and y. For
X and y. A regressor approach that fits our further details, we refer the reader to [3][4].
criteria, i.e. uses ε(x) and handles arbitrary
nonlinear mappings, is Gaussian Process Models Model construction time. In GPMs,
(GPMs, a.k.a. kriging). GPMs originated in the construction time increases linearly with the
geostatistics literature [2] but have recently number of parameters, and as a square of the
become more popular in the global optimization number of training samples. In practical terms,
literature [3] and then the machine learning this is not an issue for 5 or 10 input PVT
literature [4]. GPMs have such a powerful variables with up to ≈500 corners sampled so far,
approach to modeling ε(x) that they can replace or for 20 input PVT variables and ≈150 samples;
the first term of g(x) with a constant μ, giving the but it does start to become noticeable if the
form: number of input variables or number of samples
starts to get beyond that.
g(x) = μ + ε(x)

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.
Fast PVT: A Rapid, Accurate, and Reliable Method for Design and Verification of Circuits Under Process-
Voltage-Temperature Conditions

So that model construction does not become a


bottleneck, the Fast PVT algorithm behaves as
follows:
Once 180 simulations have been reached, it
only builds models every 5 simulations, rather
than after every new simulation. The build
interval increases with the number of simulations
(= max(5, 0.04 * number of simulations)).
If Fast PVT has not converged by 1000
simulations, it “cuts loose” and simply simulates
the rest of the full-factorial corners.
Time taken to running the model on candidate
corners is less of an issue. However, to
maximize speed, Fast PVT caches model
predictions on candidate corners, eliminating
repeat simulation until a new model is built.

References
[1] D.C. Montgomery, Design and Analysis of
Experiments, 6th Edition, Wiley, 2004.
[2] N. Cressie, “Geostatistics,” The American
Statistician, Vol. 43, 1989, pp. 192-202.
[3] D.R. Jones, M. Schonlau, and W.J. Welch,
“Efficient Global Optimization of Expensive
Black-Box Functions,” Journal of Global
Optimization, Vol. 13, 1998, pp. 455-592.
[4] C.E. Rasmussen and C.K.I. Williams, Gaussian
Processes for Machine Learning, MIT Press,
2006.
[5] M.J. Sasena, Flexibility and Efficiency
Enhancements for Constrained Global
Optimization with Kriging Approximations, PhD
thesis, University of Michigan, 2002.

Solido Design Automation, Inc.


111 North Market Street, Suite 300
San Jose, CA 95113
info@solidodesign.com +1 408 332 5811
http://www.solidodesign.com
Solido Design Automation Inc. Proprietary and Confidential.
Do not distribute. NDA required.

You might also like