SpringSoft brings more smarts to Certitude
Electronic Design News
by: Ron Wilson
One of the more interesting tools in the verification space is
SpringSoft's Certitude—what you might call a testbench qualification
tool. In brief, Certitude cleverly and automatically injects bugs into
your RTL based on an analysis of the structure of your code, runs your
regression test sequence, and checks to see if all of the injected bugs
resulted in errors. It sounds like a simple idea, and it probably is,
once you figure out an algorithm for inserting the permutations at the
right spots in the RTL.
One problem with this approach is too much information (also known
as TMI, if you have kids of a certain age.) If there's a significant
gap in your test coverage, Certitude can generate an undetected-error
report that begins to look more like War and Peace than a tool output.
That leaves you with some unanswered questions, such as where the heck
to start, and why didn't I study finance? Are you looking at 50
unrelated gaps in functional coverage, or one critical test that is
coded incorrectly? That's not an easy question to answer when you are
graced with a report that deserves to be issued in a hard-cover edition. SpringSoft has come up with a solution: a set of heuristics that can
prioritize the faults Certitude injects, so that the tool leads you to
the most significant coverage problems first. For example, Certitude
will now give priority to faults inserted close to an output, or faults
in resets to synchronous processes, according to SpringSoft director of
product marketing George Bakewell. If faults at these key points are
going unnoticed, you pretty much don't have to worry about faults
upstream from them until after you've amended the testbench. By using
this prioritization tool iteratively as the design progresses, you can
focus on the largest gaps in coverage first, and your testbench can
evolve along with the design, under the guidance of Certitude. SpringSoft has introduced another welcome improvement, Bakewell
said. There is now a direct bi-directional link between Certitude and
Verdi. You can automatically generate Certitude set-up files from
Verdi's Knowledge Database. And once you find an undetected fault in
Certitude, you can push a button and be looking at the fault in Verdi's
source-code and waveform windows, so you can track down exactly why the
testbench is missing it.
Altogether, these two changes are incremental, but valuable, steps in the increasingly critical task of knowing just how good your testbench really is. With verification gradually becoming the largest single threat to design schedules, and verification escapes becoming a major source of dreaded respins, this is no minor achievement.
Tell us what you think of this page:




