Reconfigurable CRC Circuit for Fast Multi-Polynomial Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The calculation of Cyclic Redundancy Codes (CRC) on large data streams is complex and requires efficient processing to balance complexity and speed, especially in high-speed communication links with varying standards and generator polynomials.

Innovation Solution

A circuit and method using a dynamically reconfigurable table with multiplication and division sub-tables, and multiplexers to generate CRC codes based on a reconfigurable generator polynomial, allowing on-the-fly updates and efficient computation of CRC codes by leveraging recursive properties and bit-to-bit exclusive-OR operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a reconfigurable generator polynomial is used to support multiple communication standards, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveadaptability to different generator polynomialsVSAvoidcircuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic reconfiguration of the generator polynomial by making the polynomial coefficients configurable through control signals. The circuit can switch between different generator polynomials dynamically, allowing adaptation to multiple communication standards without requiring multiple dedicated hardware circuits for each standard.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The CRC computation circuit is designed as a universal processor that can handle multiple communication standards (such as HDLC, ATM, Ethernet) through a single reconfigurable hardware structure. By making the generator polynomial configurable, one circuit performs multiple functions that would otherwise require separate dedicated circuits for each standard.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If dedicated hardware operators with pre-populated tables are used, then computation speed is improved, but manufacturing complexity increases

Engineering Contradiction:
Improvecomputation speedVSAvoidmanufacturing complexity
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

Instead of manufacturing separate hardware circuits for each communication standard, the patent uses dynamic reconfiguration where a single circuit can be programmed at runtime to support different standards. The generator polynomial coefficients are loaded dynamically based on the required standard, eliminating the need for complex manufacturing processes that would produce multiple dedicated hardware variants.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11489544B2Fast CRC computation circuit using an on-the-fly reconfigurable generator polynomial
Publication Date: 2022.11.01 KALRAY
  • US11489544B2 patent drawing
  • US11489544B2 patent drawing
  • US11489544B2 patent drawing

AI summary

A circuit for generating an N-bit cyclic redundancy code of a k-bit digit d, the code based on a reconfigurable generator polynomial P of degree N, the circuit including a dynamic table comprising a multiplication sub-table storing products resulting from multiplication by the polynomial P of each element definable over k bits, in the order of the scalar values of the k-bit elements; a division sub-table storing quotients resulting from Euclidean division by the polynomial P of each k-bit element shifted by N bits to the left, in the order of the scalar values of the k-bit elements; and a group of first multiplexers, each multiplexer connected to be indexed by a respective cell of the division table to transmit the contents of a corresponding cell of the multiplication table to an output of the dynamic table, of same rank as the respective cell of the division table.