Shadow Module Structural Coverage Formal Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedesign correctnessVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecoverage accuracyVSAvoiddesign complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveverification automationVSAvoidbug detection capability
Core Design Contradiction:
Extent of automationVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If formal verification tools are used to explore state space, then verification thoroughness is improved, but computational complexity and resource requirements worsen

Engineering Contradiction:
Improveverification thoroughnessVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7415684B2Facilitating structural coverage of a design during design verification
Publication Date: 2008.08.19 SYNOPSYS INC
  • US7415684B2 patent drawing
  • US7415684B2 patent drawing
  • US7415684B2 patent drawing

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.