视频字幕
欢迎学习FPGA中LUT的工作原理。LUT是查找表的缩写,它是FPGA中最基本的逻辑单元。LUT通过存储逻辑函数的真值表来实现该函数,本质上是一个小型的静态随机存取存储器。每个LUT可以实现任意的多输入逻辑函数,这是FPGA灵活性的关键所在。
LUT的结构非常简单但功能强大。一个N输入的LUT包含一个具有2的N次方个存储单元的SRAM。这N个输入信号作为SRAM的地址线,通过地址解码器选择对应的存储单元。例如,4输入LUT有16个存储单元,可以存储任意4输入逻辑函数的真值表。每个存储单元保存该地址组合对应的输出值。
LUT的配置过程是将逻辑函数的真值表写入SRAM存储器。以2输入AND门为例,其真值表为:输入00对应输出0,输入01对应输出0,输入10对应输出0,输入11对应输出1。在FPGA配置时,这些输出值0、0、0、1会依次写入SRAM的地址0、1、2、3对应的存储单元中。这样LUT就被配置成了一个AND门。
现在让我们看看LUT的工作过程。当输入信号到达时,这些信号被解释为SRAM的地址。地址解码器根据这个地址选择对应的存储单元,然后读取该位置存储的数据。这个数据就是逻辑函数对于当前输入组合的输出值。整个过程是纯组合逻辑,没有时钟参与,响应速度非常快。让我们看看不同输入组合的工作情况。
LUT最大的优势在于其灵活性。同一个LUT硬件结构可以通过重新配置SRAM中的内容来实现完全不同的逻辑功能。比如同样的硬件可以配置成AND门、OR门、XOR门或NAND门,只需要改变存储的真值表数据。这种灵活性使得FPGA可以根据需要重新配置,实现不同的数字电路功能,这正是FPGA相比固定功能芯片的核心优势所在。