Glitch Detection at Clock Domain Crossing via Static Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for functional verification of electronic circuit designs, particularly in complex systems with multiple clock domains, often fail to detect glitches at clock domain crossings due to asynchronous signal paths and the error-prone nature of manual inspection, leading to potential logic failures.

Innovation Solution

A design verification tool performs static checks on clock domain crossings to identify combinational logic configurations prone to generating glitches by analyzing signal paths and generating a glitch expression based on input and inverted input signals, using a computing system to determine conditions that allow glitch detection and validation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual inspection is used to identify combinational logic capable of inducing glitches, then verification accuracy can be improved, but the process becomes error-prone and time-consuming

Engineering Contradiction:
Improveverification accuracyVSAvoidinspection efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The verification tool automatically performs static checks and generates glitch expressions without requiring manual inspection by verification engineers. The system serves itself by autonomously analyzing clock domain crossings, identifying combinational logic, and detecting potential glitches through automated static analysis techniques.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical inspection process with an automated computational system. Instead of verification engineers manually examining circuit designs, a computing system implementing a verification tool performs static checks, analyzes signal paths, and generates glitch expressions automatically, substituting human manual labor with machine-based automated verification.

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

2Measurement precision

If simulators sample signal paths at clock domain crossings, then glitch detection capability is improved, but the asynchronous nature of signal paths makes accurate sampling difficult

Engineering Contradiction:
Improveglitch detection capabilityVSAvoidsampling difficulty
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The verification tool performs static checks on the circuit design before simulation to pre-identify clock domain crossings that contain combinational logic in their paths. By performing this analysis in advance, the system prepares glitch expressions that can be evaluated during simulation without requiring complex real-time sampling of asynchronous signal paths.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces glitch expressions as an intermediary mechanism between the circuit design and the simulation process. Instead of directly sampling asynchronous signal paths at clock domain crossings, the verification tool generates glitch expressions that represent potential glitch conditions, which then serve as intermediaries to guide and simplify the simulation sampling process.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If static checks flag every clock domain crossing for manual inspection, then comprehensive coverage is improved, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improvedetection coverageVSAvoidinspection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The verification tool extracts and analyzes only the specific portions of clock domain crossings that contain combinational logic capable of inducing glitches. Instead of requiring manual inspection of every clock domain crossing, the system automatically identifies and extracts the relevant combinational logic paths, generating glitch expressions only for those specific locations that pose potential risks.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter of analysis from examining all clock domain crossings to specifically targeting those with combinational logic. The verification tool uses static analysis to determine which clock domain crossings have the potential to generate glitches based on the presence of combinational logic, thereby changing the scope and focus of the verification process to improve efficiency while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10635767B2Glitch detection at clock domain crossing
Publication Date: 2020.04.28 SIEMENS INDUSTRY SOFTWARE INC
  • US10635767B2 patent drawing
  • US10635767B2 patent drawing
  • US10635767B2 patent drawing

AI summary

This application discloses a computing system to perform one or more static checks on clock domain crossings in a circuit design to detect combinational logic configured to generate output signals having glitches that cross clock domains in a circuit design. The computing system can identify the combinational logic is configured to generate the output signal based, at least in part, on an input signal and an inversion of the input signal. The computing system can identify conditions that, when satisfied, allow the combinational logic to generate the output signal based, at least in part, on the input signal and the inversion of the input signal, and generate a glitch expression based, at least in part, on the identified conditions. The computing system can determine the combinational logic is configured to generate at least one glitch in the output signal based, at least in part, on the glitch expression.