如何为应用选择最佳的FPGA(上)

如何为应用选择最佳的FPGA(上)

How To Select The Best FPGA For Your Application

在项目规划阶段,为任何一个项目选择一个FPGA部件是最关键的决策之一,这对项目有着长远的影响。通常,这是一个优化问题,项目需求决定了特性和功能之间的权衡和折衷。在规划和决策阶段需要考虑大量的FPGA特性。             

逐一讨论FPGA的常见特性。

FPGA封装             

FPGA封装是指FPGA引脚如何被带到FPGA之外,即FPGA的封装。FPGA封装的PCB封装是FPGA与PCB接触的表面的二维渲染。就像普通的微控制器有DIP、SOIC、QFP等封装形式一样,FPGA也有不同的封装。FPGA制造商提供了任何FPGA封装的PCB封装的详细图纸。可供客户使用的FPGA封装类型多种多样。

FPGA封装是以下方面的决定因素:             

FPGA芯片中的I/O数             

千兆收发器数量(MGT)             

FPGA芯片中I/O和MGT的最大速度             

PCB布线规则、指南和约束

Maximum I/Os vs packages.

有一种FPGA可供选择,在25引脚的WLCSP封装中有20个I/O,而2892个引脚的BGA封装则有大约800个I/O。许多应用程序需要尽可能多的I/O。这些应用可以简单到驱动大量的发光二极管,复杂到控制数百台用于机器人或工业应用的电机。所需的I/o数量由项目决定,这反过来又缩小了包选项的范围。             

下一个重要的考虑因素是PCB布局约束。该项目是针对智能手机等真正紧凑的终端用户设备,还是针对坚固耐用的工业和军事设备?在第一种情况下,封装应该尽可能小,引脚之间的间距非常小。而在后一种情况下,可以放宽设计限制,以适应具有更大球间距的非常大的FPGA。封装决策随后会影响到项目的许多方面,如机械尺寸、PCB层堆叠、PCB布线、制造限制、千兆位收发器(MGT)速度限制等。对于业余爱好者来说,BGA和WLCSP类型的封装可能比较困难,而QFP封装FPGA可能是更好的选择。拥有先进PCB组装机的公司肯定更喜欢BGAs。在BGA这一类中,有一些封装如Wire-Bond-BGA,与倒装芯片BGA相比,它的MGT速度更低。             

大多数FPGA制造商提供一种称为“设备迁移”的功能。这意味着,如果您选择任何一个带有特定封装的FPGA,那么在同一个封装中可能有升级到更高端FPGA的选项。以下图所示的Xilinx Artix-7 FPGA系列为例,如果您选择FGG484封装中的XC7A50T,那么您将拥有5个以上具有相同兼容性的Artix-7设备,您可以选择升级到更高端的FPGA或降级到成本更低的低端FPGA,并保持硬件设计不变。此功能在成本和最佳FPGA利用率方面提供了移动性和灵活性。

Table: Device migration and footprint compatibility between Artix-7 FPGAs.

FPGA资源             

所需FPGA资源的最佳数量,此外,所需FPGA资源的种类取决于项目需求。有些项目可能需要大量的I/O,而有些项目可能只需要FPGA的DSP片。以下是主要的FPGA资源:

1.       Logic resources (LUTs, Flip-Flop, etc)

2.       Memory resources (Distributed RAM, Block RAM, etc)

3.       Clock resources (PLL, MMCM, etc)

4.       I/Os (Single-ended and differential)

5.       DSP slices

6.       Hard-blocks such as ARM cores, PCIe, 100G Ethernet, Interlaken, etc

7.       MGT Transceivers

关于FPGA封装的部分对作为封装一部分的I/o和MGT收发器进行了一些说明,因为它们强烈地决定了FPGA封装和管脚数。在Xilinx行话中,mgt根据其最大传输速率由以下一个可能的名称来表示:GTP、GTX、GTH、GTM、GTY和GTZ。这些都是千兆位收发器,但它们的速度能力各不相同。DisplayPort通常只需要四个收发器,但PCI Express可能需要多达16个收发器。此数字取决于目标应用程序。

不建议将逻辑、内存或时钟资源与设计要求几乎相同的FPGA列入短名单。一旦FPGA开始饱和,Place&Route工具就开始挣扎,很难实现时序闭合。因此,建议预算额外的资源,可能比实际设计要求多20%到30%。             

有些FPGA具有专用的硬块用于特殊用途,如内存控制器、PCI Express硬块和CPU核心(功率、ARM、RISC-V等)。由项目规划者来决定他们是否需要任何专用的硬块。值得注意的是,FPGA的成本会随着FPGA资源数量的增加而增加。资源的能力也随着较新的FPGA架构而变化。             

Styx模块采用XilinxZYNQXC7Z020芯片,该芯片集成了硬硅ARM片上系统(SoC)和基于Artix-7的可编程逻辑。Zynq的SoC部分包括

双核ARM Cortex-A9处理器             

加固的外围设备,如双千兆以太网、SDIO、UART、SPI、I2C等             

静态和动态内存控制器以及许多其他外围设备             

以下方框图说明了Zynq的可编程逻辑部分和SoC(处理系统)部分:

Telesto模块采用Intel MAX 10 FPGA,这是一种非易失性可编程逻辑器件。MAX 10 FPGA带有片上双配置NOR闪存,与传统FPGA相比,它允许非常快速的设备配置。

与传统的FPGA不同,基于MAX 10的Telesto无需外部配置存储器。这节省了PCB设计成本,而且设计不容易失败。此外,双配置闪存允许用户在单个芯片上存储和动态切换两个位流。              接口             

几乎所有与FPGA的通信要么通过可用的通用输入输出,要么通过专用的IOs(如收发器)进行。例如,如果设计需要HDMI输入/输出,则应考虑支持TMDS信令的FPGA。如果设计需要DisplayPort或PCI-Express等,则需要考虑使用带有MGT收发器的FPGA。像DDR2和DDR3这样的内存需要专门的I/O标准和像IODELAY这样的特性。             

编程、调试和配置接口通常由JTAG和用于配置位流存储的非易失性存储器组成。对于远程系统升级要求,最好选择具有“Multiboot”或类似功能的FPGA。例如,如果FPGA配置是由处理器控制的,则不是强制性的。多重启动意味着FPGA可以从非易失性存储器中的许多映像中的一个启动,如果它不能从升级的映像引导,那么它可以回到“黄金”位流。

功率使用             

相对而言,FPGA比ASIC芯片更耗电。功率预算对于智能手机或物联网(IoT)设备等功率敏感型设计非常重要。新一代FPGA系列采用更密集的工艺节点(如28nm或14nm)制造,每个逻辑单元的功耗要求更低。

即使采用节能硅工艺,巨大的FPGA也对电源提出了很高的要求。仅仅FPGA内部核心本身就可能消耗几十安培的电流。再加上I/O、收发器、块RAM等的电源供应,挑战增加了很多。电源供应商和FPGA供应商为所有FPGA提供电源分析工具。我们绝对建议使用它们来规划项目的电力需求。             

成本             

最后一个因素,尽管是一个主要因素,是成本。一个简单的规则是,任何附加功能都会增加成本。以Xilinx的Spartan-7与Artix-7 FPGA系列为例。Spartan-7系列与Artix-7非常相似,除了Spartan-7中没有收发器,并且在类似的逻辑资源计数方面,它们比Artix-7更便宜。因此,如果您只需要一个FPGA来处理大量的I/O,那么使用带有收发器的FPGA就没有多大意义了,这会增加成本,特别是当您可以用一个相同的FPGA以较低的成本获得所需数量的I/O,但没有收发器时。这也是锡林克斯发布Spartan-7系列的原因之一。人们抱怨说没有收发器他们就没有选择,他们不想为他们不打算使用的收发器付费。因此,对于这一细分市场,Spartan-7更有意义。

 

另一方面,更高端的“重磅”FPGA价格非常昂贵。但这些FPGA的目标应用领域是那些用户愿意为昂贵的FPGA付费的应用,因为他们拥有尖端的技术和能力。例如,这些FPGA应用于顶级军用雷达、下一代无线技术、先进的数字信号处理、数据中心加速等。对于这些细分市场,成本并不是一个重大的交易破坏者。相反,他们对保持技术实力和能力的前沿感兴趣,领先于竞争对手或对手。

 

 

 

 

posted @ 2020-07-04 09:12  吴建明wujianming  阅读(948)  评论(0编辑  收藏  举报