Circuit Design Behavioral Indexing for Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity of electronic circuits makes it difficult to verify design changes incrementally, leading to unintended side-effects and high costs in uncovering design bugs, with existing solutions like directed testing and formal assertion-based verification being non-trivial and inefficient.
Innovation Solution
A system that generates waveforms for circuit designs, allowing designers to tag and index behaviors, which are stored with textual descriptions, enabling dynamic updates and improved communication, analysis, and comprehension of circuit behaviors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If circuit designs are built incrementally, then productivity is improved, but design verification becomes difficult and bugs are hard to detect
Solution Approach 1:
The system automatically generates waveforms from the circuit design and uses them to extract and update behavior descriptions in real-time, creating a feedback loop that continuously verifies design changes. This allows incremental design updates to be automatically checked against expected behaviors, maintaining verification quality while preserving productivity benefits.
Solution Approach 2:
The system enables self-verification by automatically extracting behavior descriptions from waveforms generated by the circuit design itself, without requiring external directed testing or formal assertion methods. The design essentially verifies itself through automated waveform analysis and behavior extraction.
2Loss of information
If static textual descriptions are used to document circuit behaviors, then communication is improved, but the descriptions become outdated when design changes occur
Solution Approach 1:
The system transforms static textual descriptions into dynamic, automatically updating behavior descriptions. When the circuit design changes, the system automatically generates new waveforms and extracts updated behavior descriptions, ensuring documentation always reflects the current design state without manual intervention.
Solution Approach 2:
The system performs preliminary extraction of behavior descriptions from waveforms and stores them in a data store before design changes occur. When changes are made, the updated behaviors are automatically extracted and stored, proactively maintaining current documentation rather than reacting to outdated information.
3Reliability
If directed testing is used for verification, then design quality is improved, but the effort required is non-trivial and results are not persistent
Solution Approach 1:
The system eliminates the need for external directed testing expertise by enabling the circuit design to self-verify through automated waveform generation and behavior extraction. The verification process becomes self-service, requiring no specialized testing knowledge while maintaining high verification quality through automated comparison of actual vs. expected behaviors.
Solution Approach 2:
Instead of discarding verification results after each testing session, the system recovers and persists behavior descriptions in a data store, automatically updating them when design changes occur. This creates persistent verification knowledge that accumulates over time rather than being lost with each testing cycle.
4Reliability
If formal assertion based verification is used, then design verification is improved, but deployment is difficult due to lack of designer knowledge
Solution Approach 1:
The system replaces complex formal assertion-based verification mechanisms with automated waveform analysis and behavior extraction. Instead of requiring designers to write and deploy formal assertions, the system automatically generates waveforms and extracts behavior descriptions, substituting expert knowledge requirements with automated processing that any designer can use.
Data Source
AI summary
An executable circuit design is used to generate waveforms, from which behaviors of the circuit are captured. The behaviors and various combinations thereof can then be saved in a database, along with descriptions and other metadata about them, thereby generating a behavioral index of the circuit design code. Behavioral indexing of circuit designs allows a user to maintain an indexed behavior database, track changes in behaviors as the circuit design's executable description evolves, and figure out how the executable description can be reused in different projects. When applied to digital design development, it facilities the current design and verification effort, as well as design reuse down the line.


