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