Clock Domain Synchronization Using Edge-Detected Data Capture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with multiple functional blocks operating at different clock frequencies, data transfer between clock domains often results in errors due to asynchronous data capture, leading to metastable states and erroneous logic values, especially when applying existing synchronization techniques to entire data buses proves complex and performance-reducing.

Innovation Solution

A method and apparatus utilizing a synchronizer circuit with multiple flip-flop circuits to synchronize data transfers between clock domains, including a first flip-flop configured to sample data based on a first clock signal, a synchronizer circuit to synchronize the first clock signal to a second clock signal, and an edge detection circuit to capture data upon detecting the edge of the first clock signal, effectively handling data bus synchronization across entire data busses while maintaining system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional synchronization units are used to transfer data between clock domains, then data transfer accuracy is improved, but device complexity and performance increase when applying to entire data buses

Engineering Contradiction:
Improvedata transfer accuracyVSAvoidsynchronization unit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The data bus is segmented into multiple independent data groups, each processed by separate synchronization paths. This allows parallel handling of multiple data elements without requiring a single complex synchronization unit for the entire bus, reducing overall device complexity while maintaining data transfer accuracy across all segments

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies synchronization only to critical data elements or uses partial synchronization strategies where full bus synchronization is not required. By synchronizing only when necessary or for specific data groups, the system achieves adequate reliability without the performance penalty of complete bus-wide synchronization

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If synchronization is applied to entire data buses, then data transfer reliability is improved, but system performance deteriorates

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The data bus is divided into multiple independent data groups that can be processed in parallel. This segmentation enables simultaneous synchronization of multiple data elements, maintaining high reliability while improving overall system performance through parallel processing rather than sequential bus-wide synchronization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Data groups are prepared and organized in advance before synchronization is needed. By pre-processing and organizing data into ready-to-synchronize groups, the system reduces the actual synchronization time and maintains high throughput, achieving both reliability and performance

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9438256B2Slow to fast clock synchronization
Publication Date: 2016.09.06 APPLE INC
  • US9438256B2 patent drawing
  • US9438256B2 patent drawing
  • US9438256B2 patent drawing

AI summary

A method and apparatus for synchronizing data transfers from a first clock domain to a second clock domain includes sampling data from circuit included in the first clock domain. The clock signal from the first clock domain may then be synchronized to a clock signal from the second clock domain. The sampled data may then be captured using the clock signal from the second clock domain responsive to a detection of an edge of the synchronized first clock signal.