[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [ecc] Reed Solomon decoder




Hi Duane,

Just curious, did your implementation not require any exponential/binary
tables?  We did our own version of (255,223) RS in the past, and though we
hardcoded our multipliers as you did, we still found the need for a few
exponential/binary tables for division and exponentiation.  Did you use an
implementation that required only GF addition and GF multiplication, or
perhaps used a nifty technique for exponentiations and divisions?  It would
be very interesting to know.

best regards,
aj



-----Original Message-----
From: owner-ecc@opencores.org [mailto:owner-ecc@opencores.org]On Behalf
Of Duane Clark
Sent: Thursday, March 13, 2003 1:14 AM
To: ecc@opencores.org
Subject: Re: [ecc] Reed Solomon decoder


Of course, every multiplier is different, depending on the fixed alpha
that the input is being multiplied by. I generate those with a C code
algorithm that generates the output directly in VHDL format, which I
then pipe into a package file.

An additional big advantage of using a method such as this is that it is
extremely fast. I did not bother to floorplan, and the decoder will run
at 70MBytes per second.

Because I had a bunch of spare block RAMs available, I implemented some
of the multipliers in lookup tables. This freed up some LUTs to be used
elsewhere. Again, this is hardcoded GF multipliers, and not
exponential/binary tables. A 256x16 block ROM can implement 16
multiplier bits.

I used the same method of using C code to generate the contents of the ROM.

--
To unsubscribe from ecc mailing list please visit http://www.opencores.org/mailinglists.shtml