3.1.2. Reed-Solomon II Decoder
The received encoded codeword may differ from the original codeword due to the noise in the channel. The decoder detects errors using several polynomials to locate the error location and the error value. When the decoder obtains the error location and value, the decoder corrects the errors in a codeword, and sends the codeword to the output. 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 out_error signal.
Number of Errors | Description |
---|---|
e ≤ R /2 | Decoder detects and corrects errors. |
R /2 < e | Decoder asserts error signal and decoding fails. The probability that the decoder might not assert the error signal is less than 1/t. |
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
- The number of symbols per codeword (using the numn signal) and the number of check symbols (using the numcheck signal), in real time.
- Both from their minimum allowable values up to their selected values, even with the erasures-supporting option turned on.