DOI QR코드

DOI QR Code

HDL Codes Generator for Cyclic Redundancy Check Codes

순환중복검사 부호용 하드웨어 HDL 코드 생성기

  • Kim, Hyeon-kyu (Dept. of Electronics Engineering, Chungnam National University) ;
  • Yoo, Ho-young (Dept. of Electronics Engineering, Chungnam National University)
  • Received : 2018.12.10
  • Accepted : 2018.12.17
  • Published : 2018.12.31

Abstract

Traditionally, Linear Shift Feedback Register (LFSR) has been widely employed to implement Cyclic Redundant Check (CRC) codes for a serial input. Since many applications including network and storage systems demand as high throughput as ever, various efforts have been made to implement CRC hardware to support parallel inputs. Among various parallel schemes, the look-ahead scheme is one of the most widely used schemes due to its short critical path. However, it is very cumbersome to design HDL codes for parallel CRC codes since the look-ahead scheme is inevitable to consider how register and input values move in the next cycles. Thus, this paper proposes a novel CRC hardware generator, which automatically produces HDL codes given a CRC polynomial and parallel factor. The experimental results verify the applicability to use the proposed generator by analyzing the synthesis results from the generated HDL code.

전통적으로 CRC 하드웨어는 선형 되먹임 시프트 레지스터를 이용하여 한 클럭 싸이클 당 하나의 비트를 처리하는 직렬 처리 방식을 사용하였다. 최근 다양한 응용 시스템에서 빠른 데이터 처리를 요구하면서 이를 만족시키기 위하여 다양한 병렬화 기법들이 제안되었고, Look-Ahead 병렬화 기법이 짧은 최대 경로 지연을 가지는 장점 덕분에 가장 널리 적용된다. 하지만 Look-Ahead 병렬 하드웨어의 경우 각 레지스터 값과 입력 데이터의 이동에 대하여 예측을 하여야 하기 때문에 직렬 하드웨어 대비 HDL 코드의 작성이 복잡하다. 따라서 본 논문에서는 다양한 CRC 다항식과 병렬화 계수를 지원할 수 있는 Look-Ahead 기반의 CRC 병렬화 하드웨어 생성기를 제안한다. 생성된 HDL 코드의 합성 결과를 분석함으로써 제안된 생성기의 활용 가능성을 판단한다.

Keywords

JGGJB@_2018_v22n4_896_f0001.png 이미지

Fig. 1. Example of CRC code calculation. 그림 1. CRC 부호 계산 예제

JGGJB@_2018_v22n4_896_f0002.png 이미지

Fig. 2. Serial CRC hardware based on LFSR [2]. 그림 2. LFSR 기반의 직렬 CRC 하드웨어 [2]

JGGJB@_2018_v22n4_896_f0003.png 이미지

Fig. 3. Update process of function A4 and B4. 그림 3. A4, B4의 업데이트 과정

JGGJB@_2018_v22n4_896_f0004.png 이미지

Fig. 4. 4bit-parallel Look-Ahead CRC Hardware. 그림 4. 4bit 병렬 Look-Ahead CRC 하드웨어

JGGJB@_2018_v22n4_896_f0005.png 이미지

Fig. 5. HDL Code generation algorithm. 그림 5. HDL 코드 생성 알고리즘

JGGJB@_2018_v22n4_896_f0006.png 이미지

Fig. 6. CRC Hardware HDL code generator. 그림 6. CRC 하드웨어 HDL 코드 생성기

Table 1. Equivalent gate counts of CRC hardware. 표 1. CRC 하드웨어의 등가 2 입력 NAND 게이트 수

JGGJB@_2018_v22n4_896_t0001.png 이미지

References

  1. W. W. Peterson and D. T. Brown, "Cyclic Codes for Error Detection," Proceedings of the IRE, vol.49, 228-235, 1961. DOI:10.1109/JRPROC.1961.287814
  2. G. Campobello et al. "Parallel CRC realization," IEEE Trans. on Computers vol.52, 1312-1319, 2003. DOI:10.1109/TC.2003.1234528
  3. J. Jung et al, "Efficient Parallel Architecture for Linear Feedback Shift Regsiters," IEEE Trans. on Circuits and Sys. II - Express Brief, vol.62, no.11, 2015. DOI:10.1109/TCSII.2015.2456294
  4. G. Albertango and R. Sisto, "Parallel CRC Generation," IEEE Micro, vol.10, no.5, 1990. DOI:10.1109/40.60527
  5. E. Stavinov, "A Parallel CRC Generation Method," Circuits Celler Magzines for Computers, 2010.
  6. T. B. Pei, C. Zukowski, "High-speed parallel CRC circuits in VLSI," IEEE Trans. on Communications, vol.40, 653-657, 1992. DOI:10.1109/26.141415
  7. M. Walma, "Pipelined Cyclic Redundancy Check (CRC) Calculation," 2007 16th International Conference on Computer Communications and Networks, pp. 365-370, 2007. DOI:10.1109/ICCCN.2007.4317846
  8. C. Condo, M. Martina, G. Piccinini and G. Masera, "Variable Parallelism Cyclic Redundancy Check Circuit for 3GPP-LTE/LTE-Advanced," IEEE Signal Processing Letters, vol.21, no.11, pp.1380-1384, 2014. DOI:10.1109/LSP.2014.2334393
  9. C. Cheng and K. K. Parhi, "High-Speed Parallel CRC Implementation Based on Unfolding, Pipelining, and Retiming," IEEE Transactions on Circuits and Systems II: Express Briefs, vol.53, no.10, pp.1017-1021, 2006. DOI:10.1109/TCSII.2006.882213
  10. M. Ayinala and K. K. Parhi, "High-Speed Parallel Architectures for Linear Feedback Shift Registers," IEEE Transactions on Signal Processing, vol.59, no.9, pp.4459-4469, 2011. DOI:10.1109/TSP.2011.2159495