A Reed-Solomon decoder includes an inversionless Berlekamp-Massey algorithm (iBMA)
circuit with a pipelined feedback loop. An error locator polynomial generator generates
error locator polynomial values. A scratch polynomial generator generates scratch
polynomial values. A discrepancy generator generates discrepancy values based on
the error locator polynomial values and the scratch polynomial values. Multipliers
used to generate the discrepancy values are also used to generate the error locator
polynomial to reduce circuit area. A first delay circuit delays the discrepancy
values. A feedback loop feeds back the delayed discrepancy values to the error
locator polynomial generator and the scratch polynomial generator. An error location
finder circuit communicates with the iBMA circuit and identifies error locations.
An error value computation circuit communicates with at least one of the error
location finder circuit and the iBMA circuit and generates error values.