OnPoint for Root Cause Analysis

    The Pain

    Today, engineers have few tools to aid them with their debugging and root cause analysis needs. With waveform and simulation viewers engineers are asked to manually explore the design source files, navigate through the waveforms, iteratively find drivers and back trace through the blocks until the bug source is found. These repetitive and manual tasks are a time drain and a cost burden to the complex verification process.


    The Solution

    OnPoint automates these tasks as it returns the source of the errors with absolutely no user guidance. OnPoint will take in the failure information from a simulation or formal verification run and generate suspects that represent the bug location. OnPoint can diagnose the problem as long as there is a mismatch between a simulated and expected value or a failing assertion. The expected value and the cycle of failure can come from many different types of testbench checkers, monitors, or scoreboards such as those developed in behavioral Verilog and SystemVerilog, C/C++, SystemC, or Matlab, etc.


    OnPoint analyzes the RTL design files along with the failing simulation trace from the verification tool, and produces a set of error suspects and correction waveforms that can fix the bug.

    The OnPoint Advantage

    During the automated diagnosis process, OnPoint identifies the source of errors (also known as suspects) and categorizes them by:


    • RTL source: lines in the source code of the design
    • Stimulus: problems with stimulus side of testbenches
    • Assertions: errors or missing signals in assertions

    Each error source contains:


    • Locations in the source code
    • Waveforms with correction values
    • Times for when the fix is needed
    • Hints for performing a fix
    • A rank for targeting high priority sources
    • A summary of debug information



    Vennsa OnPoint can find any type of functional bug in the design, assertions, or assumptions. A sample list of errors is shown below.


    • Conceptual or high level errors
    • State transition bugs
    • Bugs in assertions
    • Bugs in assumptions and constraints
    • Incorrect assignments
    • Wrong operations
    • Wrong if/case conditions
    • Problems with module instantiation
    • Bad module wiring
    • and many more...

    OnPoint supports the following tools:

    • Incisive
    • Modelsim
    • 0-In
    • Questa
    • VCS
    • ILV
    • Magellan
    • Jasper Gold
    • Averant