[sdiy] LFSR using lookup tables

Magnus Danielson magnus at rubidium.se
Wed Feb 19 23:58:38 CET 2020


This is a misconception. The LFSR can be modified to move the state
forward not one step, but any suitable number of steps, and it will only
be another LFSR polynomial. So, for instance, you can step this forward
16 steps in one update. Then, you use another set of XOR gates to
combine the state to produce 16 bits output, so now you have 16 bit
generated in the same clock cycle. This is all traditional, but maybe
less known. You thus get 16 times output in this case, but you can do it
by any suitable number. This is what we do in multi-gigabit rate for
transmission. Regardless of how many bits you do, the state-memory has
the same amount of flip-flops. The only reason to add more flip-flops is
because you want to pipe-line processing to keep the rate up.

So, I do not see the reason for lookup tables. Just use the methods
available properly.


On 2020-02-19 17:20, Didrik Madheden wrote:
> The issue with a (regular) LFSR is that it only gives you one bit per
> clock cycle or loop iteration. If you need x fresh bits you need to
> run the algorithm x times for each new value. What CNLohr does
> differently here is precalculate some of the bits, effectively turning
> part of the circuit/code into a LUT-based finite state machine, so you
> can calculate the lower 8 bits, 8 bits at a time for a cost of 256
> bytes of memory. It's over-all an interesting video covering a lot of
> different things. I'd recommend watching it.
> /Didrik
> On Wed, 19 Feb 2020 at 16:41, Magnus Danielson <magnus at rubidium.se> wrote:
>> Hi,
>> I remain very skeptical, as we have not problem of producing high sped
>> long LFSR with reasonable amount of logic and flip-flops, and look-up
>> tables is not our option anytime. I do not have time to devote to watch
>> that video right now, but I wonder if there is not a misunderstanding
>> here somewhere. Have not people understood how powerful conventional XOR
>> methods are, it's a failure of education. They can produce extremely
>> high rates of very deep noise.
>> Cheers,
>> Magnus
>> On 2020-02-19 14:43, Ben Stuyts wrote:
>>> I just watched this interesting talk about using lookup tables (in hardware and software): https://www.youtube.com/watch?v=LnqqvVp_UZg
>>> At the very last end (around 29:11 minutes) he starts talking about LFSR's and maximising their performance using lookup tables instead of the more conventional XOR method. He has a 6 times performance increase. Very cool, I’m going to try this out soon.
>>> Ben
>>> _______________________________________________
>>> Synth-diy mailing list
>>> Synth-diy at synth-diy.org
>>> http://synth-diy.org/mailman/listinfo/synth-diy
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy

More information about the Synth-diy mailing list