Multiple input channels, Multiple input channels -4 – Altera Reed-Solomon II MegaCore Function User Manual
Page 20

The codeword starts when you assert the
in_valid
signal and the
in_startofpacket
signal.The decoder
accepts the data at
in_data
as valid data. The codeword ends when you assert the
in_endofpacket
signal.
For a 1-channel codeword, assert the
in_startofpacket
and
in_endofpacket
signals for one clock cycle.
When the decoder deasserts the
in_ready
signal, the decoder cannot process any more data until it
asserts the
in_ready
signal again.
At the output, the operation is identical. When the decoder asserts the
out_valid
signal and the
out_startofpacket
signal, the decoder provides valid data on
out_data
. The decoder asserts the
out_startofpacket
signal and the
out_endofpacket
signal to indicate the start and end of a codeword.
The decoder automatically detects and corrects errors in a codeword and asserts the
out_error
signal
when it encounters a non-correctable codeword. The decoder outputs the full codeword including the
check symbols, which you should remove.
Variable Decoding
Under normal circumstances, the decoder allow variable decoding—you can change the number of
symbols per codeword (N) using
sink_eop
, but not the number of check symbols while decoding.
However, you cannot change the length of the codeword, if you turn on the erasure-supporting option. If
you turn on the variable option, you can vary the number of symbols per codeword (using the
numn
signal) and the number of check symbols (using the
numcheck
signal), in real time, from their minimum
allowable values up to their selected values, even with the erasures-supporting option turned on.
Multiple Input Channels
The RS II IP core processes multiple input channels simultaneously.
The IP core receives codewords in a fixed pattern. Symbols coming in through the channels are
interleaved. The IP core samples the first symbol of channel one on the first rising clock edge, then the
first symbol of channel two on the second rising clock edge, etc. Both information and check symbols are
output in the same sequence.
Figure 3-5: Codeword for
C
Channels and
N
Symbols
The channel signal indicates the channel associated to the current symbol. The channel sequence is fixed.
startofpacket
indicates the first symbol of a codeword per channel. For a C-channel codeword,
startofpacket
must be high for C consecutive cycles.
endofpacket
indicates the last symbol of a
codeword per channel. For a C-channel codeword,
endofpacket
must be high for C consecutive cycles.
valid
startofpacket
endofpacket
channel
data
Codeword 1
Codeword 0
1
0
1
0
ch 1. N-1
ch 0. N-1
1
0
1
0
1
ch 1.1
ch 0.1
ch 1.0
0
ch 0.0
...
...
...
...
...
...
ch 1. N-1 ch 1. N-1
ch 0. N-1 ch 1. N-1
Note: The
startofpacket
and
endofpacket
governs the number of symbols per codeword, N. The IP
core does not verify if N exceeds the maximum symbols per codeword. The IP core also does not
verify the channel or data pattern. You must ensure that the codeword sent to the IP core has a
valid N and a valid pattern.
3-4
Multiple Input Channels
UG-01090
2015.05.01
Altera Corporation
Reed-Solomon II IP Core Functional Description