Automated Overconstrained Input Detection in Formal Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Circuit designers face challenges in manually determining whether inputs applied during formal verification are overconstrained, leading to potential undetected errors in circuit design, as the process is prone to human error and lacks certainty.
Innovation Solution
A verification tool is used to establish properties for the environment circuit based on potential constraint sets, applying environmental inputs to determine if the outputs violate these properties, thereby identifying overconstrained inputs automatically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual constraint verification is performed by circuit designers, then the process is simple and quick, but human error leads to undetected overconstrained inputs and potential design errors
Solution Approach 1:
The verification tool automatically performs constraint verification by itself without requiring manual intervention from circuit designers. The tool establishes properties for the environment circuit, applies environmental inputs, and detects overconstrained inputs through automated property violation detection, making the system self- verifying.
Solution Approach 2:
The manual mechanical process of constraint verification by human designers is replaced with an automated computational verification tool that uses formal methods and property-based verification to detect overconstrained inputs, eliminating human error while maintaining verification capability.
2Reliability
If automated verification tool is used to detect overconstrained inputs, then verification accuracy and certainty are improved, but device complexity and time consumption increase
Solution Approach 1:
The verification tool acts as an intermediary between the environment circuit and the CUT, automatically establishing properties and detecting property violations. This intermediary performs the complex verification tasks that would otherwise require manual analysis, managing the complexity while providing certainty.
Solution Approach 2:
The verification tool performs preliminary verification of constraints before formal verification of the CUT. By establishing properties for the environment circuit and detecting overconstrained inputs in advance, the tool prevents wasted verification effort and ensures input validity before main verification proceeds.
3Manufacturing precision
If comprehensive input constraints are applied to CUT during formal verification, then verification thoroughness is improved, but verification time and computational resources increase
Solution Approach 1:
The verification tool performs preliminary analysis to establish properties for the environment circuit before applying constraints to the CUT. This preliminary action identifies overconstrained inputs in advance, allowing the formal verification to proceed efficiently with only valid, non-overconstrained inputs, thus maintaining thoroughness while reducing time.
Solution Approach 2:
Instead of applying all possible constraints to the CUT, the verification tool uses partial action by first establishing properties for the environment circuit and only applying constraints that do not violate these properties. This avoids excessive verification time while maintaining sufficient thoroughness for detecting actual design errors.
Data Source
AI summary
Techniques are disclosed for automatically determining whether a potential constraint set to be applied to a portion of a circuit are overconstrained. An environment circuit supplies inputs to the circuit portion. Embodiments of the invention recognize that if the environment circuit produces a set of outputs that contain a pattern that is not present in the potential constraint set, then the potential constraint set is overconstrained. A verification tool establishes the properties for the environmental circuit based on the potential constraint set. If the verification tool determines that the outputs produced by the environment circuit conflict with the properties of the environment circuit, then the verification tool concludes that the potential constraint set is overconstrained, because the environment circuit produces a pattern that is not present in the potential constraint set. Advantageously, the laborious and error-prone process of manually determining the proper inputs to apply during formal verification is avoided.


