Lookup table
Introduction
Lookup tables or LUT-s are key component of modern computer hardware.
4-input LUT
Five 4:1 muxes can be combined to form 16:1 mux.
Those 16 inputs are predefined by FPGA bitstream and in such component is called 4-input LUT-s or 4-LUT for short. The 4 selector inputs essentially address the value.
There are 65536 possible variations for 16-bit cell programming which define the boolean function represented by the 4-LUT. The shorthand notation for the 4-LUT programming is within range:
FPGA cell
FPGA cell consists of a lookup table, flip-flop and a bypass mux.
To be precise full adder is also part of the design:
Here the carry chain is explicitly seen.
Boolean function using lookup table #1
Consider following boolean expression:
The corresponding truth table:
x(3) |
x(2) |
x(1) |
x(0) |
f(x) |
|
0 |
0 |
0 |
0 |
0 |
a |
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
0 |
1 |
f |
0 |
1 |
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
1 |
|
0 |
1 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
f |
1 |
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
0 |
1 |
|
1 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
0 |
4 |
1 |
1 |
0 |
1 |
0 |
|
1 |
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
0 |
This boolean expression can be referred to as:
Boolean function using lookup table #2
Consider following boolean expression:
The corresponding truth table:
x(3) |
x(2) |
x(1) |
x(0) |
f(x) |
|
0 |
0 |
0 |
0 |
0 |
6 |
0 |
0 |
0 |
1 |
1 |
|
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
0 |
1 |
9 |
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
0 |
0 |
|
0 |
1 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
9 |
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
0 |
6 |
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
0 |
4-LUT function can be referred to as: