Automated Circuit Property Generation from Simulation Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The manual creation of properties for circuit designs is tedious, error-prone, and requires frequent updates as the design changes, necessitating a more efficient method for generating and verifying circuit properties.
Innovation Solution
An analysis tool automatically generates properties from simulation data by identifying features, control signals, and critical expressions within the circuit design, reducing the complexity of manual property creation and improving consistency with design changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual property creation is used, then properties can be customized based on designer knowledge, but the process is tedious and error-prone
Solution Approach 1:
The system enables self-service by automatically generating properties from simulation data without requiring manual intervention. The property generation engine extracts behaviors from simulation traces and automatically formulates properties, allowing the verification process to serve itself rather than relying on continuous designer input.
Solution Approach 2:
The manual mechanical process of property creation is replaced with an automated computational system. The property generation engine uses algorithms to analyze simulation data and generate properties programmatically, substituting the manual cognitive and writing process with automated software execution.
2Adaptability or versatility
If manual property creation is used, then properties can be tailored to specific designs, but frequent updates are required when designs change
Solution Approach 1:
The property generation system is dynamic and adapts automatically when designs change. When new simulation data is provided reflecting design modifications, the engine re-analyzes the data and generates updated properties without requiring manual rewrites, making the system flexible and responsive to design evolution.
Solution Approach 2:
The system performs preliminary analysis of simulation data to anticipate required properties before formal verification begins. By pre-generating properties from behavioral data, the system prepares verification assets in advance, reducing the need for reactive updates when designs change.
3Reliability
If comprehensive property coverage is pursued, then verification thoroughness increases, but the number of properties becomes unmanageably large
Solution Approach 1:
The system extracts only the most relevant and non-redundant properties from the comprehensive set of possible behaviors. The property generation engine identifies unique behavioral patterns in simulation data and formulates properties that capture essential verification requirements while eliminating duplicates and unnecessary complexity.
Solution Approach 2:
Rather than attempting to verify every possible behavior exhaustively, the system applies partial action by selecting representative properties that cover critical design aspects. This approach achieves sufficient verification coverage without the excessive complexity of complete behavioral enumeration.
Data Source
AI summary
An analysis tool that generates properties for a circuit design. The debugging tool receives a circuit design encoded in a hardware description language. The tool identifies portions of the circuit design that correspond to features of interest (e.g., counters, finite state machines, one hot vectors, etc) in the circuit design. Each portion of the circuit design has a cone of influence, and the tool identifies control signals from within the cones of influence. By identifying control signals in this manner, the tool can then generate the properties based on values for the control signals and the identified portions of the circuit design that are obtained from data describing the operation of the circuit design over a number of clock cycles (e.g., simulation data). The result is one or more properties that are likely to represent a relevant behavior of the circuit design.


