Highly parallel cyclic redundancy code generator
AssigneeTektronix, Inc.
InventorChia-Yiu Maa
Life of this patent
Estimating the term…
Abstract
A highly parallel cyclic redundancy code generator has p precalculated k-bit remainder polynomials loaded in a lookup table. A cyclic redundancy code register has a p-bit portion and a k-bit portion. An input data message is input to an input XOR gate together with the contents of the p-bit portion to generate a p-bit result for storage in the p-bit portion. The content of the p-bit portion is used to control which k-bit remainder polynomials from the lookup table are to be parallel XOR'd to produce a partial cyclic redundancy code that is stored in the k-bit portion. The contents of the CRC register are shifted to the left and the process repeated until all of the bits of the input data message have been processed. The contents of the k-bit portion are then output as the CRC for the input data message.
Claims5
A highly parallel cyclic redundancy code generator comprising:
- means for storing p predetermined remainder polynomials of k bits each, where p is the number of bits to be processed in parallel and k is the degree of the polynomial;
- a register having a p-bit portion and a k-bit portion, the k-bit portion providing an output partial cyclic redundancy code;
- means for combining the contents of the p-bit portion with an input data message for storage in the p-bit portion;
- and
- means for parallel XORing the remainder polynomials from the storing means according to the contents of the p-bit portion to produce the output partial cyclic redundancy code for storage in the k-bit portion.
A method of generating a highly parallel cyclic redundancy code comprising the steps of:
- initially storing p predetermined k-bit remainder polynomials in a lookup table, where p is the number of bits to be processed in parallel and k is the degree of the polynomial;
- initially setting a cyclic redundancy code register, having a p-bit portion and a k-bit portion, to zero;
- shifting the contents of the cyclic redundancy code register to the left;
- XORing the contents of the p-bit portion with an input data message for storage in the p-bit portion;
- parallel XORing the p k-bit remainder polynomials according to the contents of the p-bit portion to generate an output k-bit partial cyclic redundancy code for storage in the k-bit portion;
- and
- repeating the shifting, XORing and parallel XORing steps until all of the bits of the input data message have been processed, the resulting contents of the k-bit portion being the cyclic redundancy code for the input data message.
Dependencies are inferred from the claim text.