Shadow Module Structural Coverage Formal Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current design verification techniques face challenges in scaling with increasing complexity, as they require extensive manual effort and often modify the hardware description, leading to inefficiencies and incomplete bug detection due to the non-linear nature of state machines and lack of integration with formal verification methods.
Innovation Solution
A method and system that create a shadow module with parallel structures to achieve structural coverage, using formal verification tools like model checkers to analyze the design without modifying the original hardware description, leveraging techniques such as Boolean satisfiability and symbolic methods to ensure comprehensive coverage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual assertion-based verification is used to ensure design correctness, then design reliability is improved, but verification time and human effort increase exponentially
Solution Approach 1:
The patent creates a shadow module that is a copy of the original hardware description module. This shadow module contains instrumentation code that tracks execution of coverage targets without modifying the original design. The copy enables automated formal verification while preserving the original design integrity and avoiding manual assertion placement.
Solution Approach 2:
The shadow module acts as an intermediary between the original hardware description and the formal verification tool. It captures control flow and coverage information, then provides this data to the formal verification engine, enabling automated verification without direct modification of the original design.
2Manufacturing precision
If the hardware description is modified to include assertions for verification, then design coverage is improved, but design integrity and complexity are worsened
Solution Approach 1:
Instead of modifying the original hardware description with assertions, the patent creates a separate shadow module that is a copy of the original module. This shadow module contains all necessary instrumentation for tracking coverage targets, thereby preserving the original design's integrity while enabling comprehensive verification.
Solution Approach 2:
The verification functionality is segmented into a separate shadow module that is distinct from the original hardware description. This segmentation allows the original design to remain unchanged while the shadow module handles all verification-related instrumentation and tracking.
3Extent of automation
If random simulation techniques are used to achieve coverage, then verification automation is improved, but coverage completeness and bug detection are worsened
Solution Approach 1:
The patent performs preliminary action by extracting the control flow graph and identifying coverage targets before formal verification begins. This preparation enables the formal verification tool to systematically explore the state space and achieve comprehensive coverage of specified targets, rather than relying on random simulation.
Solution Approach 2:
The patent replaces random simulation mechanics with formal verification mechanics. Instead of using random input patterns and statistical coverage measurement, the system uses formal methods to systematically explore the state space and prove coverage of specified targets, providing deterministic and complete verification.
4Reliability
If formal verification tools are used to explore state space, then verification thoroughness is improved, but computational complexity and resource requirements worsen
Solution Approach 1:
The patent extracts only the control flow and coverage target information from the full hardware description, creating a simplified shadow module. This extraction reduces the computational complexity of formal verification by focusing only on the essential control flow paths and coverage targets, rather than analyzing the entire design.
Solution Approach 2:
The verification process is segmented into discrete coverage targets that are independently specified and verified. This segmentation allows the formal verification tool to focus on specific portions of the design, reducing the overall computational complexity compared to verifying the entire state space at once.
Data Source
AI summary
One embodiment of the present invention provides a method and a system that facilitates structural coverage of a design during a design verification process. During operation, the system receives a hardware description of the design, which contains one or more module instances and a set of structural coverage targets for a set of structures in the design. The system then extracts a control flow, the set of structural coverage targets, and a set of structural coverage metrics for the hardware description, and creates a shadow module with the same control flow as the hardware description. This shadow module contains a set of parallel structures that correspond to the set of structural coverage targets in the control flow of the hardware description and serve as targets for formal methods used to analyze the design. The system also generates a set of cross-module references to link the set of parallel structures in the shadow module with signals from the set of structures in the hardware description. The system then applies a formal verification tool to the design, including the shadow module and the cross-module references in an attempt to achieve the desired structural coverage.


