EP0808029A2

Apparatus for determining an error locator polynomial for use in a Reed-Solomon decoder

Abstract

An apparatus, for use in a Reed-Solomon decoder, for calculating an error locator polynomial σ(X) by using Recursive Berlekamp Algorithm, wherein σ(X) is a (t)th order polynomial, t being a predetermined positive integer, the apparatus comprising: a variable generator for providing a control signal CASE3_FLAG and a late discrepancy; an inverse look up table for providing an inverse of the late discrepancy("inverse late discrepancy"); a discrepancy calculation block for providing a discrepancy and a control signal D_ZERO, delaying the updated error locator polynomial; a first GF multiplier for multiplying the discrepancy by the inverse late discrepancy; a selection block for selectively providing "0" or the updated error locator polynomial or a feedback value; a first shift register block for shifting an output from the selection block; a second GF multiplier for multiplying an output from the first GF multiplier by an output from the first shift register block; a first GF adder for adding an output from the second GF multiplier to the updated error locator polynomial; and, a first signal generator for generating control signals.

EP0808029A2, drawing sheet 1
Sheet 1 of 23

Term

Term ended

Projected expiry passed 14 May 2017, 9.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

8 claims: 1 independent, 7 dependent

  1. 1
    An apparatus, for use in a Reed-Solomon decoder, for calculating an error locator polynomial σ(X) by using Recursive Berlekamp Algorithm, wherein σ(X) is a (t)th order polynomial, and t being a predetermined positive integer, said apparatus comprising:a variable generator for determining cases to thereby update variables, and providing a control signal CASE3_FLAG and a late discrepancy, wherein said variables are the late discrepancy, the number of iterations, and an actual order of the error locator polynomial;an inverse look up table for providing an inverse of the late discrepancy("inverse late discrepancy") from the variable generator;a discrepancy calculation block for providing a discrepancy by using syndromes and an updated error locator polynomial, providing a control signal D_ZERO, delaying the updated error locator polynomial to thereby provide it, and providing a last updated error locator polynomial as a complete error locator polynomial;a first GF multiplier for multiplying the discrepancy from the discrepancy calculation block by the inverse late discrepancy from the inverse look up table;a selection block for selectively providing a constant or the updated error locator polynomial from the discrepancy calculation block or a feedback value;a first shift register block for shifting an output from the selection block to thereby provide a shifted value and feed the shifted value back to the selection block;a second GF multiplier for multiplying an output from the first GF multiplier by an output from the first shift register block;a first GF adder for adding a multiplication result from the second GF multiplier to the updated error locator polynomial from the discrepancy calculation block to thereby feed an addition result back to the discrepancy calculation block ;and a first signal generator for generating control signals to thereby provide them to the selection block, the first shift register block, and the discrepancy calculation block.