今日说“法”:FPGA芯片如何选型?

欢迎大侠来到FPGA技术江湖新栏目今日说“法”,当然,在这里我们肯定不是去研究讨论法律法规知识,那我们讨论什么呢,在这里我们讨论的是产品研发以及技术学习时一些小细节小方法等,欢迎大家一起学习交流,有好的灵感以及文章随笔,欢迎投稿,投稿请标明笔名以及相关文章,投稿接收邮箱:1033788863@qq.com。今天带来的是“FPGA芯片如何选型?”,话不多说,上货。

FPGA芯片如何选型

在FPGA的设计与研发过程中,我相信不少工程师应该遇到过FPGA芯片选型这种头疼的事情。为什么说是头疼呢?这个说白了还不是研发成本惹的祸,哈哈哈,是不是一语中的。在做设计或者做研发的时候,大公司还好一些,基本很少会出现需要研发工程师去选型的问题,如果你是主管或者负责人除外。在很多小公司或者小团队中,不懂技术的老板给你撂下一句话,你来搞定。这个时候,你应该清楚,“你来搞定”这四个字包含哪些,老板的意思就是就这么多钱,就这么长时间,你得加把劲了。有点太直白了,哈哈哈,那下面我们就来聊聊FPGA芯片如何选型,仅供参考,交流学习,共同进步。

关于FPGA芯片选型,这个问题真的很严肃,因为你既要考虑到性能还要兼顾到成本,说白了也就是性价比。选型,我们肯定要从现有的FPGA芯片中去选,这个时候就很考验工程师的知识广度储备了,如果你了解的芯片比较多比较详细,那再好不过了。如果你接触的很少,这个时候就需要你去疯狂阅读了。本篇就当下应用比较多的Intel、Xilinx,Lattice、Actel 数家厂商简单聊聊,其他厂商的选型可以对应延伸类似选择。

一、选型前准备

在我们做芯片选型的时候,一开始要根据项目的实际情况对选型芯片做个预估,要对有可能满足需求的芯片有整体的了解,也就是说要尽可能多的获取芯片的资料。获取资料最便捷的途径就是这些厂商的官方网站,就Intel(Altera)、Xilinx、Lattice、Microsemi(Actel)四家来说。

一般情况下,官方网站都会按照产品系列或应用场合列出所有的产品,直观的告诉你某个系列产品的应用场合。比如在Intel Altera的网站,就会明确标明它的三大类的FPGA产品,高端的Stratix系列,中端的Arria系列和低成本的Cyclone系列。有的厂家每年都会推出一个产品选型手册,很多公司网站上还提供评估工具。

如果你经常逛一逛这些厂家的官方网站,看一些概述类的文档,当对各FPGA厂家的产品系列有比较广泛的了解以后,选型就不会成为太大的问题了。确定要做的方向之前,如果能够找到类似的产品,可以研究下这些产品所采用的方案,如果找不到,可以通过检索知网等数据库,也可以看看其他人做类似的方向所采用的方案,这也是非常好的一个参考,需要注意的是很多学术研究型的方案并不是经过产品验证的,有些方案还是比较滞后的,总之需要做一个综合的评估。

二、FPGA厂商的选择

如上所述,Intel(Altera)、Xilinx、Lattice、Microsemi(Actel)四家厂商来说,每个厂家的产品都有各自的特色和适用领域。选择厂家是一个相对比较复杂,要综合考虑下面几个因素:

1、要项目特殊的需求。比如说你要选择4mmx4mm封装的小体积同时又不需要配置芯片的FPGA,那么可能Actel就是你唯一的选择。如果你需要一个带ADC的FPGA芯片,那么可能你只能选择Xilinx和Actel的某些带ADC的FPGA;

2、看芯片厂商的供货。好的供货渠道对于产品的量产会有比较好的保证,如果没有特殊渠道还是选择那些比较好买并且广泛使用的型号;

3、看芯片厂商的报价。较低的价格会降低产品的成本,尤其是在批量使用的时候,节省成本费用,在满足功能需求的同时,会有效的提高产品的竞争力;

4、看己方技术人员。就是技术人员对所有符合要求的厂家的产品的熟悉程度。使用最熟悉的产品,可以有效的缩短开发的难度,减少开发时间,提高产品上市时间;

5、看芯片的成熟度。是不是有较好的开发软件平台,是不是有较好的技术支持,是不是有大批量的应用,是否可以比较容易的获取到资源等等;

6、……

三、芯片系列的选择

每个FPGA的生产厂商都有多个系列的产品,来满足不同应用场合对性能和价格的不同需求。例如对于Intel Altera公司的FPGA产品,主要分为三个系列,分别是高端的Stratix,中端的Arria和低端的Cyclone。每一个系列FPGA具体的性能特点也都可以在Intel的官方网站上找到相应的文档。在选择的时候,要根据实际的项目需求,来选择合适的系列。

比如说,如果需要实现一个比较简单的控制功能,对资源的要求比较低,且成本控制要求比较高,那么就需要从Cyclone系列的FPGA入手,评估这一系列的FPGA是否可以满足要求。但如果要做比较大型的ASIC芯片的validation,对FPGA的逻辑资源,带宽以及运行频率的要求都比较高,那么就要去评估Stratix系列的FPGA。有一个基本的原则是需要注意的,可以用低端的芯片完成的工作,就不要采用高端的芯片,目标是达到性能和成本的最佳平衡点。

每一个系列的FPGA芯片,可能又分为好几代的产品,比如Intel Altera的Cyclone系列,到现在已经发展了Cyclone,CycloneII,CycloneIII,CycloneIV以及CycloneVI等多款产品。这种产品的升级换代很大程度上都是由于半导体工艺的升级换代引起的。

随着半导体工艺的升级换代,FPGA芯片也在升级换代的过程中,提供了更强大的功能,更低的功耗和更好的性价比。那么在确定一个系列的FPGA后,选择哪一代的产品则又成为一个问题。个人建议是在价格和供货都没有问题的情况下,选择越新的产品越好。一定不能选择厂家已经或者即将停产的芯片。

任何产品都是有生命周期的,目标就是尽量保证在产品的生命周期里,所用到的芯片的生命周期还没有结束。在产品初期规划时做芯片选型,要尽可能选用厂家刚量产或者量产不久的产品,甚至在有确切的供货渠道的情况下,可以选择厂家即将量产的芯片。

四、芯片的综合考量

举例说明,在CycloneIII这个系列的FPGA中,又分为两个不同的子系列,普通的CycloneIII和CycloneIII LS。在每个子系列里,根据片内资源的不同又分为更多的型号,比如普通的CycloneIII子系列,就包含了EP3C5,EP3C10,EP3C16,EP3C25,EP3C40,EP3C55,EP3C80和EP3C120等8种型号的芯片。每个型号的芯片又根据通用I/O口数量和封装区分出不同的芯片。比如,EP3C5的芯片又有EP3C5E144,EP3C5M164,EP3C5F256和EP3C5U256这四种不同的芯片。而每一种芯片,又有不同的速度等级,比如说EP3C5E144就有C7,C8,I7和A7四个速度等级。

下面的表格从不同的角度列出了普通CycloneIII系列的FPGA的参数,这些表格都源自于CycloneIII芯片的官方文档:

4.1、各型号芯片的片内资源表。这个表格中给出了每个型号芯片的片内资源,其中Maximum User I/Os给出了该型号最多拥有的User I/O的数量,但需要注意的是,不同的封装拥有的User I/O的数量并不相同。

4.2、各型号芯片的封装信息。下面的表格给出了各型号芯片的封装信息,以及该封装下,芯片所具有的可用I/O的数量和查分信号通道的数量。

在选择具体的芯片型号以及封装的时候,要根据下面几个方面做综合考量:

4.2.1、片上资源。要根据设计的大小选择合适的片上资源。这个是比较难确定的一个参数,自己做的设计到底有多大,需要多少片上资源,很难一下子确定下来。比较推荐的一个方式是先拿之前的设计去综合后映射到某一个芯片上,看看需要占用多少的片内资源,然后评估要做的新的设计跟之前的大小,做换算后得到需要片上资源的数量。另外的一种方式就是先完成新的设计,直接综合出来映射到不同型号的芯片上,然后评估哪一种芯片合适。还有一个需要注意的地方就是,不能选择片上资源刚刚够用的芯片,要留有一定的余量,以便于后期设计错误的修正和升级。

4.2.2、封装。选择封装,主要需要在两个方面考量,第一个就是可用的I/O口的数量。第二个就是封装的尺寸。I/O数量是一个必要的条件,先要根据这个条件筛选出可以用的芯片。然后在筛选出来的芯片中,再根据封装类型,尺寸和pitch尺寸选择合适的芯片。在封装尺寸符合要求的情况下,尽量选择有利于PCB设计和生产的封装。比如如果有TQFP封装的芯片,尺寸又符合项目的需求,那么就不要选择BGA封装的。对于BGA封装的芯片,如果有pitch为1.0mm的可以满足要求,就不要选择pitch为0.5mm的。这直接影响到PCB设计难度,制造成本和良率。

3、速度等级。速度等级是一个相对比较独立的参数。要根据实际设计所能综合出来的最高运行频率和需求的运行频率做比较,尽量选用速度等级比较慢的芯片。当所有的速度等级都不能满足需要的时候,更多的要从优化设计的角度来提高设计本身所能达到的最高运行频率。

4、……

五、FPGA初学者的选择

对于一个FPGA的初学者,如何选择一个公司的某一个系列的产品作为学习的基础呢?这是一个问题,但并不是最重要的问题。初学者在学习FPGA的时候,要解决的首要的问题就是对数字电路技术基础知识的掌握,对硬件描述语言的掌握(veirlog HDL或者VHDL),懂得设计原理以及设计方法,多动手实践。至于FPGA芯片本身,只是一个载体。当你真正掌握了FPGA设计的本质后,需要使用某一个厂家的某一种FPGA的时候,只需要针对这个厂家的该型号的FPGA做一些了解就可以了,设计的基础还是一样的,以往积累的大部分经验都可以应用得上。不过在选择的时候,还是要选择主流厂家的流行的型号,这样更容易获取学习资源。

学习任重道远,技术的学习尤其需要耐得住性子,更是需要磨练。本篇就到这里,关于初学者学习参考的更多文章,大侠可查阅公众号历史文章,希望有参考价值。

【QQ交流群】

群号:173560979,进群暗语:FPGA技术江湖粉丝。

多年的FPGA企业开发经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有。

【微信交流群】

现微信交流群已建立09群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

今日说“法”:FPGA芯片如何选型?相关推荐

  1. 国产FPGA芯片替代选型需要注意的几点

    最近公司在进行FPGA国产化方案的准备工作,正在做市场的调研,也约了国内几家FPGA厂商的市场工程师来交流. 关于FPGA,我算是半路出家,毕业后做了一年左右的MCU开发,后来由于项目需要接触到FPG ...

  2. 今日说“法”:FPGA的三种配置方式

    今日说"法":FPGA的三种配置方式 欢迎大侠来到FPGA技术江湖新栏目今日说"法",当然,在这里我们肯定不是去研究讨论法律法规知识,那我们讨论什么呢,在这里我 ...

  3. 今日说“法”:FPGA“可编程” 的 “魅惑”

    今日说"法":FPGA"可编程" 的 "魅惑" 欢迎大侠来到FPGA技术江湖新栏目今日说"法",当然,在这里我们肯定不是 ...

  4. (04)FPGA芯片选型原则

    (04)FPGA芯片选型原则 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA芯片选型原则 5)结语 1.2 FPGA简介 FPGA(Field Programm ...

  5. Xilinx芯片太贵,我选择国产替代!聊聊国产FPGA芯片选型

    01  前言 本文来聊聊目前国内FPGA发展到了什么水平?都有哪些做得比较好的公司?FPGA国产替代所需要考虑哪些因素? 部分内容和数据参考自网络和官方网站,有不对或不准确的地方,希望能和各位大佬一起 ...

  6. 今日说“法”:如何防止reg、wire型信号在使用逻辑分析仪时被优化

    欢迎大侠来到FPGA技术江湖新栏目今日说"法",当然,在这里我们肯定不是去研究讨论法律法规知识,那我们讨论什么呢,在这里我们讨论的是产品研发以及技术学习时一些小细节小方法等,欢迎大 ...

  7. 今日说“法”:上拉、下拉电阻那点事

    今日说"法":上拉.下拉电阻那点事 欢迎大侠来到FPGA技术江湖新栏目今日说"法",当然,在这里我们肯定不是去研究讨论法律法规知识,那我们讨论什么呢,在这里我们 ...

  8. 入门者必备——fpga芯片速度等级认识

    转自:http://wenku.baidu.com/browse/downloadrec?doc_id=ea793deef8c75fbfc77db263& 最初接触speed grade这个概 ...

  9. FPGA芯片结构(可编程输入输出单元IOB/可配置逻辑块CLB/数字时钟管理模块DCM/ 嵌入式块RAM(BRAM)/丰富的布线资源/ 底层内嵌功能单元/内嵌专用硬核)

    目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM.时钟管理 和DSP)的硬核(ASIC型)模块.如图1-1所示(注:图1-1只是一个示意图,实际上 ...

  10. AI算法在FPGA芯片上还有这种操作?| 技术头条

    作者 | 杨付收 出品 | CSDN(ID:CSDNnews) 碾压与崛起 AI算法的崛起并非一帆风顺的,现在的主流的NN类的卷积神经网络已经是第二波浪潮了,早在上个世纪80年代,源于仿生学,后又发展 ...

最新文章

  1. VS.NET 2003 安装问题
  2. yum install 失败
  3. Android UI卡顿监控
  4. java createstatement,createStatement参数说明
  5. 杭电复试笔记第七天--最终篇
  6. 计算机术语翻译的最烂,我国计算机名词的翻译现状和建议
  7. excel内容少却文件很大_Excel文件格式批量转换你会了吗?神操作!Excel文件转XPS格式...
  8. html语言隔开的代码,2、HTML(示例代码)
  9. f5服务器维护,F5-LTM(服务器的负载均衡)网络结构和功能
  10. 物联网的背景及其发展
  11. 屏幕旋转后字体会变大问题
  12. 重生之我是赏金猎人-番外篇-记一次层层突破的攻防演练
  13. oracle查tigger,Oracle Tigger触发器 范例
  14. 【笑小枫的SpringBoot系列】【十五】SpringBoot根据模板生成Word
  15. 3D卷积网络论文阅读笔记
  16. QQ2009、QQ2010、QQ2011远程攻击漏洞,详细使用方法。
  17. Cobo金库二代横空出世——全脱网、全开源、更安全
  18. 计算机毕业设计ssm扶贫助农系统v7tq9系统+程序+源码+lw+远程部署
  19. python爬取虎牙视频排行榜上的数码视频
  20. BUG库——程序员的铜人阵

热门文章

  1. 【Android安全】手机Root、刷机、救砖常用命令
  2. 曾经跨过山和大海的百度AI技术汇,跨进北工大!
  3. iOS解决键盘收起时页面上移的问题
  4. 教你自己训练的pytorch模型转caffe(二)
  5. 2019年区块链安全事件总结,全球损失超60亿美元 | 盘点
  6. Getting Real ——把握现实
  7. ITIL4认证测试题及答案(收藏学习)
  8. 数据分析之大数据分析
  9. wifi大师小程序独立版3.0.8源码
  10. Seaweeds配置部署