FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
由于FPGA需要被反复烧写,故它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表结构可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法可以实现对FPGA的重复配置。
根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与、或、非运算还是异或运算等,最多只可能存在2n种结果。所以,如果事先将相应的结果存放于一个存储单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在电路相同的情况下实现不同的逻辑功能。
查找表(look-up table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的RAM。在用户通过原理图或HDL语言描述一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查找,找出地址对应的内容,然后输出即可。
下面给出一个4与门电路的例子来说明LUT实现逻辑功能的原理。
表3-1给出了一个使用LUT实现4输入与门电路的真值表。(www.daowen.com)
表3-1 4输入与门的真值表
从表3-1中可以看到,LUT具有和逻辑电路相同的功能。实际上,LUT具有更快的执行速度和更大的规模。
基于LUT的FPGA具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合的逻辑电路功能,所以适用于高速、高密度的高端数字逻辑电路设计领域。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。