Cascaded CRC Calculators for Low-Resource Error Checking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing CRC implementations in data transmission systems require extensive resources due to the need for multiple multiplexers or a single multiplexer selecting from many inputs, making them inefficient in terms of real estate and routing resources.
Innovation Solution
A system utilizing multiple cascaded CRC calculators, where each calculator receives a data block and uses the previous CRC value as feedback to calculate a new CRC value, reducing the need for multiplexers and optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single multiplexer or multiple multiplexers are used for CRC calculation, then the CRC code can be calculated, but the real estate and routing resources are excessively consumed
Solution Approach 1:
The message is divided into multiple data blocks, and the CRC calculation is segmented into multiple stages with different calculators processing different blocks. This segmentation eliminates the need for a single large multiplexer, reducing resource consumption while maintaining CRC functionality.
Solution Approach 2:
The patent transitions from a time-multiplexed single-calculator approach to a spatial parallelism approach by cascading multiple CRC calculators. Each calculator operates simultaneously on different data blocks, moving the solution from one dimension (time) to another (spatial arrangement).
2Area of stationary object
If a single CRC calculator processes all data blocks sequentially, then resource usage is reduced, but processing efficiency and speed are degraded
Solution Approach 1:
The processing task is segmented across multiple CRC calculators, each handling specific data blocks. This allows parallel processing of different message portions, improving throughput while keeping individual calculator resource footprints small.
Solution Approach 2:
Multiple CRC calculators are merged into a cascaded system where intermediate CRC values are combined through feedback connections. The merging of parallel calculation paths achieves high processing efficiency while maintaining resource efficiency at each node.
3Adaptability or versatility
If multiple multiplexers are used to select from many inputs, then CRC calculation flexibility is improved, but device complexity increases
Solution Approach 1:
The complex input selection problem is segmented by assigning specific data blocks to specific CRC calculators in the cascade. Each calculator has a dedicated input path, eliminating the need for complex multiplexer-based input selection while maintaining flexibility through the cascaded architecture.
Solution Approach 2:
Intermediate CRC values serve as mediators between different calculator stages. Instead of using multiplexers to select and combine inputs, the system uses the natural flow of intermediate results through feedback connections as the intermediary mechanism, simplifying the overall structure.
Data Source
AI summary
In accordance with the teachings described herein, systems and methods are provided for calculating a Cyclic Redundancy Check (CRC) code for a message. A system includes a first CRC calculator and a second CRC calculator. The first CRC calculator is configured to receive a first data block of the message, and to calculate a first CRC value based at least in part on the first data block, the message including the first data block and a second data block. The second CRC calculator is configured to receive the first CRC value and the second data block of the message, and to calculate a second CRC value based on the first CRC value and the second data block, the second CRC calculator being different from the first CRC calculator.


