一、底层资源
1. 三大主要资源
a. 输入输出单元(IO);
b. 可编程逻辑单元 (CLB);
c. 布线资源;
2.可配置逻辑单元 configurable logic block
在XC7A200中,可配置逻辑单元由里由两个SLICE组成,SLICE由logic和memory两种。即SLICEL和SLICEM。在每个SLICEL和SLICEM中,都分别包含4318。即四个LUT,三个数据选择器,一个进位链和八个触发器。
二 、实例说明![在这里插入图片描述](https://img-blog.csdnimg.cn/68cf9eb487d5458d89f08a3c75e1ab71.png)
举例一个电路实例,来看一下FPGA的运行原理:
A,B,C,D是由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连接到LUT,通过LUT可以计算出所有逻辑可能,再通过地址查找到相应的数据然后输出,这样就实现了组合逻辑。该电路中D触发器直接利用LUT后面的D触发器实现。时钟信号CLK由I/O管脚输入至芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出端也连接至I/O管脚。
该实现只需要一个LUT和一个触发器就可以实现,对于一个LUT无法实现完成的电路,就需要通过进位逻辑将多个单元相连,实现FPGA中复杂逻辑。
三、总结:
FPGA是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,具有不同的结构,FPGA利用小型的如六输入查找表 (64×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
LUT指显示查找表(Look-Up-Table),本质上就是一个RAM。它把数据事先(很重要,由分析综合工具完成)写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。