Cascaded CRC Calculators for Low-Resource Error Checking

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveCRC error detection capabilityVSAvoidreal estate and routing resources
Core Design Contradiction:
ReliabilityVSArea of stationary object

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.

Inventive Principle:
Principle #1Segmentation

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).

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improveresource usageVSAvoidprocessing efficiency
Core Design Contradiction:
Area of stationary objectVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If multiple multiplexers are used to select from many inputs, then CRC calculation flexibility is improved, but device complexity increases

Engineering Contradiction:
Improveinput selection flexibilityVSAvoidmultiplexer structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8984385B1Systems and methods for cyclic redundancy check implementation
Publication Date: 2015.03.17 MARVELL ISRAEL (M L S L) LTD
  • US8984385B1 patent drawing
  • US8984385B1 patent drawing
  • US8984385B1 patent drawing

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.