• DocumentCode
    2437556
  • Title

    Fast parallel CRC algorithm and implementation on a configurable processor

  • Author

    Ji, H.Michael ; Killian, Earl

  • Author_Institution
    Tensilica Inc., Santa Clara, CA, USA
  • Volume
    3
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    1813
  • Abstract
    We present a fast cyclic redundancy check (CRC) algorithm that performs CRC computation for any length of message in parallel. For a given message with any length, we first divide the message into blocks, each of which has a fixed size equal to the degree of the generator polynomial. Then we perform CRC computation among the blocks in parallel using Galois field multiplication and accumulation (GFMAC). Theoretically, our fast parallel CRC algorithm can achieve unlimited speedup over the bit-serial algorithm or byte-wise table lookup algorithm at the expense of adding enough GFMAC units. Our algorithm can perform CRC computation for any lengthy message with two to three clock cycles. In practice, we choose to use a configurable processor where a customized instruction is added to perform multiple pairs of GF multiplication and accumulation. For example, a 4-GFMAC implementation can compute a 32-bit CRC in two to three cycles for a 16-byte message. This level of performance is hundreds of times faster than a bit-serial CRC algorithm or tens of times faster than a byte-wise parallel CRC algorithm. The generator polynomial can be chosen to be software programmed or hard-coded. Our algorithm adds only a small number of logical gates to the processor core.
  • Keywords
    Galois fields; data communication; digital arithmetic; parallel algorithms; polynomials; redundancy; telecommunication computing; Galois field accumulation; Galois field multiplication; bit-serial algorithm; byte-wise table lookup algorithm; configurable processor; cyclic redundancy check; data communication; generator polynomial; logical gates; parallel CRC algorithm; processor core; Asynchronous transfer mode; Clocks; Concurrent computing; Cyclic redundancy check; FDDI; Galois fields; Hardware; Parallel processing; Polynomials; Table lookup;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Communications, 2002. ICC 2002. IEEE International Conference on
  • Print_ISBN
    0-7803-7400-2
  • Type

    conf

  • DOI
    10.1109/ICC.2002.997161
  • Filename
    997161