liuwa666 / webclipper

web clipper保存的笔记
2 stars 0 forks source link

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

Open liuwa666 opened 1 year ago

liuwa666 commented 1 year ago

自己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

Xilinx全系列FPGA一览

45nm的Spartan-6是比较落后6系列FPGA,估计过不了几年就会停产,唯一的优势是价格便宜,适合初学者。

开发板价格一般在 200-800之间。

另外,Spartan-6系列只能用xilinx ISE套件开发,不支持Vivado,其余系列均支持最新的Vivado开发套件。

Spartan-7, Artix-7和Kintex-7系列市面上最常见。下面我们分别介绍:

这里的逻辑资源指FPGA内部的LUT,MUX等数字逻辑,一个普通8051 CPU软核大概需要1k左右的逻辑资源。

Spartan-7性价比并不算高,FPGA开发板可选择性不多,价格大多在 800-2000区间。

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

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

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

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

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

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

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

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

Block RAM速度等级如下:

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

另外,此系列支持XILINX VITIS-AI DPU开发, 支持通用的YOLO V3等神经网络卷积算法,适合进行AI算法加速。

这个系列开发板种类丰富,开发板价格一般在2k-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系列,原因看我这篇回答

下面推荐几款性价比高,适合初学者入门的开发板:

一款非常经典的xilinx ZYNQ-7000开发板,资料非常丰富。

黑金毕竟是xilinx 官方合作伙伴,资料和实验教程非常详细且规范。

AX7020这个板子是我用过质量最好的板子,自己曾用这个板子在-20℃-100℃温箱里采的数据,取出来后亚克力板都弯曲了,板子都没问题。

另外,jtag下载器直接做到了板子上,用起来非常方便。

[

](https://uland.taobao.com/ccoupon/edetail?e=ER8zqDXTCwOlhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2FceOxyIPsWPvAoQW%2BJSGTLT1%2F%2Be%2BBHc8Lwr2PSxUXx9W7KCJkMn%2BbfNP0oVkRkHCvyMW3eIAWKRa6LeGhgJY%2B%2FS%2BreFeRsyJbXf9vlJpT9pbBdgqhjKMUzV2zkN4vE%2FQwAbAN3NcqP1aDWYgRQZf4TpGevCLm%2F1zR9esQLyDzAADuqv6bkVGvkxKpnO2PoFfTDMrgMtLlWwCK0TBzb4R8FyEMSWmDEFEAzhHkIsvdMbRC9bUCdKCujKyvfDNs4%2Fkj2HRXkZ0nJSHe8pI0qCtc22r%2BXWRi9Xw9jaEOimRvXniSqNMWshE7J5nwMTMh13cEV0fRlHspGdmtkkkFUenoMBQKKLX%2FrKE5YbqllJ%2FLsam4XEKR%2BT0n3TTiZb6qxNoeie%2FpBy9wBFg%3D%3D&traceId=21507f5a16825549658491737ec11d&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175454_c3b9@01&cont_id=0_620725189)

也是一款ZYNQ-7000开发板,核心板与底板分离设计。

价格和上面的黑金AX7010/AX7020相当,但是板载外设更丰富。

正点原子推出的领航者是板载外设最多的ZYNQ7000开发板。也是核心板和底板分离设计。

板子做工非常好,上下两层亚克力面板,核心板很薄、很精致。

正点原子的板子最大优势是配套实验非常多。

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3D2wpfaUP4ybRw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsfxuYVZh81c1lZDSmy3%2FHXE56ZoUzm0cdngJMd2yjs373q5%2F6sUdbJK5eQTfiGkiyngLBdaQJ%2BtbCXUfxMrZeE%2BI17WCmanVy7KWL%2FioOWCUNJ%2Fe219szyvLkqciUZoSe8%2FGBXuflqeaX8zZkNxAEvPc5mUhqvabW84KvMBWkJKdfD5ROxJDGXoLu8ccgqTaF6YiPa89eaMJ14JbtKzVYRYpQZBmbfDYnBlI%2FgnJ4EHD%2BMCqXV7QBuF6yLkQCjAKZpwGdCPWv7e5&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175453_c3b3@01&cont_id=0_620725189)

这个板子麻雀虽小五脏俱全,常用的外设和接口都有,而且板载JTAG下载器。价格便宜,配套实验也很多。如果不需要太多外设,可以选这款。

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3DJCy6i4wloaRw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsT9%2FC%2FLZDwu0BN1PPOAGrpQLZMqoQW%2BfuB6GmlJyRiVTHKeC8Ag3nSbTZ3f5wNoviFkvxTasBepXfYLekkkenUn%2BvZsWQRQneKLAEq%2FZtPhJKKPaFU2UEtBj0n6UXAgF3v2%2BtTfElYb8RFDRgzhUg%2BSjJnAf507Uv9CZ4J%2BnlCHiC3NJ3yQKbNJxVzETGTu7b5aYzSMEwlxThakdowOjbI2OmjxjH%2BEyQGTWRvaaxnzAXJHdUWjDlfMDnfwHPQnOXiGFCzYOOqAQ&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175453_c3b6@01&cont_id=0_620725189)

如果觉得ZYNQ板子有点贵,也可以选 纯FPGA板,比如 Xilinx spartan-6 或 altera 的cyclone 系列等。比如:

很经典的一个板子,资料丰富,且PCB源文件完全公开。

主芯片XC6SLX9

9k 逻辑资源,576Kb block RAM,初学者完全够用。

主芯片EP4CE10,10k逻辑资源

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3DN0FKXjj1EwBw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsQpdV8og%2BpPbMrNZhAmXwK0LZMqoQW%2BfuB6GmlJyRiVTeqXerYZjALKLzZ5lcc%2BzTnvRbW6bCpnpx9LJVIkow%2FSjCKB7BzpJsgBNOxG9YtQ2jiaz4a4d4SFj0n6UXAgF3v2%2BtTfElYb8RFDRgzhUg%2BSjJnAf507Uv2o5cvNXrt7msnM8ccQFr47iicxPO%2BC7z5aYzSMEwlxThakdowOjbI2OmjxjH%2BEyQGTWRvaaxnzAXJHdUWjDlfMDnfwHPQnOXiGFCzYOOqAQ&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175454_c3bf@01&cont_id=0_620725189)

主芯片也是EP4CE10,但是板载外设没有小梅哥AC620丰富。

[

](https://uland.taobao.com/ccoupon/edetail?e=6QVIuYE37dalhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2HMEpKmw6DkoxNXRqtMGZVDaJLXKbc7ZeQjK0dz%2FJGL7NAryhrQbD07fdVVjp4PyQQUcLJJYP0Uq8czbr%2FSWb0F6uEs4UftlImeGHw%2FJP3TLBte4NtDCkHHgEwcsZWs%2BjeFgi2qeamJKBk0S8VKhnBnkPemCH5WOiHtxSVDzkWL8sczbr%2FSWb0FByTaSk%2FP2bCFihJYzF9Z5X9aXhu10nbANS1pG4NcXLs883CjVMuwIsqbw9tBXPBF%2BcdisQ1nnpQfB0ZlvXPxquCUYe0dYg%2FywDPW6%2B5bXkr2pYqKbZ%2B2AL0Sx9r0d4Ap0aLluICdWdHOM3gxL9oWhjLHe%2BG8hIAvosUBujMIiyN4chzvyoReYD5%2F6mJ0IOYhJTNWSR3CwiY%3D&traceId=2150414f16875660309472420e08aa&union_lens=lensId:TAPI@1687566031@212cac0a_0bbb_188eac61b95_e034@01&cont_id=0_620725189)

下面这款是我找到的全网最便宜的FPGA开发板,有按键、LED、拨码开关、数码管、串口等。

主芯片EP1C3T144, 3k的逻辑资源,1个PLL, 104个用户1/O。

[

](https://uland.taobao.com/ccoupon/edetail?e=MKnYKlPPytGlhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2ElosQnkqGC2VxUvhEeoqwyRaEqY3VpnpQZeefIpQKq7NcEZlzfJ8WGRSHvQe2jOLY%2FBw6SYxHp8vPnOEsmCbEywPQ3%2FdnmFIF0xCG5vwFawYXOBqAq3u%2Fv8vdZX%2FOcyJETd2KLDz7owU3G7x9ZEG1jWSzR0%2FyEJk4NPdV1dyZvP%2FPnOEsmCbEyJ9yZDtvgpJr8pYRu87NK%2FTrxVBOMvTeoFUqCarzfCIvh32nO2%2FBRmfkJGWm%2FhYe4IrRMHNvhHwXIQxJaYMQUQDOEeQiy90xtEL1tQJ0oK6Po0V5UvLv7UYxfd0Ed4Nih1AAjGFr78i0yaCGkTykr5YqI0c%2F6tpeqWG6pZSfy7GpuFxCkfk9J9004mW%2BqsTaHonv6QcvcARY%3D&traceId=213e24f616893806540413523e09e0&union_lens=lensId:TAPI@1689380654@21054a12_0d72_18956ef0f8b_e69a@01&cont_id=0_620725189)

数字芯片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左右。

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3Drt1egydKnadw4vFB6t2Z2ueEDrYVVa64yK8Cckff7TVRAdhuF14FMUhDi7nmtG1Ixq3IhSJN6GRuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsVG3m1yG5HIAIYeQkRDGswE56ZoUzm0cdjFnKNBxtUOF56yhindHoRgvAnu9rAvxKZRAsorjvbzOMVRHl29MtH%2BI%2BqiCZKhf6AN1jmCWBCSk2Ri9Bm4jDHegZ4hAvgWL0UUwof8VHNmWKUGQZm3w2JwZSP4JyeBBw%2FjAql1e0Abhesi5EAowCmYM9GTF26nMaQjLyjXoONM0NZWBhAbsulZpXUp9YHbrRmPSfpRcCAXe%2Fb61N8SVhvxEUNGDOFSD5KMmcB%2FnTtS%2FG%2BtfjzlEE%2FfGJe8N%2FwNpGw%3D%3D&union_lens=lensId:TAPI@1689380654@21054a12_0d72_18956ef0f8b_e697@01&cont_id=0_620725189)

个人使用的话,可以选一些性价比高的板子。我目前知道的全网性价比最高的kintex7开发板是下面这款:

主芯片:XC7K325T

功能接口:

价格:1320RMB

注意:这个板子默认没有下载器和 FMC LPC HPC 接口,需要联系商家单独购买。

下面这两款kintex7板子性价比也很高,虽然价格比上面那款贵了几百块钱,但外设更加丰富,而且板载USB下载器和DDR3。

板子分为基础款和升级款,对比如下:

基础版主芯片XC7K325T,升级版主芯片可选XC7K325T或XC7K410T。

基础版

升级版

如果想要更多逻辑资源和更快的速度,可以考虑下面这款 20nm工艺的 Kintex Ultrascale开发板。

主芯片可选KU040或KU060, 逻辑资源如下图

芯片测试

芯片测试主要用FPGA从芯片内部读取数据,以便分析芯片的性能。或者用FPGA生成芯片的控制信号或激励信号。

建议选ZYNQ系列,开发板外设不一定要很丰富,有常用通信接口和通用IO即可。逻辑资源也不用特别多,几十k就可以了。

举个栗子:

组里做一个芯片,需要采几个million 的数据分析性能,而且还要在不同温度下采。

一个学生用FPGA内置的逻辑分析仪ILA。受限于FPGA内部资源,一次只能采几百K,然后手动复制到Excel 再采,如此机械重复。一个温度测试光是数据就采了好几天,眼都快花了。

后来换成ZYNQ,写几行c代码用ARM控制FPGA自动采数据,数据再经过ARM简单处理后直接存SD卡,自己只负责坐旁边刷手机,等这个温度点采完换下个温度点。半天时间采了几百million 的数据。还顺带把数据给处理了。

再举一个栗子:

有一次自己接到导师电话,电话里老板煞有介事地说一个图像传感器的项目要结题,时间很紧,需要帮忙用FPGA将图像传感器的数据实时传输到PC,并且通过上位机拍照。由于时间紧急,需要在两周内完成。后来自己借助ZYNQ端的ARM,运行xilinx SDK中的lwip 小型 TCP/IP 协议将实时视频传到了上位机的Python GUI,顺利完成了任务。

如果没有ZYNQ和Python的帮助,很难想象两周时间怎么完成。整个Demo系统我整理成了一篇文章,全部代码都已公开,具体见这篇文章:

推荐两款适合做芯片测试的开发板:

我博士期间一直都是用的这个板子,质量很好。芯片测试选AX7010即可,还不到一千块钱。

[

](https://uland.taobao.com/ccoupon/edetail?e=ER8zqDXTCwOlhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2FceOxyIPsWPvAoQW%2BJSGTLT1%2F%2Be%2BBHc8Lwr2PSxUXx9W7KCJkMn%2BbfNP0oVkRkHCvyMW3eIAWKRa6LeGhgJY%2B%2FS%2BreFeRsyJbXf9vlJpT9pbBdgqhjKMUzV2zkN4vE%2FQwAbAN3NcqP1aDWYgRQZf4TpGevCLm%2F1zR9esQLyDzAADuqv6bkVGvkxKpnO2PoFfTDMrgMtLlWwCK0TBzb4R8FyEMSWmDEFEAzhHkIsvdMbRC9bUCdKCujKyvfDNs4%2Fkj2HRXkZ0nJSHe8pI0qCtc22r%2BXWRi9Xw9jaEOimRvXniSqNMWshE7J5nwMTMh13cEV0fRlHspGdmtkkkFUenoMBQKKLX%2FrKE5YbqllJ%2FLsam4XEKR%2BT0n3TTiZb6qxNoeie%2FpBy9wBFg%3D%3D&traceId=21507f5a16825549658491737ec11d&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175454_c3b9@01&cont_id=0_620725189)

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3DJCy6i4wloaRw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsT9%2FC%2FLZDwu0BN1PPOAGrpQLZMqoQW%2BfuB6GmlJyRiVTHKeC8Ag3nSbTZ3f5wNoviFkvxTasBepXfYLekkkenUn%2BvZsWQRQneKLAEq%2FZtPhJKKPaFU2UEtBj0n6UXAgF3v2%2BtTfElYb8RFDRgzhUg%2BSjJnAf507Uv9CZ4J%2BnlCHiC3NJ3yQKbNJxVzETGTu7b5aYzSMEwlxThakdowOjbI2OmjxjH%2BEyQGTWRvaaxnzAXJHdUWjDlfMDnfwHPQnOXiGFCzYOOqAQ&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175453_c3b6@01&cont_id=0_620725189)

算法硬件加速

算法硬件加速是一个非常广泛的应用方向,包括:通信算法、神经网络、密码算法、视频图像处理等。

这个方向最好选逻辑资源丰富,速度快的FPGA,比如Kintex-7或UltraScale系列。

性价比较高的kintex7开发板是下面这款:

主芯片:XC7K325T,325k逻辑资源

功能接口:

价格:1320RMB

注意:这个板子默认没有下载器和 FMC LPC HPC 接口,需要联系商家单独购买。

还有一款外设更加丰富,而且板载USB下载器和DDR3的kintex7开发板性价比也非常高:

如果需要Demo、数据传输、实时显示等,最好选有ARM硬核的ZYNQ UltraScale+ MPSoC系列,这样我们可以将FPGA的硬件加速特性和软件编程的灵活性结合起来,并借助ARM完善的生态快速实现原型验证。而且UltraScale系列FPGA工艺先进,速度更快,而且逻辑资源丰富。

值得一提的是,UltraScale+ MPSoC系列支持XILINX VITIS-AI DPU开发, 支持通用的YOLO V3等神经网络卷积算法,非常适合AI算法加速。

目前已知性价比最高的ZYNQ UltraScale+ MPSoC 开发板是黑金 AXU2CG。价格才一千多块钱,属于入门款UltraScale+ MPSoC系列。

这款开发板是xilinx为了推广Ultrascale+ MPSOC 系列 FPGA委托黑金设计的,主芯片是XCZU2CG,集成了 1.3GHz 双核 ARM A53 CPU和500 Mhz 双核ARM R5, 同时配有最高64bit DDR4,FPGA端有103K 逻辑资源,5.3Mb block RAM。

这个开发板小巧方便,接口丰富,板载USB3.0/千兆以太网/PCIE/DP接口/串口等等,支持4K显示,2路MIPI输入。还预留了2个40针标准扩展口,引出68个IO口,可用于扩展使用。

另外,此开发板配套了大量的例程和教程,8部原创教程、110+的例程。例程从基础FPGA,SDK,到linux开发,以及HLS开发,AI开发,应有尽有。

正点原子也推出一款很高性价比的Ultrascale+ MPSOC 系列 FPGA开发板,这个开发板的主芯片有XCZU2CG, XCZU2EG和XCZU4EV可选,具体区别可以点击下方链接查看。

如果想要实现比较复杂的神经网络架构,可选择更多逻辑资源的FPGA,下面这款黑金的板子主芯片可选 XCZU9EG 或 XCZU15EG,逻辑资源分别是600k和747k。


其它优质内容推荐:

IC设计者笔记:FPGA如何入门?书籍及学习网站推荐

IC设计者笔记:Xilinx ZYNQ+TCP通信+Python上位机 实现实时视频传输系统

IC设计者笔记:既然zynq能完成fpga+嵌入式arm的功能那是不是可以直接买zynq分别来学fpga和arm?

IC设计者笔记:好用的latex编辑器推荐

IC设计者笔记:两小时学会使用Andriod studio开发第一个安卓程序,详细入门教程,建议收藏!

参考文献及网站:

  1. Xilinx 7-series-product-selection-guide.pdf
  2. Xilinx UltraScale FPGA Prudcut Tables and Product Selection Guide.pdf
Robotislove commented 1 month ago

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

另外,此系列支持XILINX VITIS-AI DPU开发, 支持通用的YOLO V3等神经网络卷积算法,适合进行AI算法加速。

这个系列开发板种类丰富,开发板价格一般在2k-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下载器直接做到了板子上,用起来非常方便。

[

](https://uland.taobao.com/ccoupon/edetail?e=ER8zqDXTCwOlhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2FceOxyIPsWPvAoQW%2BJSGTLT1%2F%2Be%2BBHc8Lwr2PSxUXx9W7KCJkMn%2BbfNP0oVkRkHCvyMW3eIAWKRa6LeGhgJY%2B%2FS%2BreFeRsyJbXf9vlJpT9pbBdgqhjKMUzV2zkN4vE%2FQwAbAN3NcqP1aDWYgRQZf4TpGevCLm%2F1zR9esQLyDzAADuqv6bkVGvkxKpnO2PoFfTDMrgMtLlWwCK0TBzb4R8FyEMSWmDEFEAzhHkIsvdMbRC9bUCdKCujKyvfDNs4%2Fkj2HRXkZ0nJSHe8pI0qCtc22r%2BXWRi9Xw9jaEOimRvXniSqNMWshE7J5nwMTMh13cEV0fRlHspGdmtkkkFUenoMBQKKLX%2FrKE5YbqllJ%2FLsam4XEKR%2BT0n3TTiZb6qxNoeie%2FpBy9wBFg%3D%3D&traceId=21507f5a16825549658491737ec11d&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175454_c3b9@01&cont_id=0_620725189)

  • 小梅哥ACZ702

也是一款ZYNQ-7000开发板,核心板与底板分离设计。

价格和上面的黑金AX7010/AX7020相当,但是板载外设更丰富。

  • 正点原子领航者

正点原子推出的领航者是板载外设最多的ZYNQ7000开发板。也是核心板和底板分离设计。

板子做工非常好,上下两层亚克力面板,核心板很薄、很精致。

正点原子的板子最大优势是配套实验非常多。

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3D2wpfaUP4ybRw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsfxuYVZh81c1lZDSmy3%2FHXE56ZoUzm0cdngJMd2yjs373q5%2F6sUdbJK5eQTfiGkiyngLBdaQJ%2BtbCXUfxMrZeE%2BI17WCmanVy7KWL%2FioOWCUNJ%2Fe219szyvLkqciUZoSe8%2FGBXuflqeaX8zZkNxAEvPc5mUhqvabW84KvMBWkJKdfD5ROxJDGXoLu8ccgqTaF6YiPa89eaMJ14JbtKzVYRYpQZBmbfDYnBlI%2FgnJ4EHD%2BMCqXV7QBuF6yLkQCjAKZpwGdCPWv7e5&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175453_c3b3@01&cont_id=0_620725189)

  • ZYNQ-7000 mini板

这个板子麻雀虽小五脏俱全,常用的外设和接口都有,而且板载JTAG下载器。价格便宜,配套实验也很多。如果不需要太多外设,可以选这款。

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3DJCy6i4wloaRw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsT9%2FC%2FLZDwu0BN1PPOAGrpQLZMqoQW%2BfuB6GmlJyRiVTHKeC8Ag3nSbTZ3f5wNoviFkvxTasBepXfYLekkkenUn%2BvZsWQRQneKLAEq%2FZtPhJKKPaFU2UEtBj0n6UXAgF3v2%2BtTfElYb8RFDRgzhUg%2BSjJnAf507Uv9CZ4J%2BnlCHiC3NJ3yQKbNJxVzETGTu7b5aYzSMEwlxThakdowOjbI2OmjxjH%2BEyQGTWRvaaxnzAXJHdUWjDlfMDnfwHPQnOXiGFCzYOOqAQ&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175453_c3b6@01&cont_id=0_620725189)

如果觉得ZYNQ板子有点贵,也可以选 纯FPGA板,比如 Xilinx spartan-6 或 altera 的cyclone 系列等。比如:

  • 黑金AX309 Xilinx spartan-6

很经典的一个板子,资料丰富,且PCB源文件完全公开。

主芯片XC6SLX9

9k 逻辑资源,576Kb block RAM,初学者完全够用。

  • 小梅哥 AC620 cyclone iv开发板

主芯片EP4CE10,10k逻辑资源

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3DN0FKXjj1EwBw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsQpdV8og%2BpPbMrNZhAmXwK0LZMqoQW%2BfuB6GmlJyRiVTeqXerYZjALKLzZ5lcc%2BzTnvRbW6bCpnpx9LJVIkow%2FSjCKB7BzpJsgBNOxG9YtQ2jiaz4a4d4SFj0n6UXAgF3v2%2BtTfElYb8RFDRgzhUg%2BSjJnAf507Uv2o5cvNXrt7msnM8ccQFr47iicxPO%2BC7z5aYzSMEwlxThakdowOjbI2OmjxjH%2BEyQGTWRvaaxnzAXJHdUWjDlfMDnfwHPQnOXiGFCzYOOqAQ&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175454_c3bf@01&cont_id=0_620725189)

  • 正点原子新起点 Cyclone iv开发板

主芯片也是EP4CE10,但是板载外设没有小梅哥AC620丰富。

[

](https://uland.taobao.com/ccoupon/edetail?e=6QVIuYE37dalhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2HMEpKmw6DkoxNXRqtMGZVDaJLXKbc7ZeQjK0dz%2FJGL7NAryhrQbD07fdVVjp4PyQQUcLJJYP0Uq8czbr%2FSWb0F6uEs4UftlImeGHw%2FJP3TLBte4NtDCkHHgEwcsZWs%2BjeFgi2qeamJKBk0S8VKhnBnkPemCH5WOiHtxSVDzkWL8sczbr%2FSWb0FByTaSk%2FP2bCFihJYzF9Z5X9aXhu10nbANS1pG4NcXLs883CjVMuwIsqbw9tBXPBF%2BcdisQ1nnpQfB0ZlvXPxquCUYe0dYg%2FywDPW6%2B5bXkr2pYqKbZ%2B2AL0Sx9r0d4Ap0aLluICdWdHOM3gxL9oWhjLHe%2BG8hIAvosUBujMIiyN4chzvyoReYD5%2F6mJ0IOYhJTNWSR3CwiY%3D&traceId=2150414f16875660309472420e08aa&union_lens=lensId:TAPI@1687566031@212cac0a_0bbb_188eac61b95_e034@01&cont_id=0_620725189)

  • Cyclone I 开发板

下面这款是我找到的全网最便宜的FPGA开发板,有按键、LED、拨码开关、数码管、串口等。

主芯片EP1C3T144, 3k的逻辑资源,1个PLL, 104个用户1/O。

[

](https://uland.taobao.com/ccoupon/edetail?e=MKnYKlPPytGlhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2ElosQnkqGC2VxUvhEeoqwyRaEqY3VpnpQZeefIpQKq7NcEZlzfJ8WGRSHvQe2jOLY%2FBw6SYxHp8vPnOEsmCbEywPQ3%2FdnmFIF0xCG5vwFawYXOBqAq3u%2Fv8vdZX%2FOcyJETd2KLDz7owU3G7x9ZEG1jWSzR0%2FyEJk4NPdV1dyZvP%2FPnOEsmCbEyJ9yZDtvgpJr8pYRu87NK%2FTrxVBOMvTeoFUqCarzfCIvh32nO2%2FBRmfkJGWm%2FhYe4IrRMHNvhHwXIQxJaYMQUQDOEeQiy90xtEL1tQJ0oK6Po0V5UvLv7UYxfd0Ed4Nih1AAjGFr78i0yaCGkTykr5YqI0c%2F6tpeqWG6pZSfy7GpuFxCkfk9J9004mW%2BqsTaHonv6QcvcARY%3D&traceId=213e24f616893806540413523e09e0&union_lens=lensId:TAPI@1689380654@21054a12_0d72_18956ef0f8b_e69a@01&cont_id=0_620725189)

数字芯片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左右。

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3Drt1egydKnadw4vFB6t2Z2ueEDrYVVa64yK8Cckff7TVRAdhuF14FMUhDi7nmtG1Ixq3IhSJN6GRuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsVG3m1yG5HIAIYeQkRDGswE56ZoUzm0cdjFnKNBxtUOF56yhindHoRgvAnu9rAvxKZRAsorjvbzOMVRHl29MtH%2BI%2BqiCZKhf6AN1jmCWBCSk2Ri9Bm4jDHegZ4hAvgWL0UUwof8VHNmWKUGQZm3w2JwZSP4JyeBBw%2FjAql1e0Abhesi5EAowCmYM9GTF26nMaQjLyjXoONM0NZWBhAbsulZpXUp9YHbrRmPSfpRcCAXe%2Fb61N8SVhvxEUNGDOFSD5KMmcB%2FnTtS%2FG%2BtfjzlEE%2FfGJe8N%2FwNpGw%3D%3D&union_lens=lensId:TAPI@1689380654@21054a12_0d72_18956ef0f8b_e697@01&cont_id=0_620725189)

个人使用的话,可以选一些性价比高的板子。我目前知道的全网性价比最高的kintex7开发板是下面这款:

主芯片:XC7K325T

功能接口:

  • 10G/25G/40G/100G光纤接口
  • PCIE2.0X4/X8,PCIE3.0X8/X16
  • FMC 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。

基础版

升级版

如果想要更多逻辑资源和更快的速度,可以考虑下面这款 20nm工艺的 Kintex Ultrascale开发板。

主芯片可选KU040或KU060, 逻辑资源如下图

芯片测试

芯片测试主要用FPGA从芯片内部读取数据,以便分析芯片的性能。或者用FPGA生成芯片的控制信号或激励信号。

建议选ZYNQ系列,开发板外设不一定要很丰富,有常用通信接口和通用IO即可。逻辑资源也不用特别多,几十k就可以了。

举个栗子:

组里做一个芯片,需要采几个million 的数据分析性能,而且还要在不同温度下采。

一个学生用FPGA内置的逻辑分析仪ILA。受限于FPGA内部资源,一次只能采几百K,然后手动复制到Excel 再采,如此机械重复。一个温度测试光是数据就采了好几天,眼都快花了。

后来换成ZYNQ,写几行c代码用ARM控制FPGA自动采数据,数据再经过ARM简单处理后直接存SD卡,自己只负责坐旁边刷手机,等这个温度点采完换下个温度点。半天时间采了几百million 的数据。还顺带把数据给处理了。

再举一个栗子:

有一次自己接到导师电话,电话里老板煞有介事地说一个图像传感器的项目要结题,时间很紧,需要帮忙用FPGA将图像传感器的数据实时传输到PC,并且通过上位机拍照。由于时间紧急,需要在两周内完成。后来自己借助ZYNQ端的ARM,运行xilinx SDK中的lwip 小型 TCP/IP 协议将实时视频传到了上位机的Python GUI,顺利完成了任务。

如果没有ZYNQ和Python的帮助,很难想象两周时间怎么完成。整个Demo系统我整理成了一篇文章,全部代码都已公开,具体见这篇文章:

推荐两款适合做芯片测试的开发板:

  • 黑金AX7010/AX7020

我博士期间一直都是用的这个板子,质量很好。芯片测试选AX7010即可,还不到一千块钱。

[

](https://uland.taobao.com/ccoupon/edetail?e=ER8zqDXTCwOlhHvvyUNXZQst4RUgB%2BQM1dI5raycii4uynEbLfMGNpuwdvbsxuixI1mVYSbYA2FceOxyIPsWPvAoQW%2BJSGTLT1%2F%2Be%2BBHc8Lwr2PSxUXx9W7KCJkMn%2BbfNP0oVkRkHCvyMW3eIAWKRa6LeGhgJY%2B%2FS%2BreFeRsyJbXf9vlJpT9pbBdgqhjKMUzV2zkN4vE%2FQwAbAN3NcqP1aDWYgRQZf4TpGevCLm%2F1zR9esQLyDzAADuqv6bkVGvkxKpnO2PoFfTDMrgMtLlWwCK0TBzb4R8FyEMSWmDEFEAzhHkIsvdMbRC9bUCdKCujKyvfDNs4%2Fkj2HRXkZ0nJSHe8pI0qCtc22r%2BXWRi9Xw9jaEOimRvXniSqNMWshE7J5nwMTMh13cEV0fRlHspGdmtkkkFUenoMBQKKLX%2FrKE5YbqllJ%2FLsam4XEKR%2BT0n3TTiZb6qxNoeie%2FpBy9wBFg%3D%3D&traceId=21507f5a16825549658491737ec11d&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175454_c3b9@01&cont_id=0_620725189)

  • 或者选这个mini的小板,常用接口都有,7010芯片的板子才五百多块钱。

[

](https://s.click.taobao.com/t?e=m%3D2%26s%3DJCy6i4wloaRw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMbeEGLa0%2Bs231aH1Hk3GeOhuUGWndBv1jZMWiEFbtlDDi0%2BOcvXoOGDEpWqDF21LWHPATQJxInfarJIA8HPlsdzb8KUy1rlIsT9%2FC%2FLZDwu0BN1PPOAGrpQLZMqoQW%2BfuB6GmlJyRiVTHKeC8Ag3nSbTZ3f5wNoviFkvxTasBepXfYLekkkenUn%2BvZsWQRQneKLAEq%2FZtPhJKKPaFU2UEtBj0n6UXAgF3v2%2BtTfElYb8RFDRgzhUg%2BSjJnAf507Uv9CZ4J%2BnlCHiC3NJ3yQKbNJxVzETGTu7b5aYzSMEwlxThakdowOjbI2OmjxjH%2BEyQGTWRvaaxnzAXJHdUWjDlfMDnfwHPQnOXiGFCzYOOqAQ&union_lens=lensId:TAPI@1682554967@212c5b7d_0d61_187c0175453_c3b6@01&cont_id=0_620725189)

算法硬件加速

算法硬件加速是一个非常广泛的应用方向,包括:通信算法、神经网络、密码算法、视频图像处理等。

这个方向最好选逻辑资源丰富,速度快的FPGA,比如Kintex-7或UltraScale系列。

性价比较高的kintex7开发板是下面这款:

主芯片:XC7K325T,325k逻辑资源

功能接口:

  • 10G/25G/40G/100G光纤接口
  • PCIE2.0X4/X8,PCIE3.0X8/X16
  • FMC LPC HPC 接口
  • SRIO 互联( FPGA 或者 FPGA 加 DSP )
  • SATA 接口或者 NVME 接口或者 mSATA 阵列 Camera link 视频接口
  • DDR3内存条插槽(配一根DDR3内存)
  • HDMI/RJ45/USB/ SD 卡等基础接口

价格:1320RMB

注意:这个板子默认没有下载器和 FMC LPC HPC 接口,需要联系商家单独购买。

还有一款外设更加丰富,而且板载USB下载器和DDR3的kintex7开发板性价比也非常高:

如果需要Demo、数据传输、实时显示等,最好选有ARM硬核的ZYNQ UltraScale+ MPSoC系列,这样我们可以将FPGA的硬件加速特性和软件编程的灵活性结合起来,并借助ARM完善的生态快速实现原型验证。而且UltraScale系列FPGA工艺先进,速度更快,而且逻辑资源丰富。

值得一提的是,UltraScale+ MPSoC系列支持XILINX VITIS-AI DPU开发, 支持通用的YOLO V3等神经网络卷积算法,非常适合AI算法加速。

目前已知性价比最高的ZYNQ UltraScale+ MPSoC 开发板是黑金 AXU2CG。价格才一千多块钱,属于入门款UltraScale+ MPSoC系列。

这款开发板是xilinx为了推广Ultrascale+ MPSOC 系列 FPGA委托黑金设计的,主芯片是XCZU2CG,集成了 1.3GHz 双核 ARM A53 CPU和500 Mhz 双核ARM R5, 同时配有最高64bit DDR4,FPGA端有103K 逻辑资源,5.3Mb block RAM。

这个开发板小巧方便,接口丰富,板载USB3.0/千兆以太网/PCIE/DP接口/串口等等,支持4K显示,2路MIPI输入。还预留了2个40针标准扩展口,引出68个IO口,可用于扩展使用。

另外,此开发板配套了大量的例程和教程,8部原创教程、110+的例程。例程从基础FPGA,SDK,到linux开发,以及HLS开发,AI开发,应有尽有。

正点原子也推出一款很高性价比的Ultrascale+ MPSOC 系列 FPGA开发板,这个开发板的主芯片有XCZU2CG, XCZU2EG和XCZU4EV可选,具体区别可以点击下方链接查看。

如果想要实现比较复杂的神经网络架构,可选择更多逻辑资源的FPGA,下面这款黑金的板子主芯片可选 XCZU9EG 或 XCZU15EG,逻辑资源分别是600k和747k。

其它优质内容推荐:

IC设计者笔记:FPGA如何入门?书籍及学习网站推荐

IC设计者笔记:Xilinx ZYNQ+TCP通信+Python上位机 实现实时视频传输系统

IC设计者笔记:既然zynq能完成fpga+嵌入式arm的功能那是不是可以直接买zynq分别来学fpga和arm?

IC设计者笔记:好用的latex编辑器推荐

IC设计者笔记:两小时学会使用Andriod studio开发第一个安卓程序,详细入门教程,建议收藏!

参考文献及网站:

  1. Xilinx 7-series-product-selection-guide.pdf
  2. Xilinx UltraScale FPGA Prudcut Tables and Product Selection Guide.pdf

Thu