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

Page 22

Advertising
background image

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.

Figure 3–3

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

Table 3–3 on page 3–8

), 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.

Table 3–1

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.

(1)

Errors

R

Unpredictable results.

Note to

Table 3–1

:

(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).

Advertising