Rs decoder, Rs decoder –4 – Altera Reed-Solomon Compiler User Manual
Page 22

3–4
Chapter 3: Functional Description
RS Decoder
Reed-Solomon Compiler
December 2014
Altera Corporation
User Guide
You can change the number of symbols in a codeword at run-time without resetting
the encoder. You must make the changes between complete codewords; you cannot
change numcheck during encoding.
shows variable encoding.
RS Decoder
The decoder implements an Avalon-ST-based pipelined three-codeword-depth
architecture. However, if the parameters are in the continuous range (refer to
), the decoder shows continuous behavior and can accept a new
symbol every clock cycle.
The decoder is self-flushing—it processes and delivers a codeword without needing a
new codeword to be fed in. Therefore, latency between the input and output does not
depend on the availability of input data. The throughput latency is approximately
three codewords
The reset is active high and can be asserted asynchronously. However, it has to be de-
asserted synchronously with clk.
The RS decoder always tries to detect and correct errors in the codeword. However, as
the number of errors increases, the decoder gets to a stage where it can no longer
correct but only detect errors, at which point the decoder asserts the decfail signal.
As the number of errors increases still further, the results become unpredictable.
shows how the decoder corrects and detects errors depending on R.
Figure 3–3. Variable Encoding
clk
sink_ena
sink_val
sink_sop
sink_eop
rsin[8:1]
source_ena
source_val
source_sop
source_eop
rsout[8:1]
numcheck[4:1]
01 02 03 04 05 06
07 08
09 10 11 12
01 02 03 04 05 06 07 08 P1 P2 P3 P4 P5 09 10 11 12
05
05
Table 3–1. Decoder Detection and Correction
Number of Errors
Decoder Behavior
Errors
R/2
Decoder detects and corrects errors.
R/2
errors R
Decoder asserts decfail and can only detect errors.
Errors
R
Unpredictable results.
Note to
(1) The decoder may fail to assert decfail, for low values of R (4,5, or 6), or when using erasures and the differences
between the number of erasures and R is small (4, 5 or 6).