<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Hi Spiros and all,<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 02.08.2020 11:44, Spiros Makris
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAGbpyRdvU+9d0hHBdOZrrapLPvKHYtwioyLfs8eB5sfhGYQ08w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">I am prototyping an application that is based
        around the concept of using LUTs to calculate logic functions. 
        <div>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.<br>
        </div>
        <div>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.</div>
        <div>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. </div>
        <div>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.</div>
        <div>Any ideas would be greatly appreciated!</div>
      </div>
    </blockquote>
    <p><br>
    </p>
    <p>Unfortunately you don't say how many ins and outs your LUT
      requires. </p>
    <p>I've used parallel EEPROMs for similar tasks. (As a "character
      ROM" for a custom seven segment display.) <br>
    </p>
    <p>An 64k-Bit EEPROM (28C64) <span style="left: 727px; top:
        581.161px; font-size: 30px; font-family: sans-serif; transform:
        scaleX(0.743302);"></span>gives you 13 address inputs and 8
      outputs. <br>
    </p>
    <p>EPROMs (really old school...) or FLASH could also work. Or
      parallel SRAM, which your micro could initialize and change maybe.
      <br>
    </p>
    <p>Also consider CPLDs or FPGA (or PALs or GALs if you want retro...
      ) <br>
    </p>
    <p><br>
    </p>
    <p>Best,</p>
    <p> René<br>
    </p>
    <pre class="moz-signature" cols="72">--
<a class="moz-txt-link-abbreviated" href="mailto:synth@schmitzbits.de">synth@schmitzbits.de</a>
<a class="moz-txt-link-freetext" href="http://schmitzbits.de">http://schmitzbits.de</a></pre>
  </body>
</html>