打印
[产品应用]

FPGA基础知识

[复制链接]
26|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
基本原理
FPGA采用一种基于门阵列的结构,每一个芯片由二维的逻辑块构成,每一个逻辑块有水平和垂直的布线通道连接。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPPROM编程FPGA;外设模式将FPGA作为微处理器的外设,由微处理器对其编程。当器件加电时,FPGA芯片将 EEPROM中的数据读入片内编程RAM中。配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失。因此,FPGA能够反复使用。FPGA的编程无需专用的FPGA编程器,只需通用的EEPROM、PROM编程器即可。同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 [1]
FPGA中的所有信号可以分为时钟、控制信号和数据三种。简单的时钟信号用于控制所有的边缘敏感触发器,不受任何其他信号的限制。控制信号,如“允许”和“复位”,用于电路元件初始化,使之保持在当前状态,在几个输入信号间做出选择或使信号通到另外的输出端。数据信号中含有数据,它可以是一些单独的比特,也可以是总线中的并行数据。
在FPGA的设计中,可将所有的设计元素抽象成五类用于组成分层结构设计的基本单元:
布尔单元,包含反相器和“与”“或”“非”“与非”“异或”门等。
开关单元,包含传输门、多路选择器和三态缓冲器。
存储单元,包含边缘敏感器件。
控制单元,包含译码器、比较器。
数据调整单元,包含加法器、乘法器、桶形移位器、编码器。
在设计中只要明确定义所用基本单元类别就可以避免所谓的“无结构的逻辑设计”,在较短的设计时间内得到清晰的、结构完善的FPGA设计。

FPGA设计
FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。 [3]
结构
播报
FPGA由逻辑块、可编程内部连线、内嵌专用内核、嵌入式块RAM\BRAM、可编程输入输出单元I/O单元、数字始终管理系统DCM等组成。 [1]
逻辑块
从构成FPGA的可编程逻辑块和可编程互联资源来看,主要分为查找表型,多路开关型,多级与或FPGA结构型。
可编程内部连线
可编程内部连线资源连通FPGA内部所有单元,连线的长度和工艺决定信号的驱动能力和传输速度。连线资源的划分如下:全局性专用连线资源用于完成器件内部的全局时钟和全局复位/置位布线,长线资源用于完成一些高速信号和第二全局时钟信号的布线,短线资源用于完成基本逻辑单元之间的布线。
内嵌专用内核
内嵌专用硬核是指高端应用的可编程逻辑器件内部嵌入的专用硬核。相对底层嵌入的软核而言,指的是FPGA处理能力强大的硬核,等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如,为了提高FPGA的乘法速度,主流的FPGA中集成了专用乘法器;为了使用通信总线与接口标准,高端的FPGA内部集成了串并收发器,可以达到数十Gbi/s的收发速度。
嵌入式块RAM\BRAM
大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容可寻址存储器(CAM)以及FIFO等常用存储结构。内容可寻址存储器在其内部的每个存储单元都有一个比较逻辑,CAM中的数据会和内部的每个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。除了块RAM,还可以将FPGA中的LUT灵活地配置成RAM/ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。
可编程输入输出单元I/O单元
I/O单元是芯片与外界电路的接口部分,可完成不同电气特性下对输入输出信号的驱动和匹配深度,通过改变上拉、下拉电阻,可以调整驱动电流的大小。目前,I/O端口的速率已提升得较高,一些高端的FPGA通过DDR寄存器技术可以支持高达2Gbit/s的数据速率。
数字始终管理系统DCM
1)可实现零时钟偏移,消除时钟分配延迟,并实现时钟闭环控制。
2)时钟可以映射到PCB上用于同步外部芯片,这样减少了对外部芯片的要求,而将芯片内外的时钟控制一体化,以便于系统设计。
分类
播报
按逻辑功能块的大小分
目前 FPGA 的逻辑功能块在规模和实现逻辑功能的能力上存在很大差别:有的逻辑功能块规模十分小,仅含有能实现倒相器的两个晶体管;而有的逻辑功能块规模比较大,可以实现任何五输入逻辑函数的查找表结构。据此可把FPGA分为两大类,即细粒度和粗粒度。 细粒度逻辑块与半定制门阵列的基本单元相同,它由使用可编程互连来连接的少数品体管组成,规模都较小,主要优点是可用的功能块被完全利用;缺点是通常需要大量的连线和可编程开关,相对速度较慢。由于近年来工艺不断改进,芯片集成度不断提高,硬件描述语言(HDL)的设计方法得到了广泛应用,不少厂家开发出了具有更高集成度的细粒度结构的FPGA。例如,Xilinx公司采用Micro Via技术的一次编程反熔丝结构的 XC8100系列,它的逻辑功能块规模较小。 [1]
按互连结构分
根据FPGA内部的连线结构不同,可将其分为分段互连型和连续互连型两类。分段互连型 FPGA中有多种不同长度的金属线,各金属线段之间通过开关矩阵或反熔丝编程连接。这种连线结构走线灵活,但会出现走线延时的问题。连续互连型FPGA利用相同长度的金属线(通常是贯穿于整个芯片的长线)来实现逻辑功能块之间的互连,连接与距离远近无关。在这种连线结构中,不同位置逻辑单元的连接线是确定的,因而布线延时是固定和可预测的。
按编程特性分
根据采用的开关元件的不同,FPGA可分为一次编程型和可重复编程型两类。一次编程型FPGA采用反熔丝开关元件,其工艺技术决定了这种器件具有体积小、集成度高、寄生电容小及可获得较高的速度等优点。此外,它还有可加密位、抗辐射抗干扰、不需外接PROM 或EPROM等优点。然而,一次编程型FPGA只能进行一次编程,一旦将设计数据写入芯片后,就不能再修改设计。因此,比较适合于定型产品及大批量应用。 可重复编程型FPGA采用SRAM开关元件或快闪EPROM控制的开关元件。在FPGA芯片中,每个逻辑块的功能以及它们之间的互连模式 由存储在芯片中的SRAM或快闪EPROM中的数据决定。SRAM型开关的FPGA是易失性的,每次重新加电,FPGA都要重新装入配置数据。SRAM型FPGA的突出优点是可反复编程,系统上电时,给FPGA加载不同的配置数据,即可令其完成不同的硬件功能。这种配置的改变甚至可以在系统的运行中进行,实现系统功能的动态重构。采用快闪EPROM控制开关的 FPGA具有非易失性和可重复编程的双重优点,但在再编程的灵活性上较SRAM型FPGA差一些,不能实现动态重构。此外,其静态功耗比反熔丝型及SRAM型的FPGA高。 [1]
优缺点
播报
优点
(1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
(2)FPGA可做其他全定制或半定制ASIC电路的中试样片。
(3)FPGA内部有丰富的触发器和IVO引脚。
(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容
(6)现代FPGA集成了大量的逻辑单元和高速连接,可以实现复杂的算法和任务,提供优异的性能。
缺点
FPGA的缺点如下 [5]:
(1)FPGA的所有功能均依靠硬件实现,无法实现分支条件跳转等操作。
(2)FPGA只能实现定点运算。
总结:FPGA依靠硬件来实现所有的功能,速度上可以和专用芯片相比,但设计的灵活度与通用处理器相比有很大的差距。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

249

主题

2150

帖子

2

粉丝