FPGA基础:查找表、组合与编程全解析
1. 查找表(LUT):存储真值表的硬件
在数字电路设计中,我们常常需要处理布尔逻辑。例如,当我们想要实现两个1位二进制数相加时,也就是计算 ( s = a + b ),其中 ( a ) 和 ( b ) 是布尔变量。这个和 ( s ) 实际上是一个2位的二进制数,由模2和以及进位位组成。
以模2和为例,它可以被定义为一个关于两个变量的布尔函数,其真值表如下:
| a | b | s |
| — | — | — |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
查找表(Look - Up Table,LUT)就是一种用于存储布尔函数真值表的硬件设备,类似于一个内存。例如,一个4位的LUT(也称为LUT - 2)可以存储一个关于两个变量的布尔函数的真值表(即上述表格中的 ( s ) 值)。
更一般地,一个 ( 2^n ) 位的LUT(或LUT - n)可以包含一个关于 ( n ) 个变量的布尔函数的真值表(可以容纳 ( 2^n ) 个真值)。以下是一些不同变量布尔函数的例子:
- 单变量布尔函数 :以非(NOT)函数为例,它是一个单变量布尔函数,其真值表有两行,对应的是一个LUT - 1,包含两个真值(NOT(0)=1 和 NOT(1)=0)。
- 多变量布尔函数 :与(AND)函数原本是两个变量的布尔函数,也可以扩展到三个变量(a AND b AND c),其真值表有八行,如下所示:
| a |
超级会员免费看
订阅专栏 解锁全文
71

被折叠的 条评论
为什么被折叠?



