Metastability Verification for Integrated Circuit Clock Domain Crossings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for verifying synchronization in integrated circuits face challenges such as high false violations, missing real design bugs, and hard-to-debug issues due to superficial structural analysis, particularly in complex designs with multiple clock domains and varying synchronization structures.

Innovation Solution

A comprehensive method that combines structural and functional analysis to verify synchronization, using graph algorithms to identify synchronized and unsynchronized source-to-destination paths, ensuring data stability and glitch prevention across clock domains, and generating reports on synchronization status for each source.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If superficial structural analysis is used to verify synchronization, then verification speed is improved, but false violations increase and real design bugs are missed

Engineering Contradiction:
Improveverification speedVSAvoidverification accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The verification method segments the analysis into multiple hierarchical levels: (1) structural analysis to identify candidate synchronization elements, (2) functional analysis to verify actual synchronization behavior, and (3) event-driven analysis to trace signal transitions. This segmentation allows the system to quickly filter candidates structurally while applying more rigorous functional verification only where needed, thus maintaining speed while improving accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The method performs preliminary structural analysis to identify potential synchronization elements and candidate paths before conducting functional verification. By pre-processing the design to locate relevant synchronization structures (such as synchronizers, handshaking circuits, and FIFOs), the system narrows down the verification scope, enabling faster subsequent functional analysis while ensuring comprehensive coverage of critical paths.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive functional analysis is performed on all clock domain crossings, then verification accuracy is improved, but runtime and memory requirements increase significantly

Engineering Contradiction:
Improveverification accuracyVSAvoidverification runtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The verification system applies different analysis depths to different regions of the design based on their synchronization characteristics. Critical clock domain crossings with complex synchronization mechanisms receive full functional analysis, while simple crossings use streamlined verification. The system locally adapts the verification strategy to match the complexity of each synchronization point, optimizing the balance between accuracy and runtime.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The method performs partial functional analysis by focusing verification efforts on critical paths and high-risk synchronization points rather than exhaustively analyzing every clock domain crossing. By identifying and prioritizing verification of paths that are most likely to contain design bugs or metastability issues, the system achieves sufficient verification accuracy with reduced runtime and resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If comprehensive functional analysis is performed on all clock domain crossings, then verification accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveverification accuracyVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification system is segmented into modular components: a structural analysis module, a functional analysis module, an event-driven analysis module, and a reporting module. Each module handles specific aspects of verification independently, allowing the system to achieve comprehensive functional analysis through coordinated operation of simpler, specialized subsystems rather than a single complex monolithic verifier.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces intermediary data structures and abstraction layers that bridge structural and functional analysis. Intermediate representations of clock domain crossings, synchronization paths, and event sequences allow different analysis modules to exchange information efficiently without requiring direct complex interactions, thus managing system complexity while maintaining verification accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If heuristic reports are generated to filter violations, then ease of operation is improved, but real design bugs are masked

Engineering Contradiction:
Improvereport usabilityVSAvoidbug detection completeness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The reporting system dynamically adjusts parameters such as verification depth, analysis granularity, and filtering criteria based on design characteristics and user preferences. By changing verification parameters adaptively, the system generates reports that highlight critical issues without overly aggressive filtering that could mask real bugs, while still improving usability through intelligent prioritization of findings.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The verification system incorporates feedback mechanisms where analysis results from one pass inform subsequent verification passes. Real design bugs identified in initial analysis trigger more focused functional verification in subsequent passes, while false violations are learned from and filtered in future runs. This feedback loop improves both bug detection completeness and report usability over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8856706B2System and method for metastability verification of circuits of an integrated circuit
Publication Date: 2014.10.07 SYNOPSYS INC
  • US8856706B2 patent drawing
  • US8856706B2 patent drawing
  • US8856706B2 patent drawing

AI summary

A system and methods for metastability verification of an integrated circuit design are provided. An IC design is received and the source-to-destination paths of the IC design are determined. For each of the determined source-to-destination paths, it is determined whether the corresponding source is synchronized. For each source its respective synchronized or unsynchronized result is stored and a report is generated for each source describing whether it is synchronized or unsynchronized. The system may be at least a portion of a computer aided design (CAD) system.