( ESNUG 538 Item 14 ) ------------------------------------------- [10/24/14]

Subject: Trent's ICCAD'13 Trip Report 10 days before the upcoming ICCAD'14

>    Next week ITC will be held in Seattle.  Everyone who is anyone in
>    test will be there.  And before ITC happens, I want to ...
>
>        - Luis Basto, DFT consultant
>          http://www.deepchip.com/items/0538-12.html


  Hi, John,

  I thought it was a clever idea by Luis Basto to write about some test
  topics 4 days right before the International Test Conference (ITC).

  In that vein, I'd like to share my ICCAD'13 Trip Report with you so
  your DeepChip CAD research readers would come to the ICCAD'14 that's
  coming up in 10 days.

      - Trent McConaghy, CTO
        Solido Design Automation               Saskatoon, Canada

          ----    ----    ----    ----    ----    ----   ----

From: [ Trent McConaghy of Solido Design ]

ICCAD 2013 was held Nov 8-12 at the San Jose Hilton, San Jose, CA.  ICCAD is
a highly respected academic conference for EDA/CAD researchers.  About 420 
people attended.  There was a healthy dose of papers on analog, memory, and
variation-aware CAD.  Here, I describe seven works that caught my attention.

           Paper: BAG -- A Designer-Oriented Integrated Framework
               for the Development of AMS Circuit Generators

                Authors: J. Crossley et al.  (UC Berkeley)

The Berkeley Analog Generator (BAG) is founded on the idea that AMS circuit 
designers must spend far too much time fiddling with the technology-specific
implementation details of layout and sizings, and not enough time on 
exploring the bigger-picture design options.  

Usually, this is where researchers say "and then we built an optimizer" ... 
and designers promptly ignore it.  BAG takes a different approach; it can be
thought of as a collection of extra-powerful, easy-to-codify P-cells.  

BAG is "parameterized design procedures that produce sized schematics and
correct layouts", which are technology-independent.  They are easy to edit
and read, because they use Python; and in turn they leverage Synopsys' PyCell
framework which has "DRC correct-by-construction" functions.

A design flow with BAG includes viewing the schematic and layout.  But a
central part of the flow is editing Python code, with immediate
schematic/layout feedback.  

   - Code can specify schematic-level information, such as "use fastest
     transistor available" and compute width via a lookup table from 
     designer-set gm/Id values.  

   - BAG has layout programmability too, such as setting a cell's 
     polysilicon density, aspect ratio, a metal-on-metal capacitor's 
     number of metal layers, and DAC resistor string architecture
     (e.g. 1 vs. 2 vs. 3 levels of hierarchy).

The authors provide two case studies with BAG: a voltage-controlled
oscillator, and a switched-capacitor DC-DC regulator with three different
layouts for different power density / output levels.  As a hint to the
promise of BAG, these example designs have far more devices than circuits
in typical CAD literature.

          ----    ----    ----    ----    ----    ----   ----

      Paper: A New Methodology to Address the Growing Productivity
                    Gap in Analog Design (Invited)

               Authors: David White (Cadence Design Systems)

David White runs Cadence's Virtuoso group, which nicely calibrated his
perspective on improving analog design productivity.  David started his
talk by reviewing the status quo three-step flow for analog design:

   - schematic entry (20% of designer time)

   - first round layout (50% of time)

   - extraction / re-simulation / electromigration(EM)-checking /
     editing layout (30% of time) 

He then described a revised flow called Electrically Aware Design (EAD).
It merges the last two steps into one faster, unified step.  This means: 

   - Have incremental electrical verification with each layout design
     decision 

   - Give visibility into the effect of the changes.  

Incremental electrical verification means incremental extraction, fast
parasitic re-simulation, and incremental EM-checking.  Fast incremental
extraction is partly enabled by pre-computing capacitances for common
geometries, then in real-time "pattern matching" the layout geometries to
pre-computed values.  

Incremental EM-checking is enabled by comparing each wire's pre-layout
simulation results to predicted post-layout results, and making it fast and
convenient to re-size or re-route the wire.

Visibility means having a simultaneous view of both schematic and layout.
A shared database is key, as it maintains connectivity and electrical
information; and doesn't need LVS, which can be error-prone and
computationally costly.  

This isn't just a pipe dream.  The Cadence Virtuoso team said they have been
working towards this vision over a number of years, and Virtuoso now supports
an EAD flow.  Users have found EAD style flows reduce overall design time by
up to 30%.  

          ----    ----    ----    ----    ----    ----   ----

    Paper: Analog Behavior in Custom IC Variation-Aware Design (Invited)

           Authors: Trent McConaghy (Solido Design Automation)

This work starts off by providing an example of how variation challenges are
growing: in GlobalFoundries process technology, Idsat variation doubled
going from 40nm to 28nm.  Device-level variation causes circuit performance
variation, which in turns hurts yield.  

As the paper states, "there have been many proposals over the years to
counter the effects of variation.  Revolutionary changes to methodology have
been proposed, such as mandating automated sizing or direct MC on response
surface models.  Fortunately, there's an easier way; no revolution is
necessary." 

The easier way is simply *better corners*, where the corners capture the
bounds of circuit performances, rather than device performances.  Each
corner is a point in process variation space, which includes a value for
each local process variable of each device, and for each global process
variable.  Designing on x-sigma corners implicitly designs for x-sigma
yield, without needing Monte Carlo in the loop.  

The paper illustrated the approach on a 4-sigma flip-flop design, having
about 200 process parameters.  

   - The first step extracted a 5-sigma corner using the Solido
     High-Sigma Monte Carlo (HSMC) tool for high-sigma analysis.
     From 100 M MC samples generated, and under 2000 simulations,
     it found the Monte Carlo sample with 5-sigma setup time and
     set it as the corner.
 
   - The second step used Solido Cell Optimizer to globally auto-
     size widths and lengths to minimize setup time, simulating
     against the 5-sigma corner.  

The final step ran Solido HSMC again, to verify the design.  Overall 5-sigma
setup time was reduced by 32%.

          ----    ----    ----    ----    ----    ----   ----

  Paper: Fast Statistical Analysis of Rare Circuit Failure Events via
          Scaled-Sigma Sampling for High-Dimensional Variation Space

       Authors: Shupeng Sun et al.  (Carnegie Mellon University, with
                      co-authors from CMU and Cadence)

This paper introduces a new approach for high-sigma analysis, called Scaled
Sigma Sampling (SSS).  

In the literature, the high-sigma approach of Importance sampling (IS) is
popular, usually on 6-dimensional problems (Vth's on a 6T SRAM bitcell), or
perhaps 12-d (include betas).  This paper benchmarks Minimum-Norm Importance
Sampling (MNIS) (Qazi et al, DATE, 2010) as a representative IS algorithm on
high-d problems:

  Circuit        # var  True fail rate  MNIS fail rate     MNIS error   
  -------------  -----  --------------  ----------------   ----------  
  Memory Column   384    1e-6            2.2e-10            4500x       
                                        [2.7e-11,4.2e-10]  [misses 1e-6] 
  DFF             280    1e-5             1.5e-7             67x         
                                        [0,3.4e-7]         [misses 1e-5] 

To help understand the issue, recall that the IS's central idea is to
distort the sampling distribution, such that more samples fail.  Most IS
approaches draw from a normal distribution, shifting the mean towards the
failure region, and sometimes changing the standard deviation (or covariance
matrix) to hug the failure boundary better.  

IS errs when the shifted samples are too far past the failure region (weight
is too small to affect yield), when failure regions are missed, or when the
samples don't capture enough of the failure boundary.

In IS, to calculate yield, each sample is weighted, according to the true &
sampling distributions.  The paper shows that when yield is calculated this
way, variance of the yield estimate is exponential in the input
dimensionality.  

The authors propose SSS, for high-dimension high-sigma.

   - For its sampling distribution, SSS does not shift the mean.
     Instead, it only enlarges the standard deviation via a nonlinear
     scaling factor.  This factor is computed from some initial pilot
     simulations.  This strategy helps it mitigate the traditional IS
     sources of error.  

   - When estimating yield from the samples, it does *not* calculate
     yield directly from sample weights.  Instead, it employs a more
     complex method that fits a model relating yield to the norm of
     the closest failing point, and leverages a "soft maximum"
     approximation.  This helps it mitigate high variance in high
     dimensions.  While other IS approaches have used model fitting
     to estimate yield (T.  Hesterberg, PhD thesis, Stanford, 2003),
     the approach presented here is promising.  

   - SSS estimates confidence intervals via the statistical technique
     of bootstrapping (B. Efron, Annals of Statistics 7(1), 1979)

The authors tested SSS on the same circuits as before:

  Circuit       # var  True fail rate  SSS fail rate      SSS error 
  -----------   -----  --------------  ---------------    ---------
  Memory Column 384    1e-6            0.73e-6            1.36x
                                      [0.019e-6, 5.6e-6]  [covers 1e-6]
  DFF           280    1e-5           1.6e-5              1.60x
                                      [0.176e-5, 8.9e-5]  [covers 1e-5]

In short, SSS greatly reduced the error compared to MNIS, and the error
bounds successfully covered the true value.  As far as I could tell, if SSS
had erred badly, there would have been no indication.  

          ----    ----    ----    ----    ----    ----   ----

  Paper: Verifying Start-up Failures in Coupled Ring Oscillators in Presence
            of Variability using Predictive Global Optimization

        Authors: Taehwan Kim et al (Seoul National University, with
                     co-authors from SNU and Samsung)

This paper aims to verify a coupled ring oscillator across possible initial
circuit states, subject to process variation.  

It casts the problem as a global optimization problem.  It searches for
maximum (worst-case) settling time.  It models possible initial states with
a voltage at each node, where each voltage is from 0 to Vdd.  It models
process variations via 1000 Monte Carlo samples, for 99.9% confidence.  

The optimizer uses model-building to reduce simulations.  It operates as
follows:

  1. Draw a set of points that are well-spread in the "input space"
     of initial states.  Simulate each of those points on 1000 MC
     samples.  

  2. Choose a new point by (a) building a radial basis function (RBF)
     model of input space to settling time (b) running an "inner"
     optimization that finds a point with the maximum model-predicted
     settling time, accounting for uncertainty.  Simulate that point.  

  3. If either a startup failure is found, or confident that no
     failures exist, stop.  Otherwise, go to (2).

The authors verified the paper's approach on a few variants of coupled ring
oscillators on 45nm CMOS.  There were 543,803 possible initial states.  The
approach only needed evaluate 11-16 states (11K-16K simulations) to verify
the oscillator, for a speedup of 34,000x.

          ----    ----    ----    ----    ----    ----   ----

   Paper: Scalable and Efficient Analog Parametric Fault Identification

                   Authors: Mustafa Yelten et al (Intel)

The authors attack a problem in analog test: find as many process
variation-induced failures as possible, with just 200 test samples
(simulations).  The baseline / traditional approach runs 1000 Monte
Carlo-based test samples, which is roughly a 3-sigma analysis.  Improving
upon the baseline reduces test costs in high-volume manufacturing.

This paper's approach, called Iterative Failure Search (IFS) is to focus
Monte Carlo-style samples on high-impact parameters.  The steps of IFS are:

  1. Sensitivity analysis: for each process parameter and each +/-
     direction, perturb the parameter 3 standard deviations in that
     direction and simulate.

  2. Draw initial samples, where each low-impact parameter is drawn
     from a uniform distribution, and each high-impact parameter has
     a fixed value in the failure direction (based on sensitivity).
     Simulate samples.

  3. Draw adaptive samples, where each sample is the sum of (a) the
     previous iteration's sample that is closest to the failure
     boundary, and (b) a step of randomized magnitude towards the
     failure direction.  Simulate samples.

  4. Stop if any failures are found, otherwise go to (3)

At first glance, the approach may appear like a high-sigma algorithm. 
However, its 1000 Monte Carlo samples baseline means it's for 3-sigma
analysis.  (High-sigma analysis is typically 1M to 1G+ samples baseline.)

The approach was demonstrated on two test cases.  

The first test case was a signal converter with 498 elements, as part of a
serial IO receiver's phase interpolator.  From 188 parameters considered,
sensitivity analysis identified 4 high-impact parameters.  In the authors'
case, sensitivity analysis came for free, because it was performed as part
of a previous step in the design flow.  

Three separate IFS runs were performed, for three threshold levels of
increasing aggressiveness.  For comparison, three Monte Carlo runs were
performed as well.  Each run had 200 simulations.  The table below show how
many failures each approach found.
       
          Threshold  MC # failures  IFS # failures
          ---------  -------------  --------------
             u1            17            200
             u2             1             87
             u3             0             57

We see that IFS always finds far more failures than MC.  Furthermore, via a
clustering analysis, the authors also showed that IFS discovered multiple
failure regions.

The second test case had four combined blocks (phase interpolator core,
filter, biasing unit, output buffer), having 1160 circuit elements, as part
of a serial IO receiver.    With the same testing methodology:

          Threshold  MC # failures  IFS # failures
          ---------  -------------  --------------
             u1            14            200
             u2             0            200
             u3             0             83

From 874 parameters considered, sensitivity analysis ID-ed 4 parameters.

          ----    ----    ----    ----    ----    ----   ----

   Paper: From Statistical Model Checking to Statistical Model Inference:
     Characterizing the Effect of Process Variations in Analog Circuits

        Authors: Yan Zhang et al.  (U. Colorado, with co-authors
                        from U. Colorado and RWTH Aachen)

This paper considers the problem of verifying analog circuits that are
subject to process variation.  It computes whether a circuit hits a target
yield for a given circuit specification (e.g.  gain > 60).  

This paper presents an approach called Statistical Model Inference (SMI).
SMI has the following steps:

  1. Build a polynomial regression model mapping process variables to
     output.  It does this by drawing samples from the distribution,
     simulating, and building a new model.  It repeats this until the
     model parameters stabilize.  Cross-validation measures parameter
     stability.

  2. Compute a +/- confidence interval ("bloat interval") for the
     model predictions.  It performs this as follows.  First, it
     initializes the interval to +0 / -0.  Then, it draws a sample
     and simulates it.  If the sample's output value is within the
     +/- interval of the model-predicted values, it passes.  If not,
     it increases the interval size.  It repeats this until it passes
     K times in a row.  K is based on target yield.

  3. Use the model and bloat interval to compute yield (or to compute
     the safe subset of parameter space).  For example: draw 1e6 MC
     samples; each sample passes if its model-predicted value + bloat
     interval meets the specification; then yield is the % of samples
     that pass.

The authors demonstrated SMI on a three-stage ring oscillator (1 output) and
two-stage opamp (9 outputs).  The baseline for comparison is 1000 MC
samples.  
                                                            SMI agrees
   Problem                  #var  Step 1 #sim  Step 2 #sim  with MC
   -----------------------  ----  -----------  -----------  ----------
   ring oscillator freq       6       150          265         YES
   opamp input offset vltg    8       240          187         YES   
   opamp DC gain              8       125          201         YES   
   opamp UGBW                 8       125          111         YES   
   opamp PM                   8       125          117         YES   
   opamp CMRR                 8       125          134         YES   
   opamp PSRR+                8       125          119         YES   
   opamp PSRR-                8       125           98         YES   
   opamp SR+                  8       250          112         YES   
   opamp SR-                  8       250          139         YES   
                     
Simulation time was dominant.  The authors note that the number of sims is
highly dependent on the number of parameters.

          ----    ----    ----    ----    ----    ----   ----

   Paper: Bayesian Model Fusion: A Statistical Framework for Efficient
            Pre-Silicon Validation and Post-Silicon Tuning of Complex
                Analog and Mixed-Signal Circuits (Invited)

      Authors: Xin Li et al.  (Carnegie Mellon University, with
                    co-authors from CMU and Intel)

This paper presents a detailed overview of Bayesian Model Fusion (BMF), a
technique that can help in verifying analog circuits under process
variation.  BMF has two pillars: 

  1. Given an a priori model (an existing understanding of the world),
     and new data, we can use Bayes' rule to update the model.

  2. Create the a priori model from many *cheap* measurements (e.g.
     pre-layout simulations); so that we can minimize the number of
     *expensive* samples of new data (e.g.  post-layout simulations,
     or test measures).

Thus, the BMF approach is quite general, and mathematically very clean.  The
authors envisioned many applications.  They give results for three: 

   - Estimating mean, standard deviation, and higher-order moments.
     For a high-speed I/O link's, to estimate the time margin output's
     mean in post-silicon within 2% error, BMF used 5 samples, versus
     11 without BMF.

   - Estimating density; from which mean, stddev, yield, etc.  can be
     computed.  For an SRAM read path in 32nm, to estimate the delay
     density within 2% error, BMF used 10 post-layout simulations,
     versus 100 without BMF.

   - Estimating parameters for a regression model of process variables
     to output, with application to post-silicon tuning.  For a VCO in
     32nm, BMF needed 2 measured chips to determine an accurate tuning
     policy, versus 6 without.

          ----    ----    ----    ----    ----    ----   ----

Again, if any of your EDA/CAD researcher readers are thinking of coming to
the ICCAD'14 in 10 days, tell them they should sign up soon!

    - Trent McConaghy, CTO
      Solido Design Automation                   Saskatoon, Canada

Join    Index    Next->Item






   
 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.














Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)