High-speed CRC computation using state-space transformations

Parallelization of the linear-feedback shift register used to compute the CRC has long been recognized as a way to increase throughput. In all applications of this technique reported previously, the achievable increase in throughput is limited by an increase in the circuit complexity within the feedback loop; for a circuit that processes M bits of the input sequence in parallel, the throughput increase, or speed-up, appears to be asymptotically limited to M/2. In this paper, we develop a state-space transformation for the M-bits-at-a-time CRC system that reduces the complexity of its feedback loop to exactly that of the original bit-at-a-time system. This simplification comes at the cost of increased circuit complexity outside the feedback loop; however, these blocks can be pipelined. Thus the transformed system can achieve a full speed-up factor of M compared to the bit-at-a-time system. The transformation introduced in this paper is general in that it is valid in any field. It can thus be applied to encoders for cyclic codes over arbitrary finite fields that process M elements of an input sequence in parallel.

[1]  K. Y. Sih,et al.  Serial-to-Parallel Transformation of Linear-Feedback Shift-Register Circuits , 1964, IEEE Trans. Electron. Comput..

[2]  W. Greub Linear Algebra , 1981 .

[3]  Riccardo Sisto,et al.  Parallel CRC generation , 1990, IEEE Micro.

[4]  Richard L. Brunson,et al.  Linear Control System Analysis and Design , 1988, IEEE Transactions on Systems, Man, and Cybernetics.

[5]  W. W. PETERSONt,et al.  Cyclic Codes for Error Detection * , 2022 .

[6]  Charles A. Zukowski,et al.  High-speed parallel CRC circuits in VLSI , 1992, IEEE Trans. Commun..

[7]  Aram Perez,et al.  Byte-Wise CRC Calculations , 1983, IEEE Micro.

[8]  René J. Glaise A two-step computation of cyclic redundancy code CRC-32 for ATM networks , 1997, IBM J. Res. Dev..

[9]  Arvind M. Patel A multi-channel CRC register , 1971, AFIPS '71 (Spring).

[10]  R. Blahut Theory and practice of error control codes , 1983 .

[11]  Bill Dewar,et al.  Parallel realization of the ATM cell header CRC , 1996, Comput. Commun..

[12]  J.L. Massey,et al.  Theory and practice of error control codes , 1986, Proceedings of the IEEE.