FIFO Clock-Domain Synchronization Using Heads-Up Signals

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data transfers across different clock domains in processors often result in meta-stability errors and increased latency due to the need for additional circuitry like meta-stability circuits and buffer entries to manage control signal delays.

Innovation Solution

Implementing a system that uses a phase-locked loop (PLL) to generate clock signals with multiple phases, and a controller to determine the phase relationship between clock domains, generating heads-up signals to synchronize data transfers with reduced latency by adjusting clock signals and using a FIFO buffer to manage data between memory and data fabric operations in different clock domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If meta-stability circuits are included between clock domains to address meta-stability errors, then reliability is improved, but device complexity and latency increase

Engineering Contradiction:
Improvemeta-stability error preventionVSAvoidcircuitry requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by generating heads-up indications before data actually arrives at the FIFO buffer. The indication signal is sent in advance to notify the receiving clock domain of upcoming data transfer, allowing the system to prepare synchronization resources beforehand. This is implemented through a control logic that monitors the source clock domain and sends advance notification to the destination clock domain, enabling proactive synchronization setup rather than reactive meta-stability circuit intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a control logic unit that acts as a mediator between source and destination clock domains. This control logic generates and transmits heads-up indications that coordinate data transfer timing across clock domain boundaries. The intermediary control logic manages the synchronization protocol without requiring complex meta-stability circuits in the data path, thereby reducing device complexity while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If meta-stability circuits are included between clock domains to address meta-stability errors, then reliability is improved, but latency increases

Engineering Contradiction:
Improvemeta-stability error preventionVSAvoiddata transfer latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The heads-up indication mechanism performs preliminary action by notifying the destination clock domain in advance of incoming data. This advance notification allows the receiving domain to prepare its sampling clock and buffer resources beforehand, eliminating the need for multi-cycle synchronization delays typically required by meta-stability circuits. The data transfer can proceed with minimal latency because the receiving domain is already prepared when the data arrives.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies the skipping principle by rushing through the synchronization preparation phase using advance heads-up indications. Instead of slowly progressing through multiple synchronization stages required by traditional meta-stability circuits, the system uses the head-up signal to quickly establish synchronization parameters and proceed directly to data transfer. This rushes the synchronization process completion, minimizing the time data spends in transit between clock domains.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Reliability

If buffer entries are added to manage control signal delays, then reliability is improved, but device complexity and area increase

Engineering Contradiction:
Improvecontrol signal synchronizationVSAvoidbuffer memory requirements
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The heads-up indication mechanism performs preliminary notification of upcoming data transfers, allowing the system to dynamically allocate and prepare minimal buffer resources in advance. Rather than provisioning large static buffers to handle all possible synchronization scenarios, the system uses the head-up signal to activate only the necessary buffer entries when needed, reducing overall buffer memory requirements while maintaining control signal synchronization reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies dynamics by making buffer resource allocation dynamic rather than static. The control logic monitors incoming heads-up indications and dynamically activates buffer entries based on actual data transfer timing requirements. This dynamic allocation allows the system to use minimal buffer resources at any given time while still handling variable synchronization delays, reducing the total buffer memory area required compared to static buffer provisioning.

Inventive Principle:
Principle #15Dynamics

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach reduces latency in data transfers by providing early indications of data arrival, ensuring efficient data packet transfer across clock domain boundaries without introducing additional latency, thereby improving overall system performance.

Implementation Method 1

In many implementations, efficient transfer of data packets may require an early indication of when the data is going to arrive. Generation of these early indications of the data packet are particularly difficult when this data needs to cross a clock domain boundary without introducing additional latency. In some implementations, a processor includes a first-in-first-out buffer (FIFO) having multiple entries to store data transferred between a memory and a data fabric operating in different clock domains. In some examples, clock signals of the different clock domains are generated using a phase-locked loop (PLL) having multiple phases.

Methodology Applied
Scientific EffectPhase-locked loop:

Data Source

PatentUS11967960B2Methods and apparatus for synchronizing data transfers across clock domains using heads-up indications
Publication Date: 2024.04.23 ADVANCED MICRO DEVICES INC
  • US11967960B2 patent drawing
  • US11967960B2 patent drawing
  • US11967960B2 patent drawing

AI summary

Methods and apparatus for synchronizing data transfers across clock domains for using heads-up indications. An integrated circuit includes a first-in first-out buffer (FIFO); a memory controller configured to operate in a first clock domain and coupled to the FIFO, the first clock domain associated with a first clock signal; a data fabric configured to operate in a second clock domain and coupled to the FIFO, the second clock domain associated with a second clock signal, a second frequency of the second clock signal being different from a first frequency of the first clock signal; and a controller coupled to the FIFO. In some instances, the controller determines a phase relationship between the first clock signal and the second clock signal; monitors one or more first clock edges of the first clock signal and one or more second clock edges of the second clock signal; and sends a first heads-up signal to the memory controller.