IP Library Granted Patent US 11,403,166
Granted Patent B2
US 11,403,166 · App. 16/612,681 · Granted Aug 2, 2022

Cyclic redundancy check circuit and method and apparatus thereof, chip and electronic device

Inventor: Weiping Yang (Guangdong, CN)
Assignees: GREE ELECTRIC APPLIANCES (WUHAN) CO., LTD.; GREE ELECTRIC APPLIANCES INC. OF ZHUHAI
G06F11/1004H03M13/157
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,403,166
App. No.
16/612,681
Granted
Aug 2, 2022
Kind
B2
Abstract

Provided are a Cyclic Redundancy Check (CRC) circuit, and a method and an apparatus thereof, a chip and an electronic device, which belong to the technical field of computers. Herein, the cyclic redundancy check circuit may include: a configuration module configured to acquire configuration information and an information field, a CRC arbitration module configured to determine a generator polynomial according to the configuration information, a CRC control module configured to respond to triggering of the CRC arbitration module and output a clock signal, a coefficient corresponding to each power in the generator polynomial and the information field, a parallel iteration module configured to respond to the clock signal and implement parallel iteration for the information field according to the coefficient corresponding to the each power in the generator polynomial, as to output an iteration result, and a CRC output module configured to package the information field according to the iteration result.

Claims (51)

1. A Cyclic Redundancy Check (CRC) circuit, comprising a processor coupled with a memory, and the processor configured to execute programming units stored in the memory, wherein the programming units comprise:

a configuration component, configured to acquire configuration information and an information field, wherein the configuration information is used for indicating that the CRC circuit selects corresponding configuration information to complete CRC check and processing of output data, the configuration information comprises at least one of: a CRC type, a generator polynomial, a CRC initial value, information field overturning information and iteration result exclusive-or calculation and overturning information, the CRC initial value is a value defined as an output value acquired after a last parallel iteration;

a CRC arbitration component, configured to determine a generator polynomial according to the configuration information;

a CRC control component, configured to respond to triggering of the CRC arbitration component and output a clock signal, a coefficient corresponding to each power in the generator polynomial and the information field;

the CRC circuit further comprises: a parallel iteration component, configured to respond to the clock signal and implement parallel iteration for the information field according to the coefficient corresponding to the each power in the generator polynomial, as to output an iteration result, wherein the parallel iteration for the information field is completed with the clock signal of one period; and

the programming units further comprises: a CRC output component, configured to package the information field according to the iteration result

wherein the parallel iteration component comprising i*j iteration units, each of the iteration units includes at least one multiplier and at least one exclusive-or calculator; a multiplier of the row i- 1 and the line j- 1 is configured to multiply a coefficient corresponding to a highest power by a CRC initial value corresponding to a highest bit and the coefficient of the corresponding power and output a multiplication result; an exclusive-or calculator of the row i- 1 and the line 0 is configured to implement exclusive-or calculation for the multiplication result and the information value of the corresponding bit in the information field and output an output value of the iteration unit of the row i- 1 and the line 0 ; an exclusive-or calculator of the row 0 and the line j is configured to implement the exclusive-or calculation for the multiplication result and the CRC initial value corresponding to a bit j- 1 and output an output value of an iteration unit of the row 0 and the line j; an exclusive-or calculator of the row i and the line j is configured to implement the exclusive-or calculation for the multiplication result and the output value of the iteration unit of the row i- 1 and the line j- 1 and output the output value of the iteration unit of the row i and the line j, wherein both i and j are positive integers.

2. The circuit as claimed in claim 1 , wherein, the configuration information comprises a (j- 1 )-bit CRC initial value, and the parallel iteration component comprises i*j iteration units;

an iteration unit in a row i- 1 and a line 0 is configured to receive an information value of a corresponding bit in the information field;

an iteration unit in a row 0 and a line j- 1 is configured to respond to the clock signal and calculate an output value of the iteration unit in the row 0 and the line j- 1 according to the CRC initial value and the coefficient of the corresponding power in the generator polynomial; and

an iteration unit in a row i and a line j is configured to respond to the clock signal and calculate an output value of the iteration unit in the row i and the line j according to an output value of an iteration unit in the row i- 1 and the line j- 1 and the coefficient of the corresponding power in the generator polynomial.

3. The circuit as claimed in claim 2 , wherein, each of the iteration units comprises at least one multiplier and at least one exclusive-or calculator;

a multiplier of the row i- 1 and the line j- 1 is configured to multiply a coefficient corresponding to a highest power by a CRC initial value corresponding to a highest bit and the coefficient of the corresponding power, and output a multiplication result;

an exclusive-or calculator of the row i- 1 and the line 0 is configured to implement exclusive-or calculation for the multiplication result and the information value of the corresponding bit in the information field, and output an output value of the iteration unit of the row i- 1 and the line 0 ;

an exclusive-or calculator of the row 0 and the line j is configured to implement the exclusive-or calculation for the multiplication result and the CRC initial value corresponding to a bit j- 1 , and output an output value of an iteration unit of the row 0 and the line j; and

an exclusive-or calculator of the row i and the line j is configured to implement the exclusive-or calculation for the multiplication result and the output value of the iteration unit of the row i- 1 and the line j- 1 , and output the output value of the iteration unit of the row i and the line j.

4. The circuit as claimed in claim 3 , wherein, the configuration information comprises a CRC type and various coefficients of the generator polynomial;

the CRC arbitration component is configured to determine a generator polynomial type and the coefficient corresponding to the each power in the generator polynomial according to the CRC type and the various coefficients of the generator polynomial.

5. The circuit as claimed in claim 2 , wherein, the configuration information comprises a CRC type and various coefficients of the generator polynomial;

the CRC arbitration component is configured to determine a generator polynomial type and the coefficient corresponding to the each power in the generator polynomial according to the CRC type and the various coefficients of the generator polynomial.

6. The circuit as claimed in claim 1 , wherein, the configuration information comprises a CRC type and various coefficients of the generator polynomial;

the CRC arbitration component is configured to determine a generator polynomial type and the coefficient corresponding to the each power in the generator polynomial according to the CRC type and the various coefficients of the generator polynomial.

7. The circuit as claimed in claim 6 , wherein, the CRC type comprises any one of the following: CRC4, CRC7, CRC8, CRC12, CRC16 and CRC32.

8. A chip, comprising the cyclic redundancy check (CRC) circuit as claimed in claim 1 .

9. A Cyclic Redundancy Check (CRC) method, comprising:

acquiring, by a processor, configuration information and an information field, wherein the configuration information is used for indicating that the CRC circuit selects corresponding configuration information to complete CRC check and processing of output data, the configuration information comprises at least one of: a CRC type, a generator polynomial, a CRC initial value, information field overturning information and iteration result exclusive-or calculation and overturning information, the CRC initial value is a value defined as an output value acquired after a last parallel iteration;

determining, by the processor, a generator polynomial and a coefficient corresponding to each power in the generator polynomial according to the configuration information;

implementing, by a parallel iteration component, parallel iteration for the information field according to the coefficient corresponding to the each power in the generator polynomial, as to output an iteration result, wherein the parallel iteration for the information field is completed with the clock signal of one period; and

packaging, by the processor, the information field according to the iteration result;

wherein the parallel iteration component comprising i*j iteration units, each of the iteration units includes at least one multiplier and at least one exclusive-or calculator; a multiplier of the row i- 1 and the line j- 1 is configured to multiply a coefficient corresponding to a highest power by a CRC initial value corresponding to a highest bit and the coefficient of the corresponding power and output a multiplication result; an exclusive-or calculator of the row i- 1 and the line 0 is configured to implement exclusive-or calculation for the multiplication result and the information value of the corresponding bit in the information field and output an output value of the iteration unit of the row i- 1 and the line 0 ; an exclusive-or calculator of the row 0 and the line j is configured to implement the exclusive-or calculation for the multiplication result and the CRC initial value corresponding to a bit j- 1 and output an output value of an iteration unit of the row 0 and the line j; an exclusive-or calculator of the row i and the line j is configured to implement the exclusive-or calculation for the multiplication result and the output value of the iteration unit of the row i- 1 and the line j- 1 and output the output value of the iteration unit of the row i and the line j, wherein both i and j are positive integers.

10. The method as claimed in claim 9 , wherein, the configuration information comprises a CRC initial value;

and implementing the parallel iteration for the information field according to the coefficient corresponding to the each power in the generator polynomial, as to output the iteration result comprises:

implementing the parallel iteration for the information field according to the coefficient corresponding to the each power in the generator polynomial and the CRC initial value, as to output the iteration result.

11. The method as claimed in claim 9 , wherein, the configuration information comprises a CRC type and various coefficients of the generator polynomial; and

determining the generator polynomial and the coefficient corresponding to the each power in the generator polynomial according to the configuration information comprises:

determining a generator polynomial type and the coefficient corresponding to the each power in the generator polynomial according to the CRC type and the various coefficients of the generator polynomial.

12. A non-volatile computer readable storage medium, the non- volatile computer readable storage medium storing an instruction executable by an electronic device, and the executable instruction being used for making the electronic device implement the cyclic redundancy check (CRC) method as claimed in claim 9 .

13. An electronic device, comprising:

at least one processor; and

a memory which is in communication connection with the at least one processor, wherein, the memory stores an instruction executable by the at least one processor, and the instruction is implemented by the at least one processor, as to make the at least one processor be applied to the cyclic redundancy check (CRC) method as claimed in claim 9 .

14. A Cyclic Redundancy Check (CRC) apparatus, comprising a processor; and

a memory which is in communication connection with the at least one processor, wherein, the memory stores an instruction executable by the at least one processor, and the instruction is implemented by the at least one processor CRC output component:

an acquiring component, configured to acquire configuration information and an information field;

a determining component, configured to determine a generator polynomial and a coefficient corresponding to each power in the generator polynomial according to the configuration information;

an iteration component, configured to implement parallel iteration for the information field according to the coefficient corresponding to the each power in the generator polynomial, as to output an iteration result, wherein the parallel iteration for the information field is completed with the clock signal of one period; and

a packaging component, configured to package the information field according to the iteration result;

the configuration information comprises a CRC initial value, the CRC initial value is a value defined as an output value acquired after a last parallel iteration.

15. The apparatus as claimed in claim 14 , wherein

the iteration component is specifically configured to: implement the parallel iteration for the information field according to the coefficient corresponding to the each power in the generator polynomial and the CRC initial value, as to output the iteration result.

16. The apparatus as claimed in claim 14 , wherein, the configuration information comprises a CRC type and various coefficients of the generator polynomial; and

the determining component is specifically configured to: determine a generator polynomial type and the coefficient corresponding to the each power in the generator polynomial according to the CRC type and the various coefficients of the generator polynomial.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2019
From: YANG, WEIPING
To: GREE ELECTRIC APPLIANCES (WUHAN) CO., LTD.; GREE ELECTRIC APPLIANCES INC. OF ZHUHAI
Reel/Frame 050981/0836 →
Priority Claims (1)
CN 201710330855.4 · May 11, 2017 · national
Continuity (1)
Related Publication 20200081767A1 · Mar 12, 2020