Claims
- 1-22. (canceled)
- 23. A method for performing a Cyclic Redundancy Check (CRC) operation to generate a CRC result based on input data comprising:
receiving an instruction indicating the CRC operation is to be executed, the instruction including an indication of a polynomial to use in calculating the CRC result; selecting one of a plurality of CRC circuits to perform the CRC operation based on the indication of the polynomial in the instruction, each of the plurality of CRC circuits including a CRC polynomial hardwired therein; receiving the input data at the selected CRC circuit; and generating the CRC result with the selected CRC circuit.
- 24. The method of claim 23, further comprising:
appending the CRC result to the input data and transmitting the input data and the appended CRC result over a network.
- 25. The method of claim 23, wherein the input data is comprised of transmission data and a previous CRC result.
- 26. The method of claim 25, further comprising:
determining that the input data contains errors when the CRC result is a non-zero value.
- 27. The method of claim 23, wherein the input data includes data from a packet of information received from a network.
- 28. A network processor comprising:
a bus in communication with a plurality of hardwired Cyclic Redundancy Check (CRC) circuits, each CRC circuit implementing a CRC polynomial for generating a CRC result; and a switch for directing input data to at least one of the CRC circuits based on a CRC instruction; and an error detecting means for determining whether the input data includes an error based on the CRC result.
- 29. The network device of claim 28, further comprising:
an input register file connected to the switch, and in communication to input ports of a network device.
- 30. The network device of claim 28, further comprising:
output register files connected to the switch, the output register files receiving the CRC result generated by the CRC circuit to which the input data was directed.
- 31. The network device of claim 28, wherein the hardwired CRC polynomials include an eight-bit, a ten-bit, a sixteen-bit, and a thirty-two-bit polynomial.
- 32. A network processor comprising:
a bus in communication with a plurality of preexisting Cyclic Redundancy Check (CRC) circuits, a switch for directing input data to at least one of the CRC circuits based on a CRC instruction based upon an indication of a poly nomial included in a CRC instruction; and an error detecting means for determining whether the input data includes an error based on the CRC result.
- 33. A Cyclic Redundancy Check (CRC) logic unit comprising:
an input register for storing input data; a plurality of hardwired polynomial circuits for processing the stored input data to generate a CRC result; a switch for directing input data stored in the input register to at least one of the polynomial circuits based on a CRC instruction; and an output register for storing the CRC result.
RELATED APPLICATION
[0001] This application claims priority under 35 U.S.C. § 119 based on U.S. Provisional Application No. 60/233,578, filed Sep. 19, 2000, the disclosure of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60233578 |
Sep 2000 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09949354 |
Sep 2001 |
US |
Child |
10880281 |
Jun 2004 |
US |