Jump to content

Talk:Lookup Table: Difference between revisions

From Logic World Wiki
Latest comment: 7 September by DjSapsan in topic Improve further
DjSapsan (talk | contribs)
Line 28: Line 28:
::::From my experience a lookup table is always simply used to compute one bit from a set of input bits, encoding an arbitrary logical formula by just listing all inputs that lead to a true output.
::::From my experience a lookup table is always simply used to compute one bit from a set of input bits, encoding an arbitrary logical formula by just listing all inputs that lead to a true output.
::::I think the architecture of a "full" LUT as you are describing it would be fundamentally different as changing outputs in a normal LUT tends to be really annoying, as you would need to physically add/remove chains and couldnt simply flip a switch. [[User:GHXX|GHXX]] ([[User talk:GHXX|talk]]) 22:09, 7 September 2025 (UTC)
::::I think the architecture of a "full" LUT as you are describing it would be fundamentally different as changing outputs in a normal LUT tends to be really annoying, as you would need to physically add/remove chains and couldnt simply flip a switch. [[User:GHXX|GHXX]] ([[User talk:GHXX|talk]]) 22:09, 7 September 2025 (UTC)
:::::@[[User:GHXX|GHXX]] Maybe we misunderstand each other a little bit.
::::: The "full" LUT is 100% equivalent to the "1-bit" LUT. It only adds a possibility to output a pattern of bits (as well as the same 1 bit).
::::: In my experience, LUTs are used in programming, for example in Lua:
:::::<code>t = {}<br>t[1] = "logic"<br>t[2] = "world"</code>
:::::And in LW, I store characters for multi-segmented displays in LUTs.
:::::Changing it should be simpler, because it doesn't require adding/removing parts, only changing the output bits. [[User:DjSapsan|DjSapsan]] ([[User talk:DjSapsan|talk]]) 22:19, 7 September 2025 (UTC)

Revision as of 22:19, 7 September 2025

Improve further

Hi @GHXX and hi all, I made a change to the article to make it simpler and clearer. However, I suspect it needs some improvements. How it can be improved in terms of phrasing and/or additional information ? DjSapsan (talk) 17:36, 7 September 2025 (UTC)Reply

@DjSapsan,

Imo we should add that the AND-inputs may also be negated.

And that a lut can only output a single bit, in the general case, and not a batch of outputs (instead of 'The output may be a single bit or a pattern of bits.')

The "we can avoid delays by not using buffers" paragraph should imo be replaced with one that states that the not-inputs are generally fed through a fastbuffer first, so that no backpropagation happens.

Lmk what you think, please GHXX (talk) 20:31, 7 September 2025 (UTC)Reply

@GHXX, yes to all, except one thing. Why LUTs should output only a single bit? I thought using it to produce a pattern of bits is a common application. DjSapsan (talk) 20:45, 7 September 2025 (UTC)Reply
@DjSapsan, No, usually it only produces one output bit (Output1), because all those chains get OR ed together, and unless the other output (Output2)) can be computed by Output2=Output1OR(otherchains), there is no way of computing that other output, as far as i am aware.
I suppose you could maybe re-use the intermediate NOT outputs, but that is far from the general case from my experience. GHXX (talk) 20:55, 7 September 2025 (UTC)Reply
@GHXX I'm so sorry, I keep merging this "optimized" LUT with a "full" LUT in mind.
By "full" LUT, I mean essentially a decoder.
We need to sort this out.
The article talks about building a LUT only for true outputs. Thanks for reminding me, that the logic for non-true outputs is absent.
But the "full" LUT has a logic for every single input combination (even if the corresponding output is off).

So... should we make two versions? DjSapsan (talk) 22:02, 7 September 2025 (UTC)Reply
@DjSapsan i think making a separate decoder page, if that name is appropriate ,would make sense; but, wouldnt that in a way be a multiplexer with fixed inputs (possibly using switches) that you are choosing from using address lines?
From my experience a lookup table is always simply used to compute one bit from a set of input bits, encoding an arbitrary logical formula by just listing all inputs that lead to a true output.
I think the architecture of a "full" LUT as you are describing it would be fundamentally different as changing outputs in a normal LUT tends to be really annoying, as you would need to physically add/remove chains and couldnt simply flip a switch. GHXX (talk) 22:09, 7 September 2025 (UTC)Reply
@GHXX Maybe we misunderstand each other a little bit.
The "full" LUT is 100% equivalent to the "1-bit" LUT. It only adds a possibility to output a pattern of bits (as well as the same 1 bit).
In my experience, LUTs are used in programming, for example in Lua:
t = {}
t[1] = "logic"
t[2] = "world"
And in LW, I store characters for multi-segmented displays in LUTs.
Changing it should be simpler, because it doesn't require adding/removing parts, only changing the output bits. DjSapsan (talk) 22:19, 7 September 2025 (UTC)Reply