마이크로프로그래밍 방식을 이용한 CDP용 Reed-Solomon 부호의 복호기 설계

Design of A Reed-Solomon Code Decoder for Compact Disc Player using Microprogramming Method

  • 김태용 (한국과학기술원 전기.전자공학과) ;
  • 김재균 (한국과학기술원 전기.전자공학과)
  • 발행 : 1993.10.01

초록

본 논문에서 마이크로프로그램 제어방식을 이용하여 CDP(Compact Disc Player)에서 사용되는 RS 부호(Reed-Solomon code)의 복호기를 설계하였다. 사용한 복호방법은 Newton 항등식들로 부터 얻어진 연립방정식들을 이용하여 오류위치다항식의 계수들을 구하고, C2(외부호)복호에서의 소실데이타 개수를 확인한다. 또한 C2복호에서 소실데이타 값들을 C1(내부호)복호 결과와 신드롬들을 이용하여 구한다. 이와 같은 복호방법을 이용하여 4개의 소실정정까지 할 수 있도록 해서 오류정정능력을 높였다. 설계한 복호기는 오류정정에 필요한 GF(28)상에서 연산을 수행할 수 있는 복호연산기와 프로그램 ROM을 가지고있는 복호제어기 띤 마이크로명령어(microinstruction)들로 구성된다. 마이크로명령어들을 이용하여 RS부호의 복호 알고리즘을 프로그램할 수 있으며, 성능향상이나 다른 용도에 사용하기 위해서는 프로그램 ROM만 바꾸면 가능하므로 간편하다. 본 논문에서 설계한 복호기는 Verilog HDL의 Logic Level Modeling을 이용하여 구현했으며, 설계된 복호기에서 각 마이크로명명령어들은 14비트(=1 word)이고, 프로그램 ROM의 크기는 360 word이다. 또한 C1과 C2를 모두 복호하는데 걸리는 최대시간은 424 clock-cycle이다.

In this paper, an implementation of RS (Reed-Solomon) code decoder for CDP (Compact Disc Player) using microprogramming method is presented. In this decoding strategy, the equations composed of Newton's identities are used for computing the coefficients of the error locator polynomial and for checking the number of erasures in C2(outer code). Also, in C2 decoding the values of erasures are computed from syndromes and the results of C1(inner code) decoding. We pulled up the error correctability by correcting 4 erasures or less. The decoder contains an arithmetic logic unit over GF(28) for error correcting and a decoding controller with programming ROM, and also microinstructions. Microinstructions are used for an implementation of a decoding algorithm for RS code. As a result, it can be easily modified for upgrade or other applications by changing the programming ROM only. The decoder is implemented by the Logic Level Modeling of Verilog HDL. In the decoder, each microinstruction has 14 bits( = 1 word), and the size of the programming ROM is 360 words. The number of the maximum clock-cycle for decoding both C1 and C2 is 424.

키워드