新手入门/算法加速/FPGA验证/芯片测试,不同需求如何选择FPGA开发板?(全面分析,爆肝整理)

您所在的位置:网站首页 正点原子视频教程 新手入门/算法加速/FPGA验证/芯片测试,不同需求如何选择FPGA开发板?(全面分析,爆肝整理)

新手入门/算法加速/FPGA验证/芯片测试,不同需求如何选择FPGA开发板?(全面分析,爆肝整理)

#新手入门/算法加速/FPGA验证/芯片测试,不同需求如何选择FPGA开发板?(全面分析,爆肝整理)| 来源: 网络整理| 查看: 265

自己2012年开始接触FPGA,那个时候最希望的就是有一个自己的FPGA板。后来在FPGA课程老师的帮助下,申请了一个学校项目,利用项目经费自主设计了一个cyclone iii开发板。

虽然板子设计的比较丑,但至少有自己的FPGA板了。后来利用这个FPGA板,自己完成了本科毕业设计,还顺便获得一个学校优秀毕业设计。

研究生以后,导师有充足的经费,买了功能更强的板子,自己设计的FPGA板也就成为纪念了。

研究生期间自己主要做芯片前端设计和FPGA验证。

当时组里只有自己擅长RTL和FPGA,硬着头皮带几个学生设计出了第一颗芯片。

由于是第一次设计芯片,踩了很多坑。幸运的是在导师大力支持下成功流片并验证了SoC的全部功能。

研究生期间流片的一个SoC

后来在一家IC公司做规模更大的WiFi 蓝牙双模SoC芯片,也接触过一些FPGA验证。

如今博士做芯片设计也会用到FPGA进行前端验证及芯片测试。

很多老师和同学找我推荐FPGA开发板,最近刚好有空,遂整理此文。

本文将从不同的应用需求出发,教大家如何选择合适的FPGA。全是个人的经验,文章持续更新,推荐收藏!

不同FPGA厂家芯片介绍

选FPGA前,我们首先要了解两大FPGA厂家的产品系列。

一号霸主:AMD Xilinx FPGA家族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区间。

Spartan-7系列FPGA全部型号及内部资源Artix-7系列逻辑资源 12k-215k, I/O 数量 150-500,有1.25Gb/s LVDS差分I/O,PCIe和多个6.6Gb/s的GTP高速串行收发器。支持1066Mhz DDR3。

需要强调一下,Artix-7是市场占有率最高的7系列FPGA(后面要讲到的ZYNQ-7000系列SoC也集成的Artix-7)。数量摊薄了成本,所以其性价比最高。

Artix-7开发板种类很多,价格大多在600-3000区间。相同逻辑资源的FPGA,Artix-7开发板甚至比Spartan-7更便宜。

Artix-7系列FPGA全部型号及内部资源Kintex-7系列属于中高端系列,逻辑资源 65k-477k, I/O 数量 300-500,RAM资源也比上面两个系列多很多,有LVDS差分IO,PCIe和多个12.5Gb/s的GTX高速串行收发器。

这个系列是在最优的价格下换来最高性能,因此性价比也很高,开发板型号很多,价格一般在1.5k-8k区间。

Kintex-7系列FPGA全部型号及内部资源

由于Virtex-7以及20nm和16nm的FPGA市面上很难买到,开发板也只有官方的评估板,所以本文不再介绍。感兴趣的小伙伴可以去xilinx官网查询。

不同系列的FPGA速度等级如下:

Block RAM速度等级如下:

集成ARM硬核的ZYNQ SoC家族

ZYNQ系列SoC在上述的7系列和UltraScale系列FPGA中加入了ARM CPU硬核,可运行裸机程序和Linux。

借助ARM完善的生态,该系列具有更强的灵活性和应用范围。

能够使我们用最少的时间完成从概念构想到设计实现的整个过程,有更多时间进行设计优化和算法开发。

Xilinx全系列ZYNQ一览

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 等高速接口。

ZYNQ-700系列全部型号及内部资源

红框中的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全系列

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