Asynchronous Clock Domain Data Transfer Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data transfer systems between asynchronous clock domains in System-on-Chips (SoCs) are inefficient due to setup and hold time violations, leading to meta-stability and unreliable data transfer, especially when clock frequencies differ significantly, resulting in wasted CPU cycles and degraded system performance.
Innovation Solution
A system that synchronizes the slave clock signal with the host clock signal, using a synchronizer circuit and a busy signal generator to enable efficient data transfer by eliminating the need for a handshake mechanism, allowing the host device to perform other tasks while the slave device processes requests, thus reducing latency and increasing CPU cycle efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a handshake protocol is used for data transfer between asynchronous clock domains, then data transfer reliability is improved, but system performance and CPU cycle efficiency deteriorate due to stalling and waiting
Solution Approach 1:
The system performs preliminary synchronization of the slave clock signal with the host clock signal before data transfer operations. This advance synchronization eliminates the need for runtime handshake protocols, allowing the host device to continue executing other tasks without stalling, thus maintaining both reliability and performance
Solution Approach 2:
The invention extracts and removes the handshake mechanism from the data transfer process by implementing clock signal synchronization. This eliminates the handshaking overhead and stalling behavior while preserving data transfer reliability between asynchronous clock domains
2Reliability
If two stage or higher stage cascaded synchronizers are used to transfer control signals, then data transfer reliability is improved, but data transfer efficiency deteriorates when clock frequencies differ significantly
Solution Approach 1:
The system performs preliminary synchronization of the slave clock signal with the host clock signal before data transfer operations. This advance synchronization eliminates the need for runtime handshake protocols, allowing the host device to continue executing other tasks without stalling, thus maintaining both reliability and performance
3Reliability
If the host device waits for slave device processing to complete, then data transfer accuracy is improved, but CPU cycle efficiency deteriorates due to wasted waiting time
Solution Approach 1:
The system performs preliminary synchronization of the slave clock signal with the host clock signal before data transfer operations. This advance synchronization eliminates the need for runtime handshake protocols, allowing the host device to continue executing other tasks without stalling, thus maintaining both reliability and performance
Solution Approach 2:
The host device can continue executing other useful tasks while the slave device processes requests, eliminating idle waiting time. The synchronized clock system ensures that data transfer accuracy is maintained without requiring the host to stall, thus eliminating wasted CPU cycles
Data Source
AI summary
A system for transferring data between asynchronous domains in an SOC includes a slave request generation and data latch circuit, a busy signal generator, a positive edge detector, and a cascaded synchronizer. A host device transmits a host request signal and host data to the slave request generation and data latch circuit for execution by a slave device, which operates at a different frequency than the host device. The slave request generation and data latch circuit stores the host data and transmits it to the slave device based on a synchronized slave clock signal. The host device can perform other tasks while the slave device executes the host request.


