2.1.4.2 Realize Logical Expression using Linked LUTs
Below is an example on linking LUT0 to LUT1 and how to fill out the truth tables for both LUTs.
Imagine the following logical expression: .
The truth table for LUT0 may be created. LUT0 will take care of the first part of the logical expression .
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 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
From the above truth table, 0x60 may go into LUT0 TRUTH register to realize the first part of the logical expression.
Now, the truth table for LUT1 must be created. Before this can be done, it must be decided what input to use on LUT1. All inputs can be used, and in this example LUT0 out is linked to LUT1 input 1. This will be equal to the second column of the truth table. If input 0 was used, it would have been the first column that may be used and the third if input 2 was used.
E | X | D | OUT |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
From the above truth table, 0xCE may go into LUT1 TRUTH register to realize the second part of the logical expression.