The Post-Silcon Debug Flow
Traditional post-silicon debugging consists
of running system level simulations in the
hope of reproducing the bug seen in silicon.
This process is extremely inefficient. The
bug cause must be hypothesized, including
all inter-block timing dependencies for the
bug. The symptom must propagate to an output
port in order to verify the symptom matches
the silicon bug. All of this must be accomplished
by triggering only the top level inputs.
Formal post-silicon debug is much easier,
faster, and far more effective than simulation
for this purpose. The Jasper formal post-silicon
debug flow is shown in Figure 1.
When a bug is detected, the team creates a
property declaring the observed bad behavior
should not exist. JasperGold formal verification
will fail the property and generate a waveform
describing the exact sequence of events to
reproduce the observed bug. Because formal
tests all possible input sequences, the analysis
is not dependent upon guessing the correct
vector to stimulate the bug. Formal provides
the path for you.
With an appropriate property, JasperGold formal
verification can find the bug in a mere fraction
of the time it would normally take to diagnose
the same bug in the lab or using emulation.
This time may be weeks to months shorter than
alternative solutions, helping to alleviate
the crisis and uncertainty.
|