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
Link To Document :
بازگشت