Structural Observability Filter for Formal Verification Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current electronic design verification tools generate excessive noise in reporting design violations, requiring users to perform extensive manual debugging without automated forward debugging capabilities, making it difficult to filter and address observable violations effectively.

Innovation Solution

A computer-implemented method using structural observability filtering to determine design violations, generate violation traces, and display them at a graphical user interface, allowing users to select paths for waiving and correcting violations, thereby facilitating efficient debugging by focusing on relevant paths and boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Object-generated harmful factors

If structural observability filtering is applied to reduce noise in violation reporting, then the number of reported violations is reduced, but the ability to debug observable violations becomes more difficult due to lack of automated forward debugging capabilities

Engineering Contradiction:
Improvenoise in violation reportingVSAvoiddebugging effort
Core Design Contradiction:
Object-generated harmful factorsVSEase of operation

Solution Approach 1:

The violation debugging process is segmented into multiple phases: initial structural observability filtering to reduce noise, followed by automated forward debugging that generates and analyzes multiple execution paths. This segmentation allows the system to first filter out obvious noise, then systematically explore remaining violations through automated path generation and analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary automated debugging engine that acts as a mediator between the filtered violations and the user. This engine generates execution paths, analyzes them automatically, and presents refined debugging information to the user, reducing the manual effort required while maintaining debugging effectiveness.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all design violations are reported to ensure completeness, then no real violations are missed, but the excessive number of violations makes it difficult for users to identify and address critical issues

Engineering Contradiction:
Improvecompleteness of violation detectionVSAvoidcomplexity of violation analysis
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies different quality levels of analysis to different violations based on their observability and criticality. High-priority violations receive comprehensive automated forward debugging and path analysis, while lower-priority violations are filtered or given minimal analysis. This local differentiation maintains reliability for critical issues while reducing overall analysis complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the analysis depth and scope parameters based on violation characteristics. For violations with high observability scores, the system performs deep automated path analysis; for others, it applies lighter filtering. This adaptive parameter adjustment maintains detection completeness while managing analysis complexity.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If manual debugging is performed to thoroughly analyze violations, then accurate root cause identification is achieved, but excessive time and user effort are required

Engineering Contradiction:
Improveaccuracy of root cause identificationVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary automated actions before user intervention: generating execution paths, analyzing violation contexts, and pre-processing debugging information. This preliminary automated analysis reduces the time users need to spend on manual debugging while maintaining accurate root cause identification through the structured path analysis framework.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The debugging system provides self-service capabilities by automatically generating and analyzing execution paths without requiring user intervention for each step. The automated engine independently explores violation causes, generates hypotheses, and validates them through path analysis, significantly reducing the time users would otherwise spend on repetitive manual debugging tasks.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10769333B1System, method, and computer program product for debugging one or more observable failures in a formal verification
Publication Date: 2020.09.08 CADENCE DESIGN SYST INC
  • US10769333B1 patent drawing
  • US10769333B1 patent drawing
  • US10769333B1 patent drawing

AI summary

The present disclosure relates to a method for electronic design verification. Embodiments may include providing, using a processor, an electronic design and determining one or more design violations based upon, at least in part, a structural observability filter. Embodiments may also include generating a violation trace based upon, at least in part, the one or more design violations and displaying the violation trace at a graphical user interface configured to allow a user to debug the one or more design violations. Embodiments may further include allowing the user to select at least one path to be waived at the graphical user interface and generating a new violation trace without the at least one path to be waived.