新手入门/算法加速/FPGA验证/芯片测试,不同需求如何选择FPGA开发板?(全面分析,爆肝整理) |
您所在的位置:网站首页 › 正点原子视频教程 › 新手入门/算法加速/FPGA验证/芯片测试,不同需求如何选择FPGA开发板?(全面分析,爆肝整理) |
自己2012年开始接触FPGA,那个时候最希望的就是有一个自己的FPGA板。后来在FPGA课程老师的帮助下,申请了一个学校项目,利用项目经费自主设计了一个cyclone iii开发板。 虽然板子设计的比较丑,但至少有自己的FPGA板了。后来利用这个FPGA板,自己完成了本科毕业设计,还顺便获得一个学校优秀毕业设计。 研究生以后,导师有充足的经费,买了功能更强的板子,自己设计的FPGA板也就成为纪念了。 研究生期间自己主要做芯片前端设计和FPGA验证。 当时组里只有自己擅长RTL和FPGA,硬着头皮带几个学生设计出了第一颗芯片。 由于是第一次设计芯片,踩了很多坑。幸运的是在导师大力支持下成功流片并验证了SoC的全部功能。 后来在一家IC公司做规模更大的WiFi 蓝牙双模SoC芯片,也接触过一些FPGA验证。 如今博士做芯片设计也会用到FPGA进行前端验证及芯片测试。 很多老师和同学找我推荐FPGA开发板,最近刚好有空,遂整理此文。 本文将从不同的应用需求出发,教大家如何选择合适的FPGA。全是个人的经验,文章持续更新,推荐收藏! 不同FPGA厂家芯片介绍选FPGA前,我们首先要了解两大FPGA厂家的产品系列。 一号霸主:AMD Xilinx FPGA家族45nm的Spartan-6是比较落后6系列FPGA,估计过不了几年就会停产,唯一的优势是价格便宜,适合初学者。 开发板价格一般在 200-800之间。 另外,Spartan-6系列只能用xilinx ISE套件开发,不支持Vivado,其余系列均支持最新的Vivado开发套件。 Spartan-7, Artix-7和Kintex-7系列市面上最常见。下面我们分别介绍: Spartan-7系列FPGA逻辑资源数量 6k-102k, I/O 数量 100-400,速度相对较慢。有1.25Gb/s LVDS差分I/O,没有高速串行收发器。支持800Mhz DDR3。这里的逻辑资源指FPGA内部的LUT,MUX等数字逻辑,一个普通8051 CPU软核大概需要1k左右的逻辑资源。 Spartan-7性价比并不算高,FPGA开发板可选择性不多,价格大多在 800-2000区间。 需要强调一下,Artix-7是市场占有率最高的7系列FPGA(后面要讲到的ZYNQ-7000系列SoC也集成的Artix-7)。数量摊薄了成本,所以其性价比最高。 Artix-7开发板种类很多,价格大多在600-3000区间。相同逻辑资源的FPGA,Artix-7开发板甚至比Spartan-7更便宜。 这个系列是在最优的价格下换来最高性能,因此性价比也很高,开发板型号很多,价格一般在1.5k-8k区间。 由于Virtex-7以及20nm和16nm的FPGA市面上很难买到,开发板也只有官方的评估板,所以本文不再介绍。感兴趣的小伙伴可以去xilinx官网查询。 不同系列的FPGA速度等级如下: Block RAM速度等级如下: ZYNQ系列SoC在上述的7系列和UltraScale系列FPGA中加入了ARM CPU硬核,可运行裸机程序和Linux。 借助ARM完善的生态,该系列具有更强的灵活性和应用范围。 能够使我们用最少的时间完成从概念构想到设计实现的整个过程,有更多时间进行设计优化和算法开发。 Xilinx全系列ZYNQ一览 ZYNQ系列芯片内部的FPGA和ARM均可以独立工作。我们把ZYNQ当成一个普通FPGA用也完全没问题。 FPGA和ARM之间通过片内AXI总线传递数据。 这里重点强调一下低成本的ZYNQ-7000系列,因为这个系列性价比非常高。 该系列集成的Artix-7 FPGA和ARM A9处理器。ARM端支持DDR3和DDR2,同时集成了USB2.0,SDIO, Gigabit Ethernet 等高速接口。 红框中的XC7Z010和XC7Z020是两个最热门的型号,内部逻辑资源分别是28k和85k。 ZYNQ-7000 开发板种类非常多,价格大多位于600-3000区间。 如果是学习目的,我个人比较推荐ZYNQ-7000系列,不仅价格便宜,网上资料也非常多。 ZYNQ UltraScale+ MPSoC系列与ZYNQ-7000系列相比,该系列属于高端系列,集成了更高性能的ARM Cortex-A53处理器,同时还有双核Cortex-R5系列CPU运行实时性比较高的程序。 该系列的ARM端支持DDR4, LPDDR4, DDR3, DDR3L, LPDDR3, 同时还集成了USB3.0,PCIe Gen2, SATA等高速接口。 这个系列开发板种类丰富,开发板价格一般在3k-20k之间。 二号玩家: Intel FPGA (原ALTERA)Intel没有将FPGA和SoC单独成两类。上图中的五个系列除了MAX外,其余每个系列都有集成ARM硬核的型号。高端Agilex系列有集成Intel自家的CPU硬核的型号。 市面上最常见的是 Cyclone 系列。 其中Cyclone IV 是纯FPGA, 市面上的开发板种类很多,价格也很便宜,一般都在300-1000区间。 Cyclone V 系列是集成了ARM A9硬核的低成本SoC。但是与ZYNQ-7000相比,Cyclone V 开发板种类很少,价格也比较贵。 不同应用场景FPGA开发板推荐FPGA初学者入门初学者买FPGA开发板重点看以下三点: 一、配套学习资料足够完善 必备的资料包括:开发板原理图、硬件手册、步骤详细的实验教程、每个实验的源码。 尤其是配套实验要足够丰富。实验教程里的操作步骤要足够详细。 二、开发板接口和外设足够丰富 作为初学者,开发板外设丰富可以做的实验才更多。学到的知识也会更全面。 常用的外设包括:按键、LED灯、数码管、蜂鸣器、HDMI、串口、USB、以太网、SD卡等。 有些复杂的外设,比如摄像头、高速AD/DA等,不一定都要做到开发板上,有对应的拓展板也可以。这样后面想学更复杂的设计的话,至少有配套的硬件支持。 三、板子做工要足够好 FPGA是极易损坏的一类芯片。如果硬件设计上存在缺陷,可能一不小心一个静电就坏了,或者放一段时间再拿出来用,发现下载不了程序。 而且FPGA属于比较复杂的芯片,硬件设计的时候需要考虑电源的稳定、差分走线、电磁干扰、阻抗匹配、io口保护等等很多问题。 所以买板子,尽量还是选大厂家,做工质量更有保障。 大陆的FPGA板厂家首推 黑金,其次是 正点原子,小梅哥,野火,米联等。境外厂家,比如:台湾友晶 和 Avnet等,也很不错。 FPGA型号方面,对于初学者,推荐选ZYNQ7000系列,原因看我这篇回答 下面推荐几款性价比高,适合初学者入门的开发板: 黑金 AX7010/AX7020一款非常经典的xilinx ZYNQ-7000开发板,资料非常丰富。 黑金毕竟是xilinx 官方合作伙伴,资料和实验教程非常详细且规范。 AX7020这个板子是我用过质量最好的板子,自己曾用这个板子在-20℃-100℃温箱里采的数据,取出来后亚克力板都弯曲了,板子都没问题。 另外,jtag下载器直接做到了板子上,用起来非常方便。 小梅哥ACZ702也是一款ZYNQ-7000开发板,核心板与底板分离设计。 价格和上面的黑金AX7010/AX7020相当,但是板载外设更丰富。 正点原子领航者正点原子推出的领航者是板载外设最多的ZYNQ7000开发板。也是核心板和底板分离设计。 板子做工非常好,上下两层亚克力面板,核心板很薄、很精致。 正点原子的板子最大优势是配套实验非常多。 ZYNQ-7000 mini板这个板子麻雀虽小五脏俱全,常用的外设和接口都有,而且板载JTAG下载器。价格便宜,配套实验也很多。如果不需要太多外设,可以选这款。 如果觉得ZYNQ板子有点贵,也可以选 纯FPGA板,比如 Xilinx spartan-6 或 altera 的cyclone iii / cyclone iv 等。比如: 黑金AX309 Xilinx spartan-6很经典的一个板子,资料丰富,且PCB源文件完全公开。 主芯片XC6SLX9 9k 逻辑资源,576Kb block RAM,初学者完全够用。 小梅哥 AC620 cyclone iv开发板主芯片EP4CE10,10k逻辑资源 正点原子新起点 Cyclone iv开发板主芯片也是EP4CE10,但是板载外设没有小梅哥AC620丰富。 数字芯片FPGA验证根据自己的实际经验,做芯片前端设计和FPGA验证,特别是复杂SOC,尽量选速度快、逻辑资源丰富的FPGA。 逻辑资源至少50k+,这样我们才能进行中等以上规模的SoC验证或各种复杂算法加速。 需要强调一下,在实际使用中,FPGA资源至少有30%左右冗余,否则布局布线会很困难,而且时序可能不收敛。 做IC的FPGA验证一般没有必要选集成ARM硬核的ZYNQ系列,因为我们只是验证数字电路的逻辑功能。 另外,芯片前端设计是一个非常泛的岗位,WIFI/蓝牙基带、CPU/DSP、DDR controller, 密码算法以及Serdes的数字部分等都是前端。 因此,FPGA板的外设接口要尽可能丰富,这样无论从事哪个细分方向,开发板都有对应的功能和接口。 综上,我个人比较推荐xilinx kintex7系列FPGA,这个系列的FPGA架构先进,速度快(时钟可以到700Mhz),逻辑资源丰富,有PCIE,GTX收发器等高速接口。 目前市面上比较常见的K7芯片是XC7K325T。325k的逻辑资源能满足绝大多数SOC设计需求,以及OFDM通信系统、AI加速器、密码算法引擎等应用。 如果是学校或公司采购,可以考虑购买xilinx 官方的板子,配套资料更齐全,还送正版vivado。 如果官方板子的英文资料看起来费时间,也可以考虑黑金的板子,教程全中文,价格适中,5k左右。 个人使用的话,可以选一些性价比高的板子。我目前知道的全网性价比最高的kintex7开发板是下面这款: 主芯片:XC7K325T 功能接口: 10G/25G/40G/100G光纤接口PCIE2.0X4/X8,PCIE3.0X8/X16FMC LPC HPC 接口 SRIO 互联( FPGA 或者 FPGA 加 DSP )SATA 接口或者 NVME 接口或者 mSATA 阵列 Camera link 视频接口DDR3内存条插槽(配一根DDR3内存)HDMI/RJ45/USB/ SD 卡等基础接口价格:1320RMB 注意:这个板子默认没有下载器和 FMC LPC HPC 接口,需要联系商家单独购买。 下面这两款kintex7板子性价比也很高,虽然价格比上面那款贵了几百块钱,但外设更加丰富,而且板载USB下载器和DDR3。 板子分为基础款和升级款,对比如下: 基础版主芯片XC7K325T,升级版主芯片可选XC7K325T或XC7K410T。 基础版 升级版 芯片测试芯片测试主要用FPGA从芯片内部读取数据,以便分析芯片的性能。或者用FPGA生成芯片的控制信号或激励信号。 建议选ZYNQ系列,开发板外设不一定要很丰富,有常用通信接口和通用IO即可。逻辑资源也不用特别多,几十k就可以了。 举个栗子: 组里做一个芯片,需要采几个million 的数据分析性能,而且还要在不同温度下采。 一个学生用FPGA内置的逻辑分析仪ILA。受限于FPGA内部资源,一次只能采几百K,然后手动复制到Excel 再采,如此机械重复。一个温度测试光是数据就采了好几天,眼都快花了。 后来换成ZYNQ,写几行c代码用ARM控制FPGA自动采数据,数据再经过ARM简单处理后直接存SD卡,自己只负责坐旁边刷手机,等这个温度点采完换下个温度点。半天时间采了几百million 的数据。还顺带把数据给处理了。 推荐两款适合做芯片测试的开发板: 黑金AX7010/AX7020 我博士期间一直都是用的这个板子,质量很好。选AX7010即可,还不到一千块钱。 或者选这个mini的小板也可以,常用接口都有,7010芯片的板子才五百多块钱。 算法硬件加速本周更新。。。 其它优质内容推荐: IC设计者笔记:FPGA如何入门?书籍及学习网站推荐 IC设计者笔记:Xilinx ZYNQ+TCP通信+Python上位机 实现实时视频传输系统 IC设计者笔记:既然zynq能完成fpga+嵌入式arm的功能那是不是可以直接买zynq分别来学fpga和arm? 参考文献及网站: Xilinx 7-series-product-selection-guide.pdf |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |