# High Speed Architecture For Reed Solomon Decoder Computer Science Essay

**Published:** **Last Edited:**

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

This paper proposes a new VLSI architecture for decoding Reed-Solomon codes with a modified Berlekamp-Massey algorithm. By employing t-folded architecture, we achieve the highest throughput and the resource utilization efficiency without degrading performance on critical path delay. More interestingly the proposed architecture requires approximately 60% fewer multipliers and a simpler control structure than the popular architecture. The reduction in the number of multipliers and adders in the proposed architecture leads to smaller silicon area and lower power consumption. On the basis of the proposed architecture further complexity benefit can be realized by sharing hardware units among sub-blocks, which is usually neglected in previous research.

Keywords: Reed-Solomon codes, Berlekamp-Massey algorithm, pipelined decoder, very large scale integration (VLSI)

## I. INTRODUCTION

In 1960, Irving-Reed and Gus-Solomon published a paper in the Journal of the Society for Industrial and Applied Mathematics. That paper described a new class of error-correcting codes that are now called Reed-Solomon (R-S) codes.REED-SOLOMON (RS) codes are undoubtedly the most widely used block codes in communications systems especially in the applications demanding for high error correcting capability such as digital sub-scriber loops, and wireless systems as well as in storage systems. In addition, RS codes are expected to be used asouter codes in concatenated coding schemes for 4G wireless communication systems. Due to increasing demand for high data rates of the communications systems, the high speed and low complexity implementations of RS decoders are desirable to meet higher data rate for system-level integration. Inrecent years, Modified Euclidean (ME) algorithm and riBM have become the two most popular solutions to implement RS decoder. The key advantages of the two algorithms are their extremely regular structure and short critical path delay. However, they require a large number of multipliers, thereby increasing the amount of silicon area and the power consumption. Through introducing folding technique, TiBM algorithm introduced in dramatically reduces the number of multipliers at theexpense of large decoding latency and low throughput.

The outline of the paper is as follows. Section II begins with a brief overview of reed-Solomon theory and then a proposed t-folded architecture in III, section IV provides Berlekamp-Massey algorithm, new method for loading syndrome in section V. Section VI focuses on the implementation and results. Application and conclusion are given in the VII and VIII section respectively.

## II. REED-SOLOMON THEORY

A Reed-Solomon code is a block code and can be specified as RS (n, k) as shown in Fig. II. The variable n is the size ofthe code-word with the unit of symbols, k is the number of data symbols and 2t is the number of parity symbols. Each symbol contains s number of bits.

Fig.II: The structure of a RS codeword

The relationship between the symbol size, s, and the size of the codeword n is given by (1). This means that if there are s bits in one symbol, there could exist 2s−1 distinct symbols in one codeword, excluding the one with all zeros.

n = 2s - 1 (1)

The RS code allows correcting up to t number of symbol errors where t is given by

2t = n - k (2)

## III.PROPOSED T-FOLDED ARCHITECTURE

A. Pipeline RS Decoder

Fig I: Block Diagram

Reed-Solomon decoder consists of three

Blocks:

• The syndrome computation (SC) block;

• The key-equation solver (KES) block;

•The Chien search and error evaluator (CSEE) block.

These blocks usually operate in pipelined mode in which the three blocks are separately and simultaneously working on three successive received words. The SC block computes the syndromes via (4) usually as the received word is entering the decoder.

The syndromes are passed to the KES block which solves (5) to determine the error locator and error evaluator polynomials. These polynomials are then passed to the CSEE block, which calculates the error locations and error values and corrects the errors as the received word is being read out of the Decoder. Let N and t be the code length and error-correction capacity respectively. The received polynomial can be denoted as

R(x) =RN-1xN-1 +...+R1x+R0.

Given the fact that the code symbols are fed into RS decoder one by one in most of the current applications, a serial calculation for implementing SC block, which takes N clock cycles. A common method used in CSEE block is exhaustive searching-all possible locations from RN-1 to R0, and the latency is N clock cycles. By contrast, the delay of KES block varies significantly from analgorithm to another. Therefore, KES block usually plays a central role in RS decoder.

B. Decoder

After going through a noisy transmission channel, the encoded data can be represented as

r(x) = c(x) + e(x) (3)

Where e(x) represents the error polynomial with the same degree as c(x) and r(x).Once the decoder evaluates e(x), the transmitted message, c(x), is then recovered by adding the received message, r(x), to the error polynomial, e(x), as shown in following equation.

c(x) = r(x) + e(x)

= c(x) + e(x) + e(x)

= c(x)

Note that e(x) + e(x) = 0 because addition in Galois field is equivalent to an exclusive-OR and e(x) XOR e(x) = 0.

C. Syndrome Calculation (SC) block

The syndrome calculator block checks the received block on the data corruption condition by calculating the (2s) syndrome values. Any syndrome value diverging from a zero pattern will result in an error detection signal sent to the core subsequent algorithm blocks. In this block, errors are detected by calculating the syndrome polynomial, S(x) as shown in following equation which is used by the Key Equation functional block.

m0+2t−1

S(x) = ∑ Si (4)

i=m0

Where Si = r (αi), m0≤ i ≤m0 + 2t − 1

When S(x) = 0, the received codeword is error free. Else, the Key Equation Solver will use S(x) to generate the error locator polynomial Λ(x), and the error evaluator polynomial Ω(x).The syndrome takes in codeword after codeword at a rate of 1 symbol/clock cycle.

D. Key-equation solver (KES) block

The Key Equation is an equation that describes the relationship between the syndromes

S(x), Λ(x), Ω(x) and x2t.

Λ(x)S(x) = Ω(x) mod x2t (5)

Solving this equation gives error locator polynomial Λ(x) and the error evaluator polynomial Ω(x), which can be represented in the general form shown in following equations.

e

Λ(x) = Π (1 - Xj x)

j

= 1 + Λ1x + Λ2 x2+ ... + Λexe (6)

e e

Ω(X) = ∑ Yi Xi Π (1- Xj x)

i=1 j=1j≠1

= ω0 + ω1x + ω2 x2 +……….ωe-1 xe-1 (7)

The error locator polynomial Λ(x) has a degree of e ≤ t. The error evaluator polynomial Ω (x) has degree at most e−1 to determine the magnitude of e errors. There are different algorithms that have been used to solve the key equation and two common ones are the Euclidean algorithm and the Berlekamp-Massey (BM) algorithm.

F. Chien search and error evaluator (CSEE) block

The Chien Search block iterates through GF(2m) to identify the error locations within a received message. Forney's formula logic delivers the error magnitude evaluations. The magnitudes affect the polynomial coefficients that reside in estimated error locations, repairing the distorted information that was received.Forney's formula is a very efficient method for finding the error magnitudes and only requires the error locations, the error-locating polynomial and the error magnitude polynomial Ω(x). If errors have occurred at the positions i1, i2, i3, i2t, the error magnitudes are determined by Forney's formula as:

eik=Ω(xk-1)/ Λ( k-1) (8)

Where: Λ'(x) is the formal derivative of the error-locating polynomial. The formal derivative of a function

f (x) = f0 + f1 x + f2 x2 +· · ·+ fn xn

Whose coefficients belong to some finite field GF(q).

## IV.THE BERLEK-AMP MASSY ALGORITHM

The BM algorithm is an iterative procedure for solving equation

Λ(z) S(z) = Ω(z) mod z2t (9)

This algorithm begins with polynomials and iteratively determines polynomials and satisfying the polynomial congruence.

Λ (r, z) S (z) = Ω(r, z) mod zr

for r=1, 2…………… 2t

This algorithm is used to solve the key equation (9) and there are some drawbacks using this algorithm so we formulate this algorithm and use riBM algorithm UiBM algorithm but now these days the most formulated version of this algorithm is TiBM. So in this paper we use this algorithm and solve the equation. In the previous research the speed of RS decoder is not so high due to neglecting the sub blocks. In this paper we use 3 version of TiBM algorithm in which separately all have their significant. Using these 3 steps we can go through high speed architecture for Reed Solomon decoder.

## V.MODIFIED SYNDROME LOADING

Most of the algorithms available now a day's pay little attention to the loading process of syndrome from SC blockto KES block, which in fact considerably contribute to the overall hardware complexity and decoding latency. A common method for this process is serial loading. With a 2t:1 finite field multiplexer, syndromes are loaded one byone. That means that the SC block cannot process next code block as soon as the calculation for previous one is finished. An alternative solution is parallel loading. In this way, the loading process can be finished in one clock cycle, while the extra 4t finite field multiplexers are required in comparison with serial loading.

Fig III: Traditional syndrome loading structure

In fig.III shaded mux. Can be remove using TiBM algorithm.

## VI. IMPLEMENTATION AND RESULTS

Table I summarize the performance characteristics of proposed architectures and compares them with conventional ones. It also demonstrates the trade-off between hardware consumption and delay in different degrees.

## TABLE I: COMPARISIONS OF HARDWARE COMPLEXITY AND KES LATENCY

## Algorithm

## Adder

## Multiplier

## in KES

## Multiplier for shortened code

## Syndrome-

## Loading MUX

## Critical

## Path

## KES delay

riBM

3t+1

6t+2

2t

4t

TM+ TA

2t

UiBM

1

2

2t

4t

TM+ TA

6t2

TiBM-1

3

6

2t

4t

TM+ TA

2t2+2t

TiBM-2

3

6

2t

2t

TM+ TA

2t2+3t+1

TiBM3

3

6

2

2t

TM+ TA

2t2+4t+2

## VII. APPLICATION

Reed-Solomon codes are block-based error correcting codes with a wide range of applications in digital communications and storage. Reed-Solomon codes are used to correct errors in many systems including:

Storage devices (including tape, Compact Disk, DVD, barcodes, etc.)

Wireless or mobile communications (including cellular telephones, microwave links, etc.)

Satellite communications

Digital television / DVB

High-speed modems such as ADSL, xDSL, etc.

## VIII.CONCLUSION

In conclusion, with three processing elements for solvingKey Equation, TiBM-1 strikes better balance between area and latency than UiBM or riBM, and hence gains complexity benefit without degrading performance on overall throughput or critical path delay. Both TiBM-2 and TiBM-3 further reduce the hardware complexity at the expense of the increase in latency of KES block. The former algorithm can save 2t finite field multiplexers, through merging part of syndrome-loading process into KES block. In the latter one, the sharing of hardware unit between KES and CESS allows the number of finite field multiplier used for shortened codeto be cut from 2t to 2.