[sdiy] IC solutions for implementing reconfigurable look up tables?

René Schmitz synth at schmitzbits.de
Sun Aug 2 15:05:27 CEST 2020


Hi Spiros and all,

On 02.08.2020 11:44, Spiros Makris wrote:
> I am prototyping an application that is based around the concept of 
> using LUTs to calculate logic functions.
> So far I have successfully demonstrated the concept using an atmega328 
> and the computational delay is within "specs" (still quite vague). One 
> of the advantages is that this delay is constant regardless of 
> function complexity. However, introducing the user control hardware 
> also adds a new delay which, although small, is now variable.
> While the concept will work fine for control signals with delays up to 
> 100-200us, my goal is to extend the operation up to the audio range, 
> hopefully ~10-15khz. In that context, I think that the valuable delay 
> will manifest as noise in the output spectrum. Would that be 
> noticeable? I have no clue, yet.
> So I was trying to think of ways to implement the LUT in dedicated 
> hardware. Ideally, a combinational logic circuit that will be 
> addressed directly by the inputs and output the saved value directly, 
> without any other control logic or sequence required. A second MCU 
> that only does this task and is controlled via interrupts and serial 
> by a central MCU (which will support the screen and controls) is one 
> solution I can think of and it is fairly cheap - however that requires 
> programming two controllers.
> I am not very familiar with the memory offerings in the market (never 
> really used one). Is there anything that I could use to implement the 
> above? I thought of using serial in - parallel out registers and a 
> bunch of multiplexers, but that needs quite a lot of PCB space and 
> will be fairly expensive.
> Any ideas would be greatly appreciated!


Unfortunately you don't say how many ins and outs your LUT requires.

I've used parallel EEPROMs for similar tasks. (As a "character ROM" for 
a custom seven segment display.)

An 64k-Bit EEPROM (28C64) gives you 13 address inputs and 8 outputs.

EPROMs (really old school...) or FLASH could also work. Or parallel 
SRAM, which your micro could initialize and change maybe.

Also consider CPLDs or FPGA (or PALs or GALs if you want retro... )


Best,

  René

--
synth at schmitzbits.de
http://schmitzbits.de

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20200802/89d47d86/attachment.htm>


More information about the Synth-diy mailing list