FPGA的基础知识

FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基 础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。它起源于美国的Xillnx公司,该公司于1985年推出了世界上第一块FPGA芯片。在这二十年的发展过程中,FPGA的硬件体系结构和软件开发工具都在不断的完善,日趋成熟。从最初的1200个可用门,90年代时几十万个可用门,发展到目前数百万门至上千万门的单片FPGA芯片,Xilinx、Altera等世界顶级厂商已经将FPGA器件的集成度提高到一个新的水平。FPGA结合了微电子技术、电路技术、EDA技术,使设计者可以集中精力进行所需逻辑功能的设计,缩短设计周期,提高设计质量。

FPGA基本结构
前生产FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等,生产的FPGA品种和型号繁多。尽管这些FPGA的具体结构和性能指标各有特色,但它们都通常包含三类基本资源:可编程逻辑功能块、可编程输入/输出块和可编程互连资源,基本结构如图1所示。可编程逻辑功能块是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;可编程输入/输出块完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;可编程内部互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。不同厂家或不同型号的FPGA,在可编程逻辑块的内部结构、规模、内部互连的结构等方面经常存在较大的差异。
除了上述构成FPGA基本结构的三种资源以外,随着工艺的进步和应用系统需求的发展,一般在FPGA中还可能包含以下可选资源:
存储器资源(块RAM、分布式RAM);
数字时钟管理单元(分频/倍频、数字延迟、时钟锁定);
算数运算单元(高速硬件乘法器、乘加器);
多电平标准兼容的I/O接口;
高速串行I/O接口;
特殊功能模块(以太网MAC等硬IP核);
微处理器(PowerPC405等硬处理器IP核)。


查找表LUT
目前绝大部分FPGA都采用查找表(Look Up Table,LUT)技术,如Altera的ACEX、APEX、Cyclone、Stratix系列,Xilinx的Spartan、Virtex系列等。这些FPGA中的最基本逻辑单元都是由LUT和触发器组成的。
查找表简称为LUT,本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出该地址对应的内容,然后输出即可。
由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的。而SRAM工艺的芯片在掉电后信息就会丢失,因此需要外加一片专用的配置芯片。在上电的时候,由这个专用配置芯片把数据加载到FPGA中,FPGA就可以正常工作。少数FPGA产品采用反熔丝或Flash工艺,掉电后配置信息不会丢失,因此这种FPGA芯片不需要外加的专用配置芯片。

 

FPGA的编程技术
目前,市场上有三种基本的FPGA编程技术:SRAM、反熔丝、Flash。其中,SRAM是迄今为止应用范围最广的架构,主要因为它速度快且具有可重编程能力,而反熔丝FPGA只具有一次可编程(One Time Programmable,OTP)能力。基于Flash的FPGA是FPGA领域比较新的技术,也能提供可重编程功能。基于SRAM的FPGA器件经常带来一些其他的成本,包括:启动PROMS支持安全和保密应用的备用电池等等。基于Flash和反熔丝的FPGA没有这些隐含成本,因此可保证较低的总系统成本。
基于SRAM的FPGA器件
这类产品是基于SRAM结构的可再配置型器件,上电时要将配置数据读入片内SRAM中,配置完成就可进入工作状态。掉电后SRAM中的配置数据丢失,FPGA内部逻辑关系随之消失。这种基于SRAM的FPGA可以反复使用。
反熔丝FPGA
采用反熔丝编程技术的FPGA内部具有反熔丝阵列开关结构,其逻辑功能的定义由专用编程器根据设计实现所给出的数据文件,对其内部的反熔丝阵列进行烧录,从而使器件实现相应的逻辑功能。这种器件的缺点是只能一次性编程;优点是具有高抗干扰性和低功耗,适合于要求高可靠性、高保密性的定型产品。
基于Flash的FPGA
在这类FPGA器件中集成了SRAM和非易失性EEPROM两类存储结构。其中SRAM用于在器件正常工作时对系统进行控制,而EEPROM则用来装载SRAM。由于这类FPGA将EEPROM集成在基于SRAM工艺的现场可编程器件中, 因而可以充分发挥EEPROM的非易失特性和SRAM的重配置性。掉电后,配置信息保存在片内的EEPROM中,因此不需要片外的配置芯片,有助于降低系统成本、提高设计的安全性。


FPGA器件选型原则
数字系统逻辑功能设计之前的一个重要问题就是FPGA器件的选型,包括厂商的选择以及器件系列和型号的选择。下面介绍FPGA选型的一些原则和建议。
FPGA厂商的选择
每个FPGA厂商都有自己特有的核心技术和相应的产品。对于继承性产品的开发,尽量使用熟悉并一直使用的FPGA厂商的产品;对于新产品的开发,则可以根据待设计系统的特点和要求,以及各种FPGA器件的特性来初步选择FPGA厂商和产品系列。另外,还可以根据FPGA芯片成本来选择FPGA器件厂商和产品系列。比如Xilinx的Virtex系列和Altera的Stratix系列FPGA属于高性能产品;而Xilinx的Spartan系列和Altera的Cyclone则系列属于低成本FPGA器件。
FPGA型号的选择
选择具体型号的FPGA时,需要考虑的因素较多,包括管脚数量、逻辑资源、片内存储器、功耗、封装形式等等。另外,为了保证系统具有较好的可扩展性和可升级性,一般应留出一定的资源余量。
FPGA外围器件的选择
FPGA选定之后,还有根据FPGA的特性,为其选择合适的电源芯片、片外存储器芯片、配置信息存储器等多种器件。在系统设计和开发阶段,应该尽量选择升级空间大、管脚兼容的器件。在产品开发后期再考虑将这些外围器件替换为其他的兼容器件以降低成本。

特定应用
单粒子事件(Single-event Upset,SEU)对设备可靠性的影响,已逐渐从太空延伸到医疗电子等高可靠性的应用。事实上,FPGA元件各逻辑间的连结技术,将影响元件对于SEU免疫的程度,分析目前闪存、反熔丝与SRAM的FPGA,基于前两技术的FPGA可有效防范SEU问题,而SRAM FPGA则仅能抑制。
在芯片制造技术方面,有别于其它常见的SRAM FPGA芯片,Actel采用了独门的Flash FPGA技术,从而使自己的产品具备非常鲜明的特点。尽管,目前业内80%的FPGA都基于SRAM架构,这一架构可以采用标准的SRAM工艺,可以集成更多的晶体管,实现更高的性能,并且发展到40nm工艺阶段。但是采用130nm技术的Flash FPGA仍然在市场上独树一帜。采用Flash结构的FPGA,在低功耗、安全性、可靠性等方面具有更大优势。正是由于其在安全可靠性方面的优势,Actel牢牢占据军事、航空航天领域的头把交椅。

你可能感兴趣的:(硬件)