SCLA071 August 2024 TPLD1201 , TPLD1201-Q1 , TPLD1202 , TPLD1202-Q1 , TPLD801 , TPLD801-Q1
A lookup table (LUT) is a programmable way to perform digital logic functionality. One way to think about a LUT is as a fill in the blank truth table. For example Table 1-1 is a blank 3 input LUT. This looks very similar to every 3 input truth table, but the outputs are defined by the user instead of a predefined function.
C | B | A | OUT |
---|---|---|---|
0 | 0 | 0 | REG 0 |
0 | 0 | 1 | REG 1 |
0 | 1 | 0 | REG 2 |
0 | 1 | 1 | REG 3 |
1 | 0 | 0 | REG 4 |
1 | 0 | 1 | REG 5 |
1 | 1 | 0 | REG 6 |
1 | 1 | 1 | REG 7 |
In discrete logic, if the desired function is Equation 1, a simple discrete logic design is to use a 3 input AND gate with a NOT gate on the A input. With a LUT, completing this functionality is simply to set REG 6 to 1 (logic high) and the rest to 0 (logic low) as shown in Table 1-2
C | B | A | OUT |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
Implementing LUTs allows for more flexibility in the design, and using programmable logic, such as the TPLD1201, allows designers to make quick changes to logic functionality without any changes to the board or material list.