Clock-Domain Data Synchronization Using Reset-Timed Sampling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data synchronization in systems with multiple clock and reset domains is challenging due to metastability conditions arising from asynchronous clock and reset domain crossings, leading to potential data incoherence and system failures.
Innovation Solution
Implementing data synchronization units that utilize flip-flops and logic gates to synchronize data across clock domains by using a destination reset signal to reset data from the source domain and synchronizing sampling with the source reset signal, ensuring that the reset value arrives before a metastable value, thereby preventing metastability and maintaining data coherence.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional two flip-flop synchronizer is used for clock domain crossing, then data transfer between clock domains is enabled, but metastability conditions occur leading to data incoherence
Solution Approach 1:
The data synchronization process is segmented into multiple independent stages: source domain sampling, destination domain sampling, and reset signal synchronization. Each stage is handled by dedicated flip-flops and logic gates, allowing metastability to be contained and managed in discrete segments rather than propagating through the entire data path.
Solution Approach 2:
The reset signal is synchronized in advance before data sampling occurs. By pre-synchronizing the reset signal through destination domain flip-flops, the system ensures that reset operations are performed at known, stable timing points in the destination clock domain, preventing metastability during critical reset operations.
2Reliability
If multiple flip-flop synchronizer is used to allow more settling time, then metastability settling is improved, but cycle uncertainty increases requiring additional clock cycles
Solution Approach 1:
The reset signal acts as an intermediary that coordinates the timing between source and destination domains. By using the synchronized reset signal to control when sampling occurs, the system achieves reliable metastability settling without requiring excessive clock cycles, as the reset signal provides a clear timing reference for when data is stable.
3Adaptability or versatility
If asynchronous clock domain crossing is implemented, then system versatility is improved, but metastability conditions arise from clock and reset domain crossings
Solution Approach 1:
The system uses feedback from the synchronized reset signal to control the sampling timing in both source and destination domains. The reset signal provides feedback about the relative timing between clock domains, allowing the system to adjust sampling operations to avoid metastability while maintaining asynchronous clock domain compatibility.
Data Source
Figure 1~2B
Figure 3
Figure 4
AI summary
A data synchronization unit including first flip-flops (714), operating on a first clock domain (705) and a reset of a second clock domain (707), sampling data (D_SRC) from the first clock domain (705); a second flip-flop (716), operating in the first clock domain (705), sampling a request signal (REQ) when enabled by a request pulse (REQ_PULSE); a request signal path (726) configured to delay the request signal (REQ) by a first delay and to generate an enable signal (ENP) for recirculation multiplexers (722) in accordance with the delayed request signal; a reset signal synchronization path (736) configured to delay the reset signal (RST_B) of the first clock domain (705) by a second delay, wherein the second delay is shorter than the first delay; and multiplexers (734) having first inputs for receiving outputs of the recirculation multiplexers (722), a second input for receiving a reset value (RST B) of a programmable register, the multiplexers (734) being configured to selectively output signals at inputs to outputs.