• DocumentCode
    1768524
  • Title

    Fast parallel CRC implementation in software

  • Author

    Engdahl, Jonathan R. ; Chung, David

  • Author_Institution
    Adv. Technol., Rockwell Autom., Mayfield Heights, OH, USA
  • fYear
    2014
  • fDate
    22-25 Oct. 2014
  • Firstpage
    546
  • Lastpage
    550
  • Abstract
    A cyclic redundancy check (CRC) is one of the most commonly used error detecting codes in communication and storage devices. Before a message is transferred, a transmitter calculates the CRC using the agreed upon polynomial called a generator, and attaches the resulting residue to the message. When the message is received, a receiver calculates the CRC using the same polynomial and verifies the message. If the two CRC values are different, it means an error has occurred during the data transfer. A CRC is easy to implement in hardware using linear feedback shift registers or in software using a simple polynomial evaluation, or a table lookup for a faster speed. In this paper, a fast CRC computation is presented using a software based parallelization scheme. In an ARM Cortex-A15 implementation of the proposed methodology, it achieves 2.6 times faster speed compared to a conventional table lookup CRC computation.
  • Keywords
    cyclic redundancy check codes; error detection codes; software engineering; table lookup; ARM Cortex-A 15 implementation; communication devices; cyclic redundancy check; data transfer; error detecting codes; fast CRC computation; fast parallel CRC implementation; linear feedback shift registers; polynomial evaluation; software based parallelization scheme; storage devices; table lookup CRC computation; Logic gates; Registers; Cyclic Redundancy Check; Error Detecting Code; Parallel CRC;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Control, Automation and Systems (ICCAS), 2014 14th International Conference on
  • Conference_Location
    Seoul
  • ISSN
    2093-7121
  • Print_ISBN
    978-8-9932-1506-9
  • Type

    conf

  • DOI
    10.1109/ICCAS.2014.6987839
  • Filename
    6987839