Reduced Latency Clock Domain Crossing Circuit Using Dual Buffer Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional dual-clock SRAM CDC circuits introduce significant latency and face challenges in meeting timing constraints, especially at high frequencies, due to synchronization and handshake mechanisms.
Innovation Solution
A reduced latency CDC circuit is implemented using a single-clock SRAM FIFO buffer and a data flip-flop (DFF) FIFO buffer, allowing data to bypass the SRAM buffer when the DFF buffer is not full, thereby reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional dual-clock SRAM CDC circuits are used to ensure data synchronization between clock domains, then reliability is improved, but latency increases to 5-6 cycles
Solution Approach 1:
The patent segments the CDC circuit into two independent buffers: a dual-clock SRAM buffer for reliable data transfer and a single-clock DFF buffer for low-latency paths. This segmentation allows different data streams to use different buffers based on their latency requirements, resolving the contradiction between reliability and low latency.
Solution Approach 2:
The patent dynamically selects which buffer to use based on the destination clock domain's current state and data characteristics. The system can switch between the reliable dual-clock SRAM path and the fast single-clock DFF path, making the CDC circuit adaptive rather than static, thus achieving both reliability and low latency when needed.
2Reliability
If dual-clock SRAM CDC circuits are used to meet timing requirements, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent divides the CDC functionality into two separate buffer structures with different clocking schemes. The dual-clock SRAM buffer handles timing-critical paths while the single-clock DFF buffer handles less time-sensitive paths, reducing the complexity burden on any single buffer and simplifying the overall control logic.
Solution Approach 2:
The patent introduces a buffer selection mechanism that acts as an intermediary, directing data to the appropriate buffer based on timing requirements. This intermediary layer manages the complexity by providing a unified interface while internally routing to simpler or more complex buffers as needed.
3Reliability
If dual-clock SRAM CDC circuits are used for data transfer, then reliability is improved, but power consumption and area increase
Solution Approach 1:
The patent segments the data transfer paths into two types: high-reliability paths using dual-clock SRAM and low-latency paths using single-clock DFF buffers. By segmenting the traffic, the system can use the power-efficient single-clock path for appropriate data, reducing overall power consumption while maintaining reliability where needed.
Solution Approach 2:
The patent changes the clocking parameter from dual-clock to single-clock for the DFF buffer path, which reduces the dynamic power consumption associated with multiple clock distributions and synchronization logic, while still achieving acceptable reliability for non-critical data paths.
4Reliability
If dual-clock SRAM CDC circuits are used for data transfer, then reliability is improved, but area consumption increases
Solution Approach 1:
The patent segments the CDC functionality into two buffer types with different area characteristics. The dual-clock SRAM buffer provides reliable transfer for essential data while the single-clock DFF buffer provides a compact alternative for less critical data, reducing the total area required compared to using only the larger dual-clock SRAM buffers for all data.
Solution Approach 2:
The patent uses simpler, smaller single-clock DFF buffers for data paths where full dual-clock SRAM reliability is not required. These simpler buffers act as a compact alternative, sacrificing some reliability for significantly reduced area, which is acceptable for non-critical data paths.
Data Source
AI summary
A clock domain crossing (CDC) circuit receives a first data. The CDC circuit includes a first buffer and a second buffer. The first buffer includes a single-clock static random-access memory. The second buffer includes a plurality of data flip-flops. Logic coupled to the first buffer and the second buffer can determine that first buffer is not full at a first time. Responsive to the determination that the second buffer is not full at the first time, the processing logic can bypass the first buffer to write the first data to the second buffer according to the first clock domain. The processing logic can provide the first data as output from the second buffer according to the second clock domain.


