1 引言 现场可编程门阵列(FPGA)在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能
FPGA 可以替代其他PLD 或者各种中小规模数字逻辑芯片在数字系统中广泛应用,也是实现具有不同逻辑功能ASIC 的有效办法
FPGA是进行原型设计最理想的载体,原型机的最初框架和实现通过PFGA 来验证,可以降低成本、缩短开发周期
利用FPGA 的可重配置功能,可以在使用过程中,在不改变所设计的设备的硬件电路情况下,改变设备的功能
但和所有的数字电路一样,FPGA 电路中也存在毛刺问题
它的出现会影响电路工作的可靠性、稳定性,严重时会导致整个数字系统的误动作和逻辑紊乱
在此详细论述了解决此问题的多种方法
2 FPGA 的功能和结构特点 2
1 FPGA 的功能 FPGA 的功能由逻辑结构的配置数据决定,在工作时,这些配置数据存放在片内的SRAM 或者熔丝图上
使用SRAM 的FPGA 器件,在工作前需要从芯片外部加载配置数据,这些配置数据可以存放在片外的EPROM 或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能
图1 实际逻辑电路 图2 LUT 的实现方式 2
2 FPGA 的结构特点 FPGA 使用了可编程的查找表(Look Up Table ,LUT)结构,LUT 是可编程的最小逻辑构成单元
大部分 FPGA 采用基于 SRAM 的查找表逻辑形成结构,就是用SRAM(静态随机存储器)来构成逻辑函数发生器
图1、2分别是4输入 LUT 的实际逻辑电路和LUT 的实现方式
FLEX10KE 系列器件的结构和工作原理在Altera 的FPGA 器件中具有典型性,下面以此类器件为例,介绍 PFGA 的结构
其内部结构如图3所示: 图3 FLEX10KE内部结构 FLEX10KE 内部结构包含嵌入式阵列块(EAB,Embedded