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