Certitude™ Methodology Primer: Early Application Provides Significant Value
The Certitude™ Functional Qualification System identifies holes and weaknesses in the verification environment that can let RTL bugs slip through the process undetected. Although you can apply Certitude at many different points throughout the verification process, experience has shown that an incremental approach beginning in the early stages is often best – providing immediate value and improving the verification environment over time while balancing resources vs. other verification activities.
When Should I Start
Running Functional Qualification?
Functional Qualification requires a reasonably complete and functional RTL
description and a set of simulation tests that exercise the RTL to verify that
it conforms to the functional specification of the design. However, this should not be interpreted as a
requirement that “all” simulation tests must be available before functional
qualification can begin. In fact, users
can gain valuable insight into the verification environment when only a small
number of tests are available. Consider,
for example, the set of output stuck-at faults injected by Certitude in the
early stages of qualification using its default class-based fault prioritization
algorithm. A verification environment
with a small set of functional tests and the most basic checkers and assertions
in place should probably detect these types of gross errors, even if tests that
exercise the more complex and subtle aspects of the design are yet to be
written. An environment that doesn’t
detect these faults is certainly more likely to let serious RTL bugs slip
through the process unnoticed.
So, I’ve Qualified
the Basic Aspects of My Environment – What’s Next?
As more tests are written, qualification can proceed incrementally. For example, the completion and use of a
“smoke suite” of tests – a set that exercises the major functional aspects of
the design and is used as a first-level sign-off before significant RTL changes
are checked into the design database – argues for expanded use of functional
qualification to provide a more comprehensive measure of verification
environment quality and identify holes and weaknesses that themselves
invalidate the purpose of the “smoke suite”.
Again, Certitude’s automated fault prioritization process can be applied
to guide the qualification at this stage with an expanded set of faults that
stress-test the maturing verification environment.
Good News: Incremental Qualification Accumulates Results
Over Time
Functional qualification with Certitude is a cumulative process. As you improve your verification environment,
Certitude ensures that previously undetected faults are detected and then
delves deeper into its prioritized fault list to qualify the more subtle
aspects of your environment. As a user,
you get the benefits of early feedback on your environment – allowing you to
find and fix problems to ensure that your environment is robust – and
accumulation of qualification results over time to provide a complete
assessment of the quality of your verification environment.

