1. Altera芯片
Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneⅡ;另一种侧重于高性能应用,容量大,性能可以满足各类高端应用,如Startix,StratixⅡ等。用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。
1)低成本FPGA—Cyclone(飓风)系列Cyclone(飓风)系列是Altera推出的低成本FPGA,到目前为止,其成员主要包括Cyclone、CycloneⅡ、CycloneⅢ、CycloneⅣ和CycloneⅤ。
Cyclone: Altera公司于2003年推出的一种低成本、中等规模的FPGA,采用0.13μm工艺、1.5V内核供电,其结构与Stratix类似。该系列产品是Altera最成功的器件之一,性价比较高,应用于消费类、通信、计算机外设、工业和汽车等行业的中低端产品。
CycloneⅡ: Altera公司于2005年开始推出的新一代低成本FPGA,采用90nm工艺、1.2V内核供电,其性能与Cyclone相当。CycloneⅡ提供了硬件乘法器单元,支持低成本应用中的多种公共外部存储器接口和I/O协议。
CycloneⅢ: Altera公司于2007年推出,采用台积电(TSMC) 65nm的低功耗(LP)工艺技术制造,可应用于通信设备、手持式消费类产品。CycloneⅢ具有20万个逻辑单元(LE)、8Mbit存储器,而静态功耗低于0.25W。
CycloneⅣ: Altera公司于2009年推出,采用60nm工艺,提供了15万个逻辑单元(LE),总功耗较CycloneⅢ降低了30%。该类产品又分为具有8个集成3.125Gb/s 收/发器的CycloneⅣGX FPGA和适用于多种通用逻辑应用的CycloneⅣE FPGA。
CycloneⅤ: 2011年推出,28nm工艺,实现了业界最低的系统成本和功耗。与前4代产品相比,它具有高效的逻辑集成功能,提供集成收发器型号。相对CycloneⅣ而言,CycloneⅤ的总功耗降低了40%,静态功耗降低了30%。
2)中端FPGA—Arria系列 Altera的Arria系列FPGA提供丰富的存储器、逻辑和数字信号处理(DSP),结合28.5Gb/s收/发器优异的信号完整性,可使内核集成更多的功能。到目前为止,其成员主要包括Arria GX、ArriaⅡ、Arria V和Arria 10。
Arria: Altera公司于2007年推出的一种具有收/发器的低成本FPGA,采用90nm的生产工艺,使用相同的物理介质附加(PMA)电路。收/发器的速率高达3.125Gb/s,使用户可以链接现有模块和器件,支持PCIe、Gb/s以太网、Serial Rapid IO、串行数字接口(SDI)、XAUI等多种协议。
ArriaⅡ: ArriaⅡ是基于40nm生产工艺的全功能FPGA,它包括ALM、DSP模块和嵌入式RAM,以及硬核PCIExpress(PCIe)、知识产权(IP)内核。它有两种型号,即ArriaⅡGX和ArriaⅡGZ。ArriaⅡGX FPGA(2009年推出)提供16个6.375Gb/s的收/发器,以及速度较快的LVDS和存储器。ArriaⅡGZ FPGA(2010年推出)进一步拓展了器件的功能,适合宽带应用,该型号包括24个6.375Gb/s收/发器,密度更大,存储器更多,数字信号处理(DSP)功能更强。
ArriaⅤ: ArriaⅤ是基于28nm生产工艺的FPGA,它有5种型号,包括具有双核ARM Cortex TM -A9硬核处理器系统(HPS)的SOC FPGA,能满足用户在性能、功耗和集成度方面的需求。ArriaⅤGZ为带宽最大的中端FPGA,具有36个支持背板的12.5Gb/s收/发器; ArriaⅤGT为功耗最低的中端FPGA,适用于需要20个10.3125Gb/s收/发器,并兼容SFF 8431的应用; ArriaⅤGX为功耗最低的中端FPGA,适用于需要32个支持背板的6.5536Gb/s收/发器的应用; ArriaⅤST为SOC FPGA,具有基于ARM的HPS,以及10.3125Gb/s收/发器,兼容SFF 8431; ArriaⅤSX为SOC FPGA,具有基于ARM的HPS,以及支持背板的6.5536Gb/s收/发器。
Arria 10: Arria 10是Altera公司于2013年推出的基于20nm生产工艺的FPGA。目前为止,它有3种型号,即Arria 10 GT、Arria 10 GX和Arria 10 SX。Arria 10 GT支持96个全双工收/发器,芯片与芯片的数据传输速率高达28.05Gb/s,拥有17.4Gb/s的背板传输速率,还有相当于115万个逻辑单元(LE); Arria 10 GX支持96个全双工收/发器,芯片与芯片的数据传输速率高达17.4Gb/s,拥有16.0Gb/s的背板传输速率,还有相当于115万个逻辑单元(LE); Arria 10 SX为SOC FPGA,具有基于双核ARM Cortex TM -A9的HPS,48个全双工收/发器,芯片与芯片的数据传输速率高达17.4Gb/s,拥有16.0Gb/s的背板传输速率,还有相当于66万个逻辑单元(LE)。
3)高端FPGA—Stratix系列 Altera的Stratix系列是最新一代SRAM工艺大规模的FPGA,到目前为上,其成员主要包括Stratix、StratixⅡ、StratixⅢ、StratixⅣ、StratixⅤ和Stratix 10。
Stratix: Stratix是基于130nm生产工艺的高端FPGA。它有两种型号,即Stratix和Stratix GX。Stratix(2002年推出)提供了8万个逻辑单元(LE),并引入了世界上首个数字信号处理(DSP)模块,采用1.5V内核供电,集成硬件乘加器、累加器和求和单元; Stratix GX(2003年推出)是首款采用多路千兆高速串行收/发器的可编程逻辑器件,采用了支持4个全双工通道和时钟数据恢复(CDR)技术的收/发器模块后,每个通道的数据传输速率超过了3.1875Gb/s。
StratixⅡ: StratixⅡ是基于90nm生产工艺的高端FPGA,该系列引入了自适应逻辑模块(ALM)体系结构,采用高性能8输入分段式查找表(LUT)替代了4输入LUT。它有两种型号,即StratixⅡ和StratixⅡGX。StratixⅡ(2004年推出)在功能特性上设立了新的标准,如新的逻辑结构和设计安全性技术。StratixⅡGX(2005年推出) 是Altera的第3代FPGA,带有嵌入式收/发器,采用StratixⅡFPGA架构进行构建,在单个器件中最多可集成20多个基于串化器/解串器(SERDES)的收发器。
StratixⅢ: Altera公司于2006年推出的基于65nm生产工艺的高端FPGA。该系列产品功耗较StratixⅡ低50%,而性能却提高了25%,器件容量是StratixⅡ的两倍。StratixⅢ拥有高达533MHz DDR3的高性能存储器接口,性能达到1.6Gb/s的LVDS,在LVDS I/O上支持串行千兆位介质无关接口(SGMII)。StratixⅢ有3种型号,即StratixⅢ、StratixⅢL和StratixⅢE,这3种型号的分别针对逻辑、DSP和存储器及收/发器进行了优化。
StratixⅣ: Altera公司于2008年推出的基于40nm生产工艺的高端FPGA。StratixⅣ具有68万个逻辑单元(LE)、22.4Mb嵌入式存储器和1360个18×18的乘法器,还具有8.5Gb/s的48个高速收发器,1067Mb/s(533MHz) DDR3存储器接口。StratixⅣ内置2个PCI Express硬核知识主权(IP)模块,包括对Gen1(2.5Gb/s)和Gen2 (5.0Gb/s)模式的支持,可实现全端点或根端口功能。StratixⅣ系列提供增强型(E)和带有收/发器的增强型器件(GX和GT)型号,非常适合无线和固网通信、军事、广播等其他的高端数字应用。
StratixⅤ: Altera公司于2010年推出的基于28nm生产工艺的高端FPGA。StratixⅤ集成了28.05Gb/s和14.1Gb/s收/发器,与StratixⅣ相比,收/发器的功耗降低了50%。StratixⅣ内置3个PCIExpress硬核知识主权(IP)模块,包括对Gen1、Gen2 和Gen3模式的支持。StratixⅤ有4种型号,即StratixⅤE、StratixⅤGS、StratixⅤGX和StratixⅤGT。StratixⅤE在高性能逻辑架构上提供95.2万个逻辑单元,适用于ASIC原型开发; StratixⅤGS集成14.1Gb/s收/发器,支持背板,芯片至芯片和芯片至模块,适用于高性能精度可调数字信号处理器(DSP)应用; StratixⅤGX集成14.1Gb/s收/发器,支持背板,芯片至芯片和芯片至模块,适用于高性能、宽带的应用; StratixⅤGT提供28.05Gb/s,适用于需要超宽带和超高性能的应用。
Stratix 10: Altera公司于2013年推出的第一款基于Intel 14nm三栅极生产工艺的高端SOC系列FPGA。Stratix 10器件具有56Gb/s收/发器、28Gb/s背板、浮点数字信号处理(DSP)性能(>10 TFLOP),支持增强IEEE 754单精度浮点,单片管芯中有400多万逻辑单元(LE),支持多管芯3D解决方案,包括SRAM、DRAM和ASIC。Stratix 10非常适用于对性能、宽带和功耗要求较高的场合,如通信基础设施、云计算和数据中心、高性能计算、军事、广播、测试测量和其他应用。目前,Stratix 10包含3种型号,即Stratix 10 SX、Stratix 10 GX和Stratix 10 GT。Stratix 10 SX集成硬核处理器系统,它是Altera公司为提供宽带应用的每瓦处理器性能(性能/W)而开发的; Stratix 10 GX收/发器支持32Gb/s芯片模块、芯片至芯片和工作在28Gb/s的背板,它是Altera公司为100G/400G多系统等高性能和宽带应用而开发的; Stratix 10 GT收/发器支持数据传输速率高达56Gb/s,适用于需要超高带宽和性能的高要求应用。
通常Altera芯片的命名规则如图1-27所示。
图1-27 Altera芯片的命名规则
前缀用于说明芯片的器件类型,其中“EP”表示为典型器件,可重复编程;“EPC”表示组成的EPROM器件;“EPF”表示FLEX 10K或FLFX6000系列、FLFX8000系列器件; “EPM”表示MAX5000系列、MAX7000系列或MAX9000系列器件;“EPX”表示快闪逻辑器件。
器件型号中“M”表示Max;“C”表示Cyclone;“S”表示Stratix;“A”表示Arria系列。
封装形式表示器件的PCB封装类型,其中“D”表示陶瓷双列直插;“Q”表示塑料四面引线扁平封装;“P”表示塑料双列直插;“R”表示功率四面引线扁平封装;“S”表示塑料微型封装;“T”表示薄型“J”形引线芯片载体;“J”表示陶瓷“J”形引线芯片载体; “W”表示陶瓷四面引线扁平封装;“L”表示“J”形引线芯片载体;“B”表示球形网状阵列。
温度范围表示器件允许的工作温度范围,其中“C”表示可以工作在0~85℃;“I”表示可以工作在-40~100℃;“A”表示可以工作在-40~125℃。
速度等级,数字越小表示器件运行速度越快。其中“6”表示芯片的最高运行速度约为500MHz;“7”表示芯片的最高运行速度约为430MHz;“8”表示芯片的最高运行速度约为400MHz。
后缀为“N”,表示器件为无铅;后缀为“ES”,表示为工程样片。
例如,EP1C6Q240C8N表示芯片为Cyclone系列,含有6000个逻辑单元(LE),有240个引脚,工作范围在0~85℃,最高运行速度约为400MHz,无铅、四面引线扁平封装的典型FPGA器件。
2. Xilinx芯片
当前,Xilinx公司的推出的主流FPGA芯片主要包含Spartan-6、Artix-7、Kintex-7和Virtex-7系列,其性能见表1-3。
表1-3 Xilinx公司的推出的主流FPGA芯片性能指标
续表
Xilinx公司的产品一般以“XC”开头,代表Xilinx公司的产品。典型产品型号含义如下所述。
XC95108-7 PQ 160C: XC9500系列CPLD,逻辑宏单元数108,引脚间延时为7ns,采用PQFP封装,160个引脚,商用。
XC2064: XC2000系列FPGA,可配置逻辑块(Configurable Logic Block,CLB)为64个(只此型号以CLB为特征)。
XC2018: XC2000系列FPGA,典型逻辑规模是1800有效门。
XC3020: XC3000系列FPGA,典型逻辑规模是2000有效门。
XC4002A: XC4000A系列FPGA,典型逻辑规模是2K有效门。
XCS10: Spartan系列FPGA,典型逻辑规模是10K。
XCS30: Spartan系列FPGA,典型逻辑规模是XCS10的3倍。
目前,市场上已有的FPGA器件生产厂家已有20多个,而设计软件除芯片生产厂家自行研制的软件外还有50多种,那么在实际项目中,如何选用合适的FPGA器件呢?
选用器件时,应通常遵循“多”、“快”、“好”、“省”4个原则。“多”是指芯片功能多;“快”是指芯片运行速度快;“好”就是芯片的性价比高;“省”就是芯片的功耗低、省电。所以在选择产品时,一般要考虑的因素主要有门密度、内存容量、最大时钟频率、工作电压、最大I/O引脚数及封装形式等。
1.器件的逻辑资源量的选择
适当估测一下功能资源以确定使用什么样的器件,对于提高产品的性价比具有很大的作用。不同的PLD公司在其产品的数据手册中描述芯片逻辑资源的依据和基准并不一致,所以有较大的差别。
例如,Lattice公司推出的ispLSI1032E有32个通用逻辑块(GLB),每个GLB中含有4个宏单元,总共有128个宏单元。Altera公司的EPM7128S中有128个宏单元,也应该有约6000个等效逻辑门; Xilinx的XC95108和XC9536中的宏单元数分别为108和36个,对应的逻辑门数应该约为5000和6000。但应注意,相同的宏单元数并不对应完全相同的逻辑门数。宏单元越多,各单元之间的逻辑门能综合利用的可能性就越大,所对应的等效逻辑门自然就越大。例如,isp1016有16个GLB,64个宏单元,2000个逻辑门,而ispLSI1032E有128个宏单元,逻辑门数是isp1016的3倍。
以上的逻辑门估测只是针对CPLD,对于FPGA而言,估测时应考虑其结构特点。由于FPGA的逻辑颗粒比较小,即其可布线区域是散布在所有的宏单元之间的,所以FPGA对于相同的宏单元数将比CPLD对应更多的逻辑门数。在实际开发中,逻辑资源的占用情况涉及因素较多,大致有以下3种情况。
硬件描述语言的选择、描述风格的选择,以及HDL综合器的选择。
综合和适配开关的选择,如选择速度优化,则将耗用更多的资源;若选择资源优化,则反之。
逻辑功能单元的性质和实现方法。一般情况下,许多组合电路比时序电路占用的逻辑资源要大,如并行进位的加法器、比较器及多路选择器。
2.芯片速度的选择
随着PLD集成技术的不断提高,FPGA的工作速度也不断提高,Pin-to-Pin延时已经达到ns级,在一般使用中,器件的工作频率已经足够高了。目前,Altera和Xilinx公司的器件标称工作频率都超过300MHz。
在具体设计中,应对芯片速度的选择进行综合考虑,并不是速度越快越好。芯片速度的选择应与所设计系统的最高工作速度相一致。使用了速度过高的器件将加大PCB设计的难度。这是因为器件的高速性能越好,则对外界微小毛刺信号的反应越敏感。若电路处理不当,或者编程前的配置选择不当,很容易使系统处于不稳定的工作状态,其中包括输入引脚端的所谓“glitch”干扰。
3.芯片功耗的选择
由于在线编程的需要,FPGA的工作电压越来越低,3.3V、2.5V甚至更低工作电压的FPGA使用已十分普遍。因此,就低功耗、高集成度而言,FPGA具有绝对的优势。相对而言,Xilinx公司的器件的性能较稳定,功耗较小,用户I/O利用率高。例如,XC3000系列器件一般只用两个电源线、两个地线,而密度大体相当的Altera器件可能有8个电源线、8个地线。
4.应用场合的选择
FPGA通常应用于大规模的逻辑设计、ASIC设计或单片机系统设计。FPGA保存逻辑功能的物理结构多为SRAM型,即掉电后将丢失原有的逻辑信息。所以在实际应用中,需要为FPGA芯片配置一个专用ROM,需要将设计好的逻辑信息烧录在此ROM中。电路一旦上电,FPGA就能自动从ROM中读取逻辑信息。FPGA的使用途径主要有以下4个方面。
(1)直接使用: FPGA通常必须附带ROM以保存软信息,对于ROM的编程,要求有一台能对FPGA配置ROM进行烧录的编程器。必要时,可以使用能进行多次编程配置的ROM。也可以使用如ACTEL的不需要配置ROM的一次性FPGA。
(2)间接使用:这个过程类似于8051单片机的掩模生产。这样,获得的FPGA不需要配置ROM,单片成本要低很多。
(3)硬件仿真:在仿真过程中,可以通过下载线直接将逻辑设计的输出文件通过计算机和下载适配电路配置到FPGA器件中,而不必使用配置ROM和专用编程器。
(4)专用集成电路ASIC设计仿真:对产品产量特别大的情况,需要专用的集成电路,或者是单片系统的设计。
5. FPGA封装形式的选择
FPGA器件的封装形式很多,主要有PLCC、PQFP、TQFP、RQFP、VQFP、MQFP、PGA 和BGA等,每一芯片的引脚数从28至数百个不等。
现成的PLCC插座插拔方便,在一般开发中,比较容易使用,适用于小规模的开发。其缺点是需要添加插座的额外成本、I/O口线有限及容易被人非法解密。
PQFP属贴片封装形式,无须插座,引脚间距不足1mm,适合于一般规模的产品开发或生产。RQFP或VQFP引脚间距比PQFP要小,徒手难于焊接,多数大规模、多I/O的器件都采用这种封装。PGA封装的成本比较高,价格昂贵,形似586 CPU,一般不直接用做系统器件。
BGA封装的引脚属于球状引脚,是大规模PLD器件常用的封装形式。BGA封装的引脚结构具有更强的抗干扰和机械抗振性能。
对于不同的设计项目,应使用不同的封装。对于逻辑含量不大,而外接引脚的数量比较大的系统,需要大量的I/O口线才能以单片形式将这些外围器件的工作系统协调起来,因此选贴片形式的器件比较好。
6.从器件厂商方面进行选择
Lattice、Altera、Xilinx为3家PLD主流公司。在这3家PLD主流公司的产品中,Altera 和Xilinx的设计较为灵活,器件利用率较高,器件价格较便宜,品种和封装形式较丰富。但Xilinx的FPGA产品需要外加编程器件和初始化时间,保密性较差,延时较难事先确定。Lattice公司将其独特的ISP(In System Programmable)技术应用到高密度可编程逻辑器件中,该技术极大地促进了PLD产品的发展。与Altera和Xilinx相比,Lattice的开发工具略逊一筹,大规模CPLD、FPGA的竞争力还不够强,但其中小规模PLD比较有特色。
通常来说,在欧洲用Xilinx器件的用户较多,在日本和亚太地区用Altera器件的用户较多,在美国则是平分秋色。全球CPLD/FPGA产品60%以上是由Altera和Xilinx提供的。