Binary-to-Gray Pointer Circuit for Burst FIFO Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In FIFO memory systems with multiple clock domains, burst mode operations lead to errors in synchronization due to non-unitary Hamming distance changes in Gray encoded pointers, causing glitches and inconsistencies during data transfer across clock domains.
Innovation Solution
A Binary-to-Gray conversion circuit is implemented within the control circuit of the FIFO memory, which receives binary write or read pointers and generates Gray encoded equivalents, ensuring only single-bit changes during pointer increments, thus maintaining unitary Hamming distance and reducing errors. This circuit includes a prediction mechanism to pre-calculate binary candidate values with a Hamming distance of one from the current Gray value, selecting the closest binary equivalent to the target pointer value.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If burst mode operations are implemented in FIFO memory, then productivity increases due to writing or reading multiple memory locations in a single clock cycle, but reliability deteriorates because the Hamming distance between consecutive Gray encoded pointers becomes greater than one, causing synchronization errors
Solution Approach 1:
The patent applies preliminary action by pre-calculating intermediate binary pointer values that will produce unitary Hamming distance in their Gray encoded forms. Before performing a burst write operation that would jump multiple memory locations, the circuit computes a sequence of intermediate pointer values, each differing by exactly one bit in Gray encoding. This pre-computation ensures that even during burst mode operations, the Gray encoded pointers transition through states with Hamming distance of one, preventing synchronization errors while maintaining high productivity.
2Device complexity
If conventional Gray encoding is used with burst mode operations, then area efficiency improves compared to complex synchronization circuits, but manufacturing precision deteriorates due to errors in pointer synchronization
Solution Approach 1:
The patent applies parameter changes by modifying the pointer value parameter before Gray encoding. Instead of directly Gray-encoding the target pointer value obtained from burst mode operations, the circuit transforms the pointer parameter into a sequence of intermediate values that satisfy the unitary Hamming distance requirement. This parameter transformation maintains the simplicity and area efficiency of conventional Gray encoding while achieving the precision needed for accurate pointer synchronization during burst operations.
3Ease of operation
If binary pointers are directly Gray encoded without intermediate calculations, then ease of operation improves, but reliability deteriorates during burst mode due to multi-bit changes in Gray code
Solution Approach 1:
The patent applies segmentation by dividing a single large pointer jump operation into multiple smaller incremental steps. Instead of transitioning directly from one pointer value to another distant value in burst mode, the circuit segments the transition into a sequence of intermediate pointer values. Each segment corresponds to a pointer increment that produces exactly one bit change in Gray encoding. This segmentation maintains the ease of operation by keeping each individual encoding step simple while ensuring reliability through consistent unitary Hamming distance transitions throughout the burst operation.
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A Binary-to-Gray conversion circuit (240b is described. The Binary-to-Gray conversion circuit (240b) comprises: - an input configured to receive a first binary signal (PTR_target), - a register (61) configured to store a second binary signal (PTRf), - a prediction circuit (62) configured to receive at input said second binary signal (PTRf) and provide at output a set of binary candidate values (63a-63c), wherein the respective Gray equivalent of each binary candidate value (63a-63c) has a Hamming distance of one from the Gray equivalent of said second binary signal (PTRf), - an arbiter (66) configured to select one of said binary candidate values (63a-63c) as a function of said first binary signal (PTR_target) and said second binary signal (PTRf), wherein the selected binary candidate value is provided at input to said register (61); - an encoder block (68) configured to receive the selected binary candidate value and output the Gray encoded equivalent (PTR_gray) of the selected binary candidate value.