Paper
Paper
Such methods when used in noisy channels, such as wireless Addition, subtraction and multiplications are computed as if
communications or poorly designed cables, generate small they were normal numbers, however for finite fields, the
errors in the data transmission, which may cause great division’s remainder by p is taken:
impact in the user experience. In order to prevent this,
systems like Reed Solomon with Forward Error Correction a + b ≡ c mod p[1] (1.2)
are imple-mented. Error Correction Codes like this add
a − b ≡ d mod p[1] (1.3)
redundant data during transmission, which is then used to
detect and, if possible, correct errors that may have occurred a · b ≡ e mod p[1] (1.4)
during transmission.
Inversion, at the other hand is a bit more complicated since,
Reed-Solomon has been used for decades, however, every by definition:
design is different and there may be systems where existing
designs might not be fully compatible or may not comply a−1 · a ≡ 1 mod p[1] (1.5)
with the design restrictions.
Finding a-1 is not as trivial as the other operations, however,
Ever since the beginning of communications systems, noise there are iterative methods that calculate it, like the
and interference have been great obstacles in the pursuit of Euclidean algorithm. If the field is not very large, a brute
the theoretical limit for a channel capacity, that is the force search, or a lookup table are also valid alternatives.
theoretical limit for how much information can flow in a
given channel. Forward Error Correcting codes have played When m > 1, in the extended fields, things get a bit more
a great role in this mission. By adding redundant data complicated. They can not be simply represented as
alongside the information data, it is possible to recover numbers like the prime fields. The arithmetic rules stated
some errors that may have occurred during data transfer. For earlier no longer apply. However by representing the Galois
further efficiency mathematical tools are used, like the Field elements as polynomials instead of simple numbers,
Galois Fields, which represent the symbol space used in some operations are still kept fairly simple.
Reed-Solomon. This paper will cover an overview of Linear
Block Codes, where Reed- Solomon are inserted, as well as For example, considering the GF(22), which was stated
Galois Fields arithmetic deductions and Reed-Solomon before that a set of elements could be {0, 1, 2, 3}, taking the
encoding generalizations. polynomial representation, the set becomes {0, 1, x, x + 1},
which may be simplified by looking at the polynomials
coefficients as an array, {[0 0], [0 1], [1 0], [1 1]}, which
directly maps elements to the binary representation of the
Fields, Rings and Groups represent sets of numbers original number representation showed first. This means
alongside operations whose results are always present in the that the Galois Fields can always be represented as a set of
same set. A Group has only two valid operations: addition number, however, the operations must take in consideration
and subtraction. A Ring is always a Group but also supports that they are actually polynomials. [1] Assuming:
other operations such as multiplication. A Field is the more
general presented concept, it integrates the previously A(x), B(x),C(x) ∈ GF(pm) (1.6)
mentioned operations as well as inversion. For example, the
set of real numbers (ℜ) forms a Field. On the other hand, the Addition and subtraction are very similar to those of prime
set of natural numbers (ℵ) can only form a Ring, since none fields, however numbers are treated as polynomials, so
if its numbers’ inversions result in a natural number. instead of the result being the remainder of the division by
p, a normal operation must be applied to the polynomials
Galois or Finite Fields (GF), unlike the set of real numbers, and taken the remainder of the division of each coefficient
only have a finite amount of elements in its set and the by p:
number of elements is always a power of a prime.
For example, {0, 1, 2, 3, 4} and {0, 1, 2, 3} may form
Galois Fields, since they have a power of a prime num- ber C(x) = A(x) ± B(x) ≡ ∑ ci · xi (1.7)
of elements, 5 and 22 respectively. On the other hand, {0, 1,
2, 3, 4, 5} has six elements which is not a power of a prime. where,
They are represented as :
ci ≡ (ai ± bi) mod p (1.8)
GF(pm), GF(5) and GF(22)
Galois Fields: = [1 1 1 1] xor [1 0 0 0]
Multiplication and inversion becomes more complicated, = [0 1 1 1]
because the elements of the extended fields are actually
=7
polynomials and multiplication of two polynomials results
in a poly- nomial whose order is the sum of the The multiplication, on the other hand, is more complex.
multiplicands polynomials’ orders. Which means, that by However, by the definition, it is still possible to arrive at an
considering a GF(pm) which has polynomials of order up to algorithm that makes multiplication easily synthesizable.
m − 1 and by multiplying two poly- nomials of that order, Starting by an example:
the result would be of order 2m − 2, which is not part of the
available set. A polynomial of order m is needed, more 15 · 8 = (x3 + x2 + x + 1)·(x3) mod p(x) (1.17)
specifically a primitive polynomial, p(x). [1] Now the = x6 + x5 + x4 + x3 mod p(x)
Galois multiplication can be defined as: = [1 1 1 1 0 0 0] mod [1 0 0 1 1]
With the introduction of p(x), comes one more form of Here it is noticeable a two-step sequential process.
displaying the elements of the field itself. If there is an However, due to the high throughput required, it is
element of GF(pm), then the Galois Field set may be necessary to execute this multiplication combinationally, or
expressed as: in a pipelined version, which is feasible in three steps.
Assuming:
{α∞, α0, α1, α2, . . . , αpm−2} (1.11)
A(x), B(x) ∈ GF(24)
where α≠0≠1 and is denoted as the field root. By taking this
representation, multiplication and inversion becomes C(x) ∈ GF(24) (1.20)
doable:
The first step remains the same, but combinationally. By
simply doing a generic polynomial multiplication, which
αa · αb = αa+b = αc mod (pm−1) (1.12)
may be described as follows:
α(−a) mod (pm−1) · αb = αa = 1 mod p(x) (1.13)
C(x) = A(x)· B(x) = ∑ ci · xi (1.21)
where,
c6= a3 · b3
αa, αb, αc ∈ GF(pm) (1.14)
After arriving to this polynomial, the final result, E(x), is In Reed Solomon, the redundancy symbols are created with
achieved with a similar equation: the resource of a generator poly- nomial of order 2T , where
T = [(N − K)/2♩, is the number of correctable symbols. If the
ei = ci + ∑ d j · pi− j (1.28) error count in the received message is larger than T , the
information can no longer be retrieved without errors. This
i = 0, 1, . . . , m − 1 generator polynomial, commonly denoted as g(x) has the
particularity of having all of its roots as consecutive
where, elements of the Galois Field in the exponential form:
E(x) = ∑ ei · xi (1.29)
g(x) = (x + αb) · (x + αb+1) · . . . · (x + αb+2T−1)
and,
(1.31)
E(x) ∈ GF(2m) (1.30) where α is the Galois Field root.
The Galois Inversion of a number a is not easily achieved,
by definition, a · a-1 = 1, one can simply multiply every II. LITERATURE REVIEW
single possible number by a and try to find one that results
in 1. This may be implemented either sequentially or Yun Chen et al. designed a multi-mode
combinationally, however, since the system requires very Reed-Solomon (RS) decoder with a folding architecture to
high throughput, a sequential implementation and a minimize cost and power consumption. Implemented in
combinational one is very area inefficient, a lookup table is 0.13μm CMOS, the decoder supports multiple RS code rates
more suitable, on the other hand, even this becomes with a gate count of 65K and operates at 440MHz. By
unreasonable for very large Galois Fields. shutting down unused hardware in different modes, power
consumption is reduced to 0.25mW per error byte. The processor with an embedded FPGA (eFPGA) to accelerate
design is particularly suited for China Mobile Multimedia encoding. Compared to purely software or hardware
Broadcasting (CMMB) applications. The architecture implementations, this hybrid approach achieves a 4×
achieves high efficiency while maintaining error correction speedup over hardware accelerators and a 412×
capability up to 32 bytes, making it a cost-effective solution improvement over software-only solutions. The SoC
for error correction in wireless communication systems.[1] features a scalable eFPGA with up to 4K LUTs, allowing
dynamic reconfiguration. The paper demonstrates the
efficiency of eFPGA-based RS encoding in communication
The paper titled "An Encoder to Match and storage systems, providing a balance between
Reed–Solomon Codes Over GF(q) to a Sub Alphabet of flexibility, performance, and power consumption.[5]
GF(q)" by Claude Le Dantec and Philippe Piret,explores
encoding techniques that ensure Reed-Solomon (RS) Changgeun Kim et al. proposed a (255,231)
codewords belong to a specific sub alphabet of GF(q). It product Reed-Solomon (RS) code for improving error
presents systematic and partially systematic encoders that correction in NAND flash memory controllers. The design
enable encoding within constrained symbol sets. The work combines row-wise and column-wise RS encoding to handle
is motivated by scenarios where RS decoders operate over both burst and random errors more effectively than
restricted alphabets, such as in error-correcting codes for traditional RS codes. Implemented on an Altera Stratix-II
certain digital storage or communication systems. The FPGA, the design achieves a bandwidth of 1.07Gbps at
authors provide a shift-register-based encoder design, 290MHz while consuming 26.4mW of power. The proposed
reducing memory requirements compared to product code enhances error resilience, making it a viable
generator-matrix-based solutions. This work extends solution for high-density, low-cost NAND flash memory
previous research by optimizing encoding strategies for sub systems that require robust error correction to mitigate
alphabet subcodes, making RS encoding feasible in systems retention errors and charge leakage.[6]
with alphabet constraints.[2]
The paper proposed by Haitao Xia and J. R. Cruz
explores soft-decision Reed-Solomon (RS) decoding for
Bhawna Tiwari and Rajesh Mehra presented a magnetic storage applications. It introduces a modified
paper titled "Design and Implementation of Reed Solomon belief propagation (BP) algorithm that leverages reliability
Decoder for 802.16 Network using FPGA" that discusses information from partial-response equalized magnetic
the FPGA implementation of a reconfigurable RS decoder recording channels. By incorporating adaptive BP (ABP),
for WiMAX (802.16) networks. The RS(255,239) decoder is the proposed method improves error correction beyond
developed using VHDL and incorporates the traditional hard-decision RS decoding. A simplified
Berlekamp-Massey, Forney, and Chien algorithms for Chase-type decoding approach is also introduced to reduce
efficient error correction. Implementations on Xilinx complexity. Simulations show significant performance gains
Virtex-II Pro and Spartan-3E FPGAs are compared in terms in high-noise environments. This work bridges the gap
of area and speed. The design is optimized for low power between algebraic RS decoding and iterative decoding
consumption and high-speed operation, demonstrating that techniques, making RS codes more effective for modern
FPGA-based RS decoders can significantly enhance storage systems.[7]
wireless network reliability. The results show that Virtex-II
Pro achieves better area efficiency and higher clock speed The paper titled “Three-Parallel Reed-Solomon
compared to Spartan-3E.[3] Decoder using a Simplified Step-by-Step Algorithm”
presents a high-speed three-parallel Reed-Solomon (RS)
Samir D. Mhaske and Ujwala Ghodeswar designed decoder using a simplified step-by-step algorithm. The
an optimized Reed-Solomon (RS) decoder that reduces proposed design eliminates recursive polynomial solving,
hardware complexity while maintaining error correction reducing hardware complexity and power consumption.
performance. The design targets FPGA implementation and Implemented using TSMC 90nm technology, the decoder
employs a novel Key Equation Solver (KES) using achieves 286MHz operating frequency with a throughput of
Truncated Iterative Berlekamp-Massey (TiBM) architecture, 6.8Gbps and a gate count of 131K. The step-by-step
reducing processing elements compared to traditional algorithm enables parallel processing of error locations and
Berlekamp-Massey designs. The approach significantly values, making it suitable for ultra-high-speed applications
decreases the area required for RS(255,239) decoding while such as optical communication and DVB. The paper
maintaining an 8-symbol error correction capability. The highlights the benefits of systolic array-based Gaussian
proposed solution is particularly beneficial for digital elimination to optimize RS decoding performance.[8]
communication systems requiring efficient forward error
correction with minimal hardware overhead.[4]
The paper “A Fast Reed-Solomon and Cyclic
This paper titled “Implementation of Redundancy Check Encoding Algorithm for Optical Disk
Reed-Solomon Encoder on Low-Latency Embedded FPGA Error Control” presents a high-performance Reed-Solomon
in Flexible SoC Based on ARM Processor” introduces a (RS) and Cyclic Redundancy Check (CRC) encoding
hybrid software-hardware implementation of a algorithm for optical disk storage systems. It addresses error
Reed-Solomon encoder in a flexible System-on-Chip (SoC) correction challenges in high-density digital storage,
architecture. The design integrates an ARM Cortex-M0 implementing a top-down design methodology. The
proposed parallel encoding method enhances speed and restructuring the encoding matrix, the proposed method
reliability, meeting ISO standards for 104-byte codewords. achieves up to 90% reduction in computational complexity,
The RS encoder processes data using a linear feedback shift significantly improving efficiency. The findings benefit
register (LFSR), generating 16 redundant bytes for error applications requiring high-speed error correction, such as
correction. Experimental results demonstrate significant data storage, network coding, and distributed computing,
improvements in processing efficiency, making it suitable where reducing processing overhead is crucial.[13]
for error-prone storage environments such as CDs, DVDs,
and other optical media.[9] The paper titled “Fast Encoding and Decoding
Algorithms for Arbitrary (n, k) Reed-Solomon Codes”
The paper titled “A Novel Image Encoding and presents fast encoding and decoding algorithms for
Communication Technique Using (15,11) Reed-Solomon arbitrary-length Reed-Solomon (RS) codes over finite fields.
Scheme” proposes a novel image encoding and By leveraging Fast Fourier Transform (FFT)-based
communication approach using (15,11) Reed-Solomon (RS) techniques, the approach achieves optimal computational
codes for IoT, robotics, drones, and smart vehicles. It complexity (O(n log n)), making it one of the most efficient
focuses on wireless and satellite communication, ensuring RS implementations. Unlike previous methods that required
fast and error-free image transmission. Unlike traditional specific code lengths, this technique supports any (n, k)
methods that rely on filtering to reconstruct corrupted configuration, increasing its flexibility for practical
images, this method applies RS codes for error detection applications. The proposed algorithms significantly
and correction. The approach enhances image reliability, accelerate error correction processes, making them suitable
making it suitable for AI-driven applications in autonomous for high-speed data transmission and storage systems.[14]
systems. The proposed technique improves image
reconstruction accuracy, minimizes retransmissions, and
ensures high-quality data for real-time decision-making in The paper “Instruction Set Extensions for
machine vision applications.[10] Reed-Solomon Encoding and Decoding” introduces four
new processor instructions to accelerate Reed-Solomon
The paper “Efficient Encoding and Decoding (RS) encoding and decoding on general-purpose processors.
Algorithm for Reed-Solomon Codes in Multiple By optimizing Galois field arithmetic operations, the
Fault-Tolerance Memories” introduces an optimized proposed extensions achieve a 12× speedup compared to
Reed-Solomon (RS) encoding and decoding algorithm for pure software implementations. The approach balances
protecting memory systems against multiple-bit upsets programmability and performance, making RS coding
(MBUs). It highlights RS codes’ superior error correction feasible for software-based error correction in digital
capabilities compared to Hamming and LDPC codes, broadcasting, optical networks, and embedded systems. The
particularly for burst errors. A novel multiplication results demonstrate substantial performance gains,
algorithm reduces computational overhead, enhancing highlighting the potential of hardware-software co-design in
efficiency in Verilog HDL implementations. Simulation error correction applications.[15]
results show that RS codes provide higher error tolerance
with lower area overhead than other error correction codes This paper titled “Inter-Packet Symbol Approach
(ECCs). The proposed method is ideal for modern memory to Reed-Solomon FEC Codes for RTP Multimedia”
systems facing reliability challenges due to increasing proposes an innovative inter-packet symbol approach for
transistor density and radiation-induced faults.[11] applying Reed-Solomon (RS) codes to real-time multimedia
streaming over RTP. Unlike traditional intra-packet
The paper “Efficient Encoding and Minimum methods, this technique distributes RS symbols across
Distance Bounds of Reed-Solomon-Type Array Codes” multiple packets, improving resilience to bursty packet
presents an optimized encoding scheme for losses. The approach enables the use of smaller Galois
Reed-Solomon-type array codes, used in constructing fields, reducing encoding/decoding time while maintaining
low-density parity-check (LDPC) codes. It introduces new strong error correction performance. Simulated results
sparse generator matrices that reduce encoding complexity demonstrate its effectiveness in wireless and wired
to linear time. The study also derives upper bounds for the networks, making it a robust solution for streaming
minimum Hamming distance of these codes, ensuring applications such as IPTV, VoIP, and real-time video
optimal error correction performance. By leveraging conferencing.[16]
deterministic code constructions, the approach achieves
similar performance to randomly generated LDPC codes but The paper titled “Sequential Encoding of
with improved efficiency. The findings are particularly Reed-Solomon Codes Using Discrete-Time Delay Lines”
relevant for high-rate applications requiring reliable error presents a novel sequential Reed-Solomon (RS) encoding
correction with minimal computational overhead.[12] architecture using discrete-time delay lines. Unlike
traditional parallel implementations, which require multiple
The paper proposed by Mochan Shrestha and multipliers and adders, this approach uses a single finite
Lihao Xu optimizes the encoding process for Generalized field multiplier and adder, significantly reducing hardware
Reed-Solomon (GRS) codes, widely used in storage and complexity. The delay line consolidates memory elements,
communication systems. The authors introduce an algorithm lowering area and power consumption. This method is
that reduces the number of Galois field multiplications by particularly advantageous for VLSI implementations where
selecting optimal values for key encoding parameters. By clock skew and silicon area are concerned. The findings
make RS encoding more efficient for digital communication 1. Primitive Polynomial for GF(28)
and storage systems requiring high-speed yet
low-complexity solutions.[17] The elements of GF(28) are generated using a primitive
polynomial of degree 8. In the provided encoder design, the
The paper “Systematically Re-encoded Algebraic primitive polynomial is:
Soft-Decision Reed-Solomon Decoder” introduces a
systematic re-encoding method to reduce the complexity of p(x) = x8 + x4 + x3 + x + 1 (3.1)
algebraic soft-decision decoding (ASD) for Reed-Solomon 8
(RS) codes. The proposed approach replaces traditional Let a be the primitive element in GF(2 ), which is a root of
erasure decoding with systematic encoding, simplifying the polynomial p(x). Then:
hardware implementation. Additionally, new schemes
modify interpolation and codeword recovery steps, ensuring p(a) = a8 + a4 + a3 + a + 1 = 0 (3.2)
efficiency without performance loss. The method improves
throughput-to-area ratio by 15.5% in (255,239) RS decoding This implies:
over GF(2⁸), making it highly effective for high-speed a8 = a4 + a3 + a + 1 (3.3)
communication and storage systems.[18]
This relation is used for modulo reduction by the AES
standard irreducible polynomial in finite field multiplication
III. METHODOLOGY (as seen in the GFMUL8 module using 8’h1b).
The elements of GF(28) can be represented as 8-tuples
of bits (0s and 1s). The zero element is represented by
all zeros.
If a is the primitive element, then the powers of a (i.e.,
a1, a2, ..., a254) generate all non-zero elements of GF(28).
The first 32 powers of a are used as roots for the
generator polynomial.
From a power standpoint, the non-optimized encoder Power analysis of the optimized design revealed a
exhibited a total thermal power dissipation of 6.30 mW, substantial decrease in total thermal power dissipation to
which consisted of 3.23 mW of I/O thermal power. The total 3.80 mW, nearly a 40% reduction compared to the
register count was 128, corresponding primarily to baseline. Specifically, the core static power was 3.08 mW,
asynchronous clear/load mode logic elements as shown in and I/O power dropped significantly to 0.72 mW as shown
fig 4.2. in fig.4.4. The power estimation confidence was marked low
for both designs due to insufficient toggle rate data;
however, the relative comparison remains valid under
identical analysis conditions.
Fig. 4.5 Output of Optimized Reed-Solomon encoding