Structural Observability Filter for Formal Verification Debugging
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


