Claims
- 1. An apparatus for computing a CRC code for an input data stream, comprising:
a CRC circuit, comprising at least a plurality of registers and logic gates, for processing the input data stream in accordance with a binary field polynomial; and an accelerator for applying logical operations to contents of said registers so as to output the CRC code substantially simultaneously with an entry of a last bit of the input data stream to said CRC circuit.
- 2. The apparatus of claim 1, wherein said input data stream comprises at least one data bit.
- 3. The apparatus of claim 1, wherein said CRC circuit further comprises at least one register and at least one XOR gate.
- 4. The apparatus of claim 1, wherein said accelerator further comprises at least one logic gate.
- 5. The apparatus of claim 4, wherein said logic gate is a XOR gate.
- 6. The apparatus of claim 4, wherein determination of said logic gates and their respective connectivity is effected by steps including:
a) setting said CRC circuit's registers to an initial value; b) inserting a series of zeros corresponding to an order of said CRC code to said CRC circuit: c) registering the resultant CRC code in relation to said initial value; d) repeating steps a) through c) for all possible initial values; and e) deriving a set of equations that represent values of said CRC code as a function of said initial values.
- 7. The apparatus of claim 6, further comprising the step of:
f) implementing said logic unit using said set of logic equations.
- 8. The apparatus of claim 1, wherein said accelerator includes a plurality of said logic gates selected and connected according to respective remainders obtained by dividing all possible initial data strings, equal in length, to a binary representation of a generator polynomial of said CRC circuit, by said binary representation.
- 9. The apparatus of claim 1, further comprising a circuit for appending said CRC code to the input data stream.
- 10. The apparatus of claim 9, wherein said CRC code is appended to said input data stream immediately after inputting a last bit of said input data stream.
- 11. A method for accelerating a CRC calculation performed by a CRC circuit, comprising:
i. providing an accelerator, said accelerator including the CRC circuit and logic circuitry for implementing at least a set of equations; ii. calculating an intermediate CRC code from an input data stream, by means of the CRC circuit; and iii. calculating a CRC code from said intermediate CRC code, by means of said accelerator.
- 12. The method of claim 11, wherein said method further comprising outputting said CRC code immediately after inputting a last bit of said input data stream to the CRC circuit.
- 13. The method of claim 11, further comprising appending the CRC code to the input data stream.
- 14. The method of claim 11, wherein said intermediate CRC code is an output of the CRC circuit immediately after inputting said last bit of said input data stream to be transmitted.
- 15. The method of claim 11, wherein said input data stream includes a plurality of data bits.
- 16. The method of claim 11, wherein logic equations required for said accelerator calculation are generated as follows:
a) setting the CRC circuit's registers to an initial value; b) inserting a series of zeros corresponding to the order of the CRC code to the CRC circuit; c) registering resultant CRC code respective of said initial value; d) repeating steps a) through c) for all possible initial values; and e) deriving a set of equations that represent the values of said CRC code as a function of said initial values.
- 17. The method of claim 16 further comprising the step of:
f) implementing a logic unit using said logic equations.
Parent Case Info
[0001] This application is an application filed under 35 U.S.C. §111 (a). Claiming benefit pursuant to 35 U.S.C. §120 of the filing date of the Provisional Application Serial No. 60/311,834 filed on Aug. 14, 2001, pursuant to 35 U.S.C. §111 (b). The Provisional Application Serial No. 60/311,834 is incorporated herein by reference for all it discloses.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60311834 |
Aug 2001 |
US |