Trace Core Clustering for Formal Verification Debugging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Formal verification in electronic design debugging is hindered by the complexity of constraints and the difficulty in identifying the root cause of contradictions, leading to inefficient debugging processes, especially for inexperienced users and complex systems.
Innovation Solution
A computer-implemented method that uses unsupervised machine learning to generate trace cores for counter-examples and cover-traces, clustering similar trace cores to identify common root causes, such as missing constraints, and displaying these clusters to users for guided debugging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If formal verification is performed on complex electronic designs with multiple constraints, then verification completeness is improved, but debugging difficulty increases
Solution Approach 1:
The patent segments the complex verification problem by dividing counter-examples into clusters based on similarity metrics. Each cluster represents a group of counter-examples with common root causes, allowing the debugging process to be broken down into manageable segments rather than analyzing each counter-example individually.
Solution Approach 2:
The patent introduces an intermediary clustering mechanism that acts as a mediator between the formal verification engine and the user. This intermediary automatically analyzes counter-examples, identifies similarities, and presents clustered results, reducing the direct complexity burden on the user while maintaining verification completeness.
2Measurement precision
If manual analysis of each counter-example is performed to identify root causes, then debugging precision is improved, but productivity decreases
Solution Approach 1:
Instead of requiring complete manual analysis of every counter-example, the patent applies partial automation by clustering counter-examples based on key features. This partial action approach maintains sufficient debugging precision by grouping similar cases while significantly improving productivity by reducing the number of individual analyses required.
Solution Approach 2:
The patent creates simplified copies or representations of counter-examples in the form of clustered groups. Each cluster serves as a representative copy that captures the essential characteristics and root causes of multiple individual counter-examples, allowing users to analyze one cluster instead of numerous individual cases while maintaining debugging precision.
3Productivity
If clustering is applied to group similar counter-examples, then productivity is improved, but analysis complexity increases
Solution Approach 1:
The clustering process segments the analysis complexity by organizing counter-examples into distinct groups with clear boundaries. Each cluster represents a segmented portion of the overall problem space, making the analysis more manageable while improving productivity through reduced repetition.
Solution Approach 2:
The clustering mechanism serves multiple functions simultaneously: it groups counter-examples by similarity, identifies common root causes, reduces the number of individual analyses needed, and provides a structured overview of verification failures. This multi-functionality improves productivity without proportionally increasing analysis complexity.
Data Source
AI summary
The present disclosure relates to a method for debugging associated with formal verification of an electronic design. Embodiments may include performing, using a processor, an initial formal verification of an electronic design. Embodiments may further include identifying one or more counter-examples associated with one or more assertion properties of the electronic design or identifying one or more cover-traces associated with one or more cover properties of the electronic design. Embodiments may further include generating a trace core for each of the one or more counter-examples or cover-traces, wherein each trace core includes a minimal representation of the counter-example or cover-trace. Embodiments may further include identifying a similarity between a plurality of the trace cores and clustering the plurality of trace cores having the similarity.


