Patent ID: 7590916

Claim:
A CRC value calculator that calculates CRC values from input variable-length data, wherein, when natural numbers n, m are predetermined, calculator data is processed in (m2 n )-bit units, the CRC value calculator comprises (n+1)-fixed-length processing unit CRC circuits comprising a 0th CRC circuit in which the processing unit is a fixed length of m2 n bits, a 1st CRC circuit in which the processing unit is a fixed length of m2 (n−1) bits, continuing in order to an nth CRC circuit in which the processing unit is a fixed length of m2 0 bits, wherein the CRC circuits are each equipped with a register and are connected in series by respective selectors, characterized in that m2 n bits of data and an output of the 0th CRC circuit itself are input to the 0th CRC circuit and, via the 0th selector, output to the 0th CRC circuit itself and to the 1st CRC circuit, and in respect of integers k from 1 to n, m2 (n−k) bits of data and an output of the (k−1)th CRC circuit are input to the (k)th CRC circuit and, via the (k)th selector, are output to the (k+1)th CRC circuit, the 0th selector is a selector for selecting the output of the 0th CRC circuit or the output of the 0th CRC circuit itself that is the input signal, the (k)th selector is a selector for selecting one of the output of the (k−1)th CRC circuit and an output of the (k)th CRC circuit, a calculated CRC value is output via the (n)th selector, the 0th selector selects the output of the 0th CRC circuit when the data length is m2 n , and the (k)th selector determines selection or non-selection of the output of the (k)th CRC circuit in accordance with a value of a digit corresponding to the (k)th selector in a binary notation of the process data length.