Automated Formal Clock Domain Crossing Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional formal verification methods for clock domain crossings in electronic circuits are inadequate, lacking on-the-fly analysis and structural analysis capabilities, operating primarily at the block level, and requiring manual configuration, which is inconvenient and time-consuming, and often fail to verify clock domain crossings effectively due to memory consumption issues.

Innovation Solution

The implementation of automated formal clock domain crossing verification methods that identify and analyze clock domain crossing boundaries, extract relevant device components, synthesize and verify assertions, and perform iterative verification on a larger selection of the device, operating on the fly during the verification procedure, using bit-blasted approaches and formal verification techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional formal verification methods are used, then block-level verification can be performed, but comprehensive clock domain crossing verification is not achieved

Engineering Contradiction:
Improveverification accuracyVSAvoidverification scope
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The verification process is divided into multiple phases: pre-order traversal for identifier generation, in-order traversal for assertion generation, and post-order traversal for verification. This segmentation allows comprehensive clock domain crossing verification to be performed systematically without overwhelming complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to verification by generating assertions that check clock domain crossing conditions at different time points during signal propagation. This adds a new dimension to the verification space, enabling comprehensive coverage beyond traditional block-level verification.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If manual configuration is used, then verification can be performed, but the process is time-consuming and inconvenient

Engineering Contradiction:
Improveverification speedVSAvoidmanual intervention
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The verification system performs self-configuration by automatically generating verification assertions based on the circuit design. The system identifies clock domain crossing boundaries, generates appropriate assertions, and executes verification without requiring manual configuration, thereby improving both productivity and ease of operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis during the design phase to identify clock domain crossing boundaries and generate verification assertions in advance. This preliminary action eliminates the need for manual configuration during the verification phase, significantly reducing time consumption and improving productivity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive device analysis is performed, then thorough verification is achieved, but memory consumption increases

Engineering Contradiction:
Improveverification completenessVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The verification process focuses on local clock domain crossing boundaries rather than analyzing the entire device uniformly. By identifying and verifying only the critical regions where clock domain crossings occur, the system achieves thorough verification of relevant areas while reducing overall memory consumption compared to comprehensive analysis.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs partial verification by generating and checking only the necessary assertions for clock domain crossing boundaries. This selective approach verifies the critical aspects of clock domain crossings without requiring exhaustive analysis of all device components, thereby reducing memory requirements while maintaining verification reliability.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8271918B2Formal verification of clock domain crossings
Publication Date: 2012.09.18 SIEMENS INDUSTRY SOFTWARE INC
  • US8271918B2 patent drawing
  • US8271918B2 patent drawing
  • US8271918B2 patent drawing

AI summary

Methods and apparatus for performing automated formal clock domain crossing verification on a device are detailed. In various implementations of the invention, a device may be analyzed, wherein the clock domain crossing boundaries are identified. Subsequently, a formal clock domain crossing verification method may be applied to the identified clock domain crossing boundaries, resulting in clock domain crossing assertions being identified. After which the identified assertions may be promoted for post clock domain crossing analysis. With various implementations of the invention, a formal clock domain crossing method is provided, wherein the device components near an identified clock domain crossing are extracted. Assertions may then be synthesized and verified based upon the extracted components. Various implementations of the invention provide for clock domain crossing verification to be performed iteratively, wherein a larger and larger selection of the device is extracted during formal verification. Additionally, various implementations of the present invention provide that the clock domain crossing verification operate on the fly during a device verification procedure. With further implementations, a bit-blasted approach to clock domain crossing verification may be provided during formal verification.