The procedures we initially used in 1989, when we first
began working with circuit designs, were the now
commonly applied techniques of Monte Carlo
simulations combined with traditional Response
Surface and Screening Experiments. In addition, when
the design problem was small and the process was
more forgiving, we also employed space-filling grids
with a "pick the winner" methodology
While these methods were generally adequate for the
early 1990's it became clear in the late 90's to early
2000's that newer, more efficient methods were
required as design goals became more complex and
process constraints become more onerous.
The Late 80's and 90's
The more challenging circuits required us to deal with
setting 50 to 100 key design parameters to optimize 4 to
8 performance goals while controlling for the variation
of hundreds of process related parameters and their
impact on both the design and yield.
In addition, it was recognized that the usual "process
corners" were not the worst and best case corners for
the circuits being designed. Each circuit was sensitive
to it's own set of corners and must be made as robust
as possible to all process variation, not just the FF, SS,
SF, and FS corners proposed in the SPICE Models.
We began looking more deeply at the problem we were
trying to solve. All the common methods fail to
adequately address the more complex design problems:
- Traditional Monte Carlo cannot efficiently examine
more than a few parameters even with millions of
runs. No one can afford to make millions of runs.
- Traditional Response Surface methods did not
adequately capture the SPICE responses even for
a few design parameters. The accuracy was
simply not good enough!
- Screening experiments were even worse than the
traditional response surface methods. While they
cut down on the number of design parameters and
made response surface analysis possible, they
tended to ignore critical interactions -- especially
interactions between the design and the process.
Rethinking the solution
We recognized that SPICE is a general solution and, if it
were possible, all we needed for a specific circuit and
technology was a "local simulator." This is the basic
idea behind the surrogate model -- it replaces SPICE for
a specific circuit and technology.
We also recognized that the equations behind the
surrogate model must be able to capture sufficient
complexity to be accurate while retaining the property of
being able to be evaluated rapidly -- and even more
importantly it must be able to be searched for analytic
maxima and minima. The prototypical method for
achieving these goals is a Taylor Series expansion.
However, we derive this expansion from actual SPICE
runs not from the SPICE equations themselves.
In addition, we solved the problem of being able to
sample the process space between 3 and 5 sigma while
building the surrogate model. This is critical because
traditional Monte Carlo samples the center and not the
extremes -- but the surrogate models must hold both for
the center and the extremes. The prototypical method
would be a grid, but grids are untenable for more than a
few parameters. Our sample is similar to a sparse grid
with an emphasis on higher sigma samples and less
emphasis on the center.
This same sampling solution permits a yield analysis
through stochastic integration when the focus is on
relatively "rare" failures -- those sample points where
one or more of the process parameters must be beyond
more than a couple of sigma.