Assertion Statement Debugging via State Representation Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designers face challenges in debugging assertion statements during functional verification of circuit designs, as failures may not identify bugs in the circuit but rather in the assertion statements themselves, leading to inefficient debugging processes.

Innovation Solution

A computing system is used to check and generate corrected assertion statements by extracting sequence items, creating a state representation, and modifying patterns to identify and fix errors in assertion statements, ensuring they conform to design specifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If designers manually debug assertion statements by introducing mutations or utilizing recorded waveform data, then assertion statement errors can be located and fixed, but the debugging process becomes time-consuming and inefficient

Engineering Contradiction:
Improveerror detection accuracyVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of assertion statements by extracting sequence items and generating state representations before full simulation. This preliminary action identifies potential errors early, allowing designers to fix assertion statement defects before they cause time-consuming simulation failures, thus reducing overall debugging time while maintaining detection accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary analysis layer between the assertion statements and simulation execution. This intermediary extracts sequence items, generates state representations, and compares actual states with expected states, serving as a mediator that identifies errors without requiring full simulation runtime, thereby reducing debugging time while preserving error detection capability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If design verification tools stop checking conditions in assertion statements during simulation in response to a violation, then simulation efficiency is improved, but errors in assertion statements themselves may not be identified

Engineering Contradiction:
Improvesimulation efficiencyVSAvoidassertion statement correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the verification process into two parts: (1) extraction of sequence items and generation of state representations from assertion statements, and (2) comparison of actual states with expected states. This segmentation allows the system to verify assertion statement correctness independently of simulation execution, maintaining both simulation efficiency and assertion statement reliability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary extraction of sequence items and generation of state representations before simulation execution. This preliminary action enables the system to identify errors in assertion statements without requiring simulation to continue, thus maintaining simulation efficiency while improving assertion statement correctness verification

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10592623B2Assertion statement check and debug
Publication Date: 2020.03.17 SIEMENS INDUSTRY SOFTWARE INC
  • US10592623B2 patent drawing
  • US10592623B2 patent drawing
  • US10592623B2 patent drawing

AI summary

This application discloses a computing system to check and generate an assertion statement. The assertion statement, when executed during a simulation of a circuit design, can verify a simulated behavior of the circuit design. The computing system can extract sequence items from the assertion statement, and generate a state representation for the sequence items based on the simulated behavior of the circuit design. The state representation can identify states of the extracted sequence items at different clock ticks of the simulation. The computing system can locate an error in the assertion statement based on the state representation by generating patterns from sequence operators in the assertion statement and comparing the patterns to the state representation. The computing system can utilize the error in the assertion statement to generate a corrected assertion statement. The computing system can utilize propagate-and-repeat functionality to generate assertions by determining when to check each sequence item.