A High-Speed Reed-Solomon Decoder for Correction of Both Errors and Erasures Zhaohui Cai, Jianzhong Hao, Sumei Sun and Francois Poshin Chin Institute for Infocomm Research Republic of Singapore, 119613 caizhg i2r. a- star. edu. sg Abstract- This paper presents the design of a (n,k) Reed- FPGA shows the maximum clock frequency can be 150 Solomon decoder for both errors and erasures. The key- MHz for a (255, 239) decoder. equation solver is based on Sarwate's reformulated inversionless Berlekamp-Massey algorithm. The decoder has The paper is organized as follows. Section II describes been implemented on FPGA and the maximum clock the inversionless BM algorithm for correction of both errors frequency can be 150 MHz for a (255, 239) code on a Xilinx and erasures. Section III presents the architecture for the RS Virtex-It device. decoder. Summary is provided in section IV. I. INTRODUCTION II. INVERSIONLESS BM ALROGITHM FOR CORRECTION OF BOTH ERRORS AND ERASURES Reed Solomon (RS) codes are widely used in digital communications and storage for forward error correcting A. Inverse-free BM algorithm to compute both error- (FEC). Recently the decoding of RS codes beyond the evaluator and error-locator polynomials classical d/2 error-correcting bond receives much more attention than conventional approaches. But this technique Assume onlerror h e a ndrth e number of errors v seems to be very complicated compared to the conventional fot. The erefreeB bounded distance decoding [1-2]. A conventional high-speed follows for easy reference decoder architecture based on inversionless Berlekamp- 2t Massey (BM) algorithm is presented in this paper. Lemma 1. Let S(x)=,S1x'-' be the syndrome It is well known that the BM algorithm or the Euclidean p i=1 algorithm can be used to solve the Berlekamp's key-equation for decoding RS codes [3]. However, both algorithms need /(k) = 1 if k 0. For k = O, ,2t - 1, compute the finite field division inside the recursion loop, which is following equations: undesirable since the division inside the recursion is not easily pipelined for high-speed implementation. A method l(k) was suggested in [4] to remove the division of the Euclidean ak+l) k)Sk+l-j algorithm; a modified BM algorithm was suggested by I. S. j=0 Reed [5] to remove the division operation in the original BM (k+l) (x) = (k)u(k) (X) - 3(k+1)(k) (X)X, iteration. Based on the algorithm in [5], D. V. Sarwate et al. [6] proposed a reformulated inversionless BM (riBM) if 3(k+l) . 0 and 21(k) < k, update algorithm for high-speed error-only decoding of RS codes. Besides the removal of the division operation in the 2(k+l) (x) =(k) (x),1(k+1) =k- 1 _(k) and 7(k+l) =(k+l); recursion loop, this algorithm can compute error-evaluator and error-locator polynomials simultaneously. otherwise >(k+l) (x) = xi(k) (x) / (k+1) - 1(k) and kk+l) k) In this paper a formal proof of the riBM algorithm is given and the algorithm is then extended to decode both At the end of the iteration we have ,(2i)(x) - KA(x), errors and erasures. A VLSI architecture based on the where K is a non-zero constant in GF(2m), A(x) is the error- extended riBM for the correction of both errors and erasures locator polynomial produced by the original BM algorithm is presented. The implementation on a Xilinx Virtex II with Ao= 1 [3]. The 12t)(x) has the same roots as A(x). 0-7803-9390-2/06/$20.00 ©)2006 IEEE 281 ISCAS 2006