Serializer Stage Parity Checking Across Clock Domains
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing serializing and deserializing stages in integrated circuits face challenges in real-time error detection and correction during data transmission, particularly in ensuring parity consistency across different clock domains and bit widths, which can lead to undetected errors and hardware failures.
Innovation Solution
The implementation of serializing and deserializing stages that time-multiplex sub-words with error detection codes, such as parity, and selectively replace data bits with error detecting code values to detect errors by synchronizing different clock domains and using multiplexors to output data streams with real-time parity checks, enabling error detection across varying bit widths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If serializing and deserializing stages are used to transmit data between different clock domains and bit widths, then data transmission capability is improved, but error detection capability deteriorates due to parity inconsistency
Solution Approach 1:
The patent applies preliminary action by inserting error detection codes (such as parity bits) into the data stream before serialization occurs. The EDC insertion circuit calculates and inserts error detection codes for each sub-word before the sub-words are time-multiplexed into the serialized data stream. This allows error detection to be performed on the serialized data without requiring additional complex circuitry, resolving the contradiction between maintaining data transmission capability and ensuring error detection capability across different clock domains and bit widths.
2Measurement precision
If error detection codes are inserted into each sub-word, then error detection precision is improved, but device complexity increases due to additional circuitry
Solution Approach 1:
The patent merges the error detection code insertion function with the existing serialization infrastructure. The EDC insertion circuit is integrated into the serialization path, and the same time-multiplexing mechanism used for data serialization is also used to transmit the error detection codes. This combining approach allows error detection precision to be improved without proportionally increasing device complexity, as the error detection functionality is embedded within the existing serialization framework rather than being implemented as a separate complex system.
3Reliability
If parity checks are performed on serialized data stream, then error detection capability is improved, but processing time increases due to synchronization requirements
Solution Approach 1:
The patent implements continuous error detection by performing parity checks on the serialized data stream in real-time as the data flows through the system. The error detection circuit continuously monitors the serialized data stream and compares the received data against the transmitted error detection codes without requiring interruption of the data flow. This continuous processing approach minimizes the time penalty for error detection while maintaining high reliability, as the error detection occurs concurrently with data transmission rather than as a separate sequential step.
Data Source
AI summary
A first serializing stage is provided with a stream of data words composed of sub-words that each have values that associate each of the sub-words with the same error detection code value. For example, the values selected for each sub-word may each be associated with even parity. One or more serializing stages time-multiplex the sub-words into a stream of sub-word sized data. At the serializing stage that receives sub-word sized data stream, the data is checked to determine whether any of the sub-words is no longer associated with the error detection code value. Serializing/deserializing stages are selectively controlled to replace one or more data bits from a word being serialized/deserialized with an error detecting code value (e.g., parity). A subsequent serializing/deserializing stage is enabled to use the inserted error detecting code values and the data in the received words to determine whether an error has occurred.


