电子说
今儿的话题,就聊聊初入门者如何正确的挑选第一块FPGA开发板...
FPGA现今在硬件领域开始火热起来,FPGA云服务器、机器视觉、人工智能、大数据定向加速分析,FPGA自身的低功耗、可重新配置的硬件优势被发挥了出来,摆脱了以往在通信、医疗、军工等领域的单一性应用。这么热门的一款硬件,很多了解到行业信息的同学自然不会放过这样一个机会,肯定是想要学习一下FPGA。但是FPGA开发板的种类有很多,各个厂商的芯片也不尽相同,如何选择一款合适的FPGA,是每一个刚刚接触FPGA的同学最为头疼的问题。
其实对于任何一种器件的选择,无外乎三个方面:厂商、性能、价格。下面我们来分别说说这三个方面。
FPGA厂商
FPGA厂商其实是可以用手指头数过来的。真的吗?让我们来清点一下:Xilinx(美国)、Altera(已被Intel收购,美国)、Actel(已被Microsemi并购,美国)、Lattice(美国)、Atmel(已被Microchip并购,美国)。
国内的FPGA厂商起步是非常晚的,像紫光国芯、京微雅格等等,不是很出名,实际能够使用到的情况也非常少,所以不详细说明了。重点还是介绍一下前四个。
全球第一大FPGA厂商,也是FPGA的开创者,第一块FPGA器件Xilinx XC2064 FPGA就是Xilinx设计出来的
(spectrum.ieee.org/tech-history/silicon-revolution/chip-hall-of-fame-xilinx-xc2064-fpga),
所以这么多年Xilinx一直是FPGA的龙头老大也就不奇怪了。很多FPGA核心技术都是Xilinx研制出来的,广泛用于各行各业,提供从高端到低成本全系列解决方案。
Altera请原谅我不愿意称之为Intel,不是很习惯这样的收购。全球第二大FPGA厂商,是CPLD时代成功者,唯一能和Xilinx公司抗衡的FPGA厂商,2015年底被Intel收购,并首次应用在Intel的Xeon E5 v4处理器中,用于写x86为核心的异构运算中。Altera的核心优势是其集成密度,尤其是Intel收购之后,制程工艺有了大幅度提高,同样提供从高端到低成本全系列解决方案。
Lattice
虽然是全球第三大FPGA厂商,但是体量和份额远不及前面两家。主要提供一些低容量FPGA应用,例如电源管理,逻辑互联,简单逻辑实现等,在一些移动终端(手机)中也有应用,多数为小尺寸和低成本解决方案。
Actel是原美国军方专用的FPGA芯片厂商,后转为民用,市场上较为罕见,其FPGA器件最大特点是实现了非易失性记录逻辑单元的特性,相比于SRAM配置FPGA的器件,这种基于Flash配置FPGA的设计为那些需要高速启动响应的应用场景提供巨大便利,比如收费站的ETC系统,其安全和加密性能也较高。已被Microsemi收购。
啰嗦这么多,其实能买到也就是Xilinx和Altera的开发板。Lattice有但是不多,Actel基本就没见过了。那是选择Xilinx还是Altera呢?从客观角度讲,Xilinx和Altera的产品线是相互对标的。无论是纯的FPGA还是与处理器集成在一起的SoC,两家都是有交集的。在中国,早些年Altera的使用还是比较普遍的,例如大疆公司的无人机,早期多数使用Altera,直至最新的Inspire 2才采用Xilinx的FPGA芯片。现在Intel收购Altera之后,Altera在个人开发者方面做的不是很积极,在大学生培训和指导上不多,Xilinx则连同其大学计划合作伙伴Digilent在大学内开始发力和普及。Xilinx最近主要聚焦的是FPGA的普及,降低FPGA的开发、使用门槛,相对而言更为亲民。所以从这个趋势看,Xilinx在未来的3~5年内是热门选择。Intel的发力点主要是服务器加速应用方面,像Intel Xeon E5 v4中首次将x86和FPGA、DSP等结构进行了整合,对大数据、关键服务器节点加速效果是十分显著的,所以在FPGA大数据处理加速、服务器节点优化上,可能Intel会更胜一筹。所以说,厂家选择上,根据自己的发展需求学习更理想。当然如果有条件,两家都接触一下最好。
FPGA性能
FPGA性能的衡量其实比较困难,衡量参数确实有很多,像芯片内逻辑单元数(Logic Elements或者Logic Cells),芯片内内存大小,DSP数量,特定高速收发器的数量,器件速度等级等等。对于SoC,则不单单需要衡量FPGA的特性,还需要考虑处理器的相关特性。真的就是特定领域有特定领域的芯片范围,具体真的就是得详细看参数手册来确定了。对于大学生自己做一些基于FPGA的小型项目,Xilinx的Spartan/Artix系列和Intel的MAX 10/Cyclone系列最为常见,如果学校有重大科研项目使用FPGA的时候,才会接触到更高端的产品。
FPGA价格
FPGA的价格是和芯片的集成度成正相关的,学生个人使用到的都是低密度,成本极度优化的产品。普遍的FPGA开发板价格在1000元左右,这个也就是一般开发者能够承受的价格了。但是FPGA整体价格偏高是一个不争的事实(即便如此,还是得记住,大学阶段3000元以上的开发板都是耍流氓)。不像x86通用处理器领域有AMD来搅局,FPGA两家独大的局面是一直存在的。因此,真心想学习FPGA的话,还是需要下血本的。
所以,正常情况下,能够通过学校的平台接触FPGA是最为理想的。各个学校一般都会有与厂商合作的实验室,这便是一个很好的尝试机会,不用自己掏腰包,给自己添加不必要的负担。当然,对于土豪们的建议,还是自己拥有一块开发板是最好的。现有的FPGA板材设计厂商很多,国际上比较认可的像Digilent、友晶等等。选购开发板时,建议是选择此类高知名度厂商的开发板,主要是产品的用料讲究,性能有较好的保障,同时会提供丰富的入门学习资料。既可以学习,又可以做项目中实际应用。
FPGA如何正确挑选
在学习FPGA前期,个人觉得可以不必着急选购具体某一款FPGA开发板,因为拿到新板卡的新鲜感有可能让你迷失学习方向。可以先学习Verilog HDL、VHDL或者SystemVerilog开发语言的语法,并通过Xilinx或者Altera(Intel)的集成开发工具进行语法学习与验证。同时掌握必要的仿真验证方法,为后期开发打下牢靠基础。在掌握一定语言基础后,开发板将成为学习FPGA过程中必不可少的实验环境。因为任何语法逻辑最终都需要通过实物来展现。没有开发板就无法进行板级验证,就无法真正验证设计的正确性,同时在学习进阶阶段,对时序的验证也需要在开发板上进行实验。此外,结合开发板进行FPGA学习,有助于对硬件结构的认识与开发。
相对其它开发板(51、DSP、ARM开发板)而言,FPGA开发板的确挺贵的。但是为了掌握一门技术,个人是推荐买一块入门板,这样你学起来会更快一些。有条件,建议买官方或者其代理商出品的开发板,官方资料齐全,可以少走弯路。如果选择某宝上的低价FPGA开发板或不知名的山寨板子,往往需要对开发板硬件设计有更深的了解,不然很容易吃药。
从工程应用角度看,目前Xilinx在工业应用方面略显优势。建议大家从工程项目中选择合适的器件和开发板。在选择开发板时需要注意以下几点:
1. 选择最新集成开发环境支持的芯片(Quartus 16或者Vivado 2016.04)因此可选择Xilinx 7系列及以后的FPGA芯片或者Altera Stratix4、Cyclone 5、Arria 5及以后的芯片。
2. 选择资源规模稍大些的芯片,逻辑单元规模至少达到50k以上(Xilinx芯片标注的资源*4后,方可与Altera芯片对比)
3. 板载资源丰富或者扩展接口较多的开发板。对于没有项目的初学者,开发板上的资源更适合你熟悉硬件,学习FPGA;而面向项目时,建议选择扩展接口丰富的开发板。
4. 价格固然要考虑,但不要一味贪图便宜,还要综合考虑产品的品质、性能、学习资源丰富程度。这点上,目前Digilent官网有学生优惠价,大大提升了开发板的性价比。
由于本人接触Xilinx开发板较多,因此推荐几款FPGA开发板。除了官方资料齐全、且可靠性高之外,Xilinx开发板有一个独特的优势是芯片自带模数转换器(ADC),方便设计信号处理。
01
推荐一:Basys 3
是Xilinx 7系列芯片最早推出口袋式开发板,资源大小合适,性价比也较高的一款开发板。适合高校师生,尤其是正在学习数字电路课程的同学。外设和扩展接口资源丰富,方便学习基础外设驱动,同时还可以扩展其他模块功能。既能学到Xilinx最新的FPGA架构,又能掌握Xilinx集成开发工具。
02
推荐二:Zybo
性价比最高的Zynq7000开发板,适合嵌入式软硬结合的同学,需要有一定的嵌入式基础和FPGA开发经验,建议在熟悉掌握FPGA后,先从裸机运行开始,再到嵌入式系统学习。Zynq-7000系列芯片是FPGA与双核Cortex-A9的异构,最适合学习FPGA硬件加速。另外,近期Zybo出了全新升级款Zybo-Z7,性能大幅提升的同时,并附赠Xilinx SDSoC券,这个确实有点厉害了。
03
推荐三:Arty系列
专门为极客打造的FPGA开发板,适合轻量级嵌入式工程应用。同时还配有Arduino Shield接口,便于扩展Arduino外设模块。
写在最后:
学习FPGA,相对入门门槛要高不少,但就业前景也是好太多。前路慢慢,学海无涯。洋洋洒洒写了这么多,希望能给到初学FPGA的你带来帮助。
全部0条评论
快来发表一下你的评论吧 !