如何为应用选择最佳的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应用于顶级军用雷达、下一代无线技术、先进的数字信号处理、数据中心加速等。对于这些细分市场,成本并不是一个重大的交易破坏者。相反,他们对保持技术实力和能力的前沿感兴趣,领先于竞争对手或对手。
如何为应用选择最佳的FPGA(上)的更多相关文章
- 如何为应用选择最佳的FPGA(下)
如何为应用选择最佳的FPGA(下) How to select an FPGA board? FPGA板的选择在很大程度上受FPGA本身的影响,也受整个板的特性和性能的影响.们已经在上面的章节中讨论了 ...
- 云中的机器学习:FPGA 上的深度神经网络
人工智能正在经历一场变革,这要得益于机器学习的快速进步.在机器学习领域,人们正对一类名为“深度学习”算法产生浓厚的兴趣,因为这类算法具有出色的大数据集性能.在深度学习中,机器可以在监督或不受监督的方式 ...
- PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植
PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植 一:前言 这段时间有个朋友加微信请求帮忙调试一块PCIe采集卡.该采集卡使用xilinx xc ...
- 企业如何选择最佳的SSL
如果你的企业有意采购SSL,那么本文可以给一个很好的方向.在本文中,我们将先简要介绍SSL定义及其工作原理,并探讨目前各种可用的SSL证书类型以及企业如何选择最佳的SSL. SSL定义 SSL及传输层 ...
- Debian初识(选择最佳镜像发布站点加入source.list文件)
选择最佳镜像发布站点加入source.list文件:netselect,netselect-apt “该将哪个Debian镜像发布站点加入source.list文件?”.有很多方法来选择镜像发布站点, ...
- 【小梅哥FPGA进阶教程】MC8051软核在FPGA上的使用
十.MC8051软核在FPGA上的使用 本教程内容力求以详细的步骤和讲解让读者以最快的方式学会 MC8051 IP core 的应用以及相关设计软件的使用,并激起读者对 SOPC 技术的兴趣.本实验重 ...
- R in action读书笔记(11)-第八章:回归-- 选择“最佳”的回归模型
8.6 选择“最佳”的回归模型 8.6.1 模型比较 用基础安装中的anova()函数可以比较两个嵌套模型的拟合优度.所谓嵌套模型,即它的一 些项完全包含在另一个模型中 用anova()函数比较 &g ...
- [大牛翻译系列]Hadoop(4)MapReduce 连接:选择最佳连接策略
4.1.4 为你的数据选择最佳连接策略 已介绍的每个连接策略都有不同的优点和缺点.那么,怎么来判断哪个最适合待处理的数据? 图4.11给出了一个决策树.这个决策树是于论文<A Compariso ...
- FPGA上如何求32个输入的最大值和次大值:分治
上午在论坛看到个热帖,里头的题目挺有意思的,简单的记录了一下. 0. 题目 在FPGA上实现一个模块,求32个输入中的最大值和次大值,32个输入由一个时钟周期给出.(题目来自论坛,面试题,如果觉得不合 ...
随机推荐
- POJ2536 二分图匹配
题意: 有n只老鼠,m个洞,每个洞最多可以藏一只老鼠,每个老鼠的移动速度都是v,给你他们的当前坐标,和洞的坐标,突然老鹰来了,他们必须在s秒内跑到一个洞藏起来,问你最少有多少只老鼠被抓走了. ...
- POJ1548最小路径覆盖
题意: 给你一个DAG,然后问你最少多少条路径能覆盖所有需要覆盖的点. 思路: 最小路径覆盖,太明显了,每个点向它右下方的点连边,然后...没啥难的地方,不说了. #inclu ...
- 一种用于 API 的查询语言-GraphQL
GitHub地址 官网地址 中文网址
- SQL必知必会 —— 性能优化篇
数据库调优概述 数据库中的存储结构是怎样的 在数据库中,不论读一行,还是读多行,都是将这些行所在的页进行加载.也就是说,数据库管理存储空间的基本单位是页(Page). 一个页中可以存储多个行记录(Ro ...
- SimpleDateFormat线程不安全的5种解决方案!
1.什么是线程不安全? 线程不安全也叫非线程安全,是指多线程执行中,程序的执行结果和预期的结果不符的情况就叫做线程不安全. 线程不安全的代码 SimpleDateFormat 就是一个典型的线程不 ...
- Spring 实现策略模式--自定义注解方式解耦if...else
策略模式 定义 定义一簇算法类,将每个算法分别封装起来,让他们可以互相替换,策略模式可以使算法的变化独立于使用它们的客户端 场景 使用策略模式,可以避免冗长的if-else 或 switch分支判断 ...
- prometheus nginx-module-vts删除内存区数据
项目地址:https://github.com/vozlt/nginx-module-vts 删除所zone内存中的数据 curl localhost/status/control?cmd=delet ...
- [bug] HDFS:DataXceiver error processing WRITE_BLOCK operation
文件格式有误,导致读取错误,我的是把制表符敲成了空格
- Linux查看PCIe版本及速率# lspci -vvv |grep Width -i
Linux查看PCIe版本及速率 https://www.cnblogs.com/lsgxeva/p/9542975.html# lspci -vvv |grep Width -i # lspci | ...
- 说明位图,矢量图,像素,分辨率,PPI,DPI?
说明位图,矢量图,像素,分辨率,PPI,DPI? 显示全部 关注者 28 被浏览 7,031 关注问题写回答 邀请回答 添加评论 分享 2 个回答 默认排序 刘凯 21 人赞同了 ...