- RTL source: lines in the source code of the design
- Stimulus: problems with stimulus side of testbenches
- Assertions: errors or missing signals in assertions
- 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
- 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...
- Jasper Gold
OnPoint for Root Cause Analysis
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.
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.
The OnPoint Advantage
During the automated diagnosis process, OnPoint identifies the source of errors (also known as suspects) and categorizes them by:
Each error source contains:
Vennsa OnPoint can find any type of functional bug in the design, assertions, or assumptions. A sample list of errors is shown below.
OnPoint supports the following tools: