FPGA是20世纪80年代中期出现的高密度可编程逻辑器件。与前面所介绍的阵列型可编程逻辑器件不同,FPGA采用类似于掩膜编程门阵列的通用结构,其内部由许多独立的可编程逻辑模块组成,用户可以通过将这些模块连接成所需的数字系统。它具有密度高、编程速度快、设计灵活和可再配置等许多优点,因此FPGA自1985年Xilinx公司首家推出后,便受到普遍欢迎,并得到迅速发展。
FPGA的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的SRAM或熔丝图上。基于SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的EPROM、E2PROM或计算机软、硬盘中。人们可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场编程。
FPGA的基本结构如图9.3.15所示。它由可编程逻辑模块CLB、输入/输出模块IOB和互联资源IR三部分组成。
图9.3.15 FPGA的基本结构
一、可编程逻辑模块CLB
可编程逻辑模块CLB是实现用户功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片。可编程逻辑模块(CLB)一般有三种结构形式:(1)查找表结构;(2)多路开关结构;(3)多级与非门结构。它主要由逻辑函数发生器、触发器、数据选择器和信号变换四部分电路组成。(www.xing528.com)
二、可编程输入/输出模块(IOB)
IOB主要完成芯片内部逻辑与外部封装脚的接口,它通常排列在芯片的四周;提供了器件引脚和内部逻辑阵列的接口电路。每一个IOB控制一个引脚(除电源线和地线引脚外),可将它们定义为输入、输出或者双向传输信号端。
三、可编程互联资源(IR)
可编程互联资源包括各种长度的连线线段和一些可编程连线开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。
FPGA芯片内部单个CLB的输入输出之间、各个CLB之间、CLB和IOB之间的连线由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现所需要功能的电路连接。连线通路的数量与器件内部阵列的规模有关,阵列规模越大,连线数量越多。互连线按相对长度分为单线、双线和长线三种。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。