FPGA和CPLD芯片选型介绍(二)

news2024/11/18 18:23:30

FPGA器件选型(以Xilinx和Altera为例)

器件选型是件很严肃的事情,既要考虑性能又要兼顾成本,还要考虑长期供货的稳定性,因此很考验工程师的知识广度储备。一般而言,FPGA(CPLD)需要分三步进行选型:

1、首先要对项目进行需求分析,评估项目中系统需要哪些资源,每一类资源需要的数量,需要哪些外

设接口等,是否有特殊需求,例如需要很小的封装并且不用配置芯片,那么直接去选择Actel就好。

2、结合开发人员的研发能力和对不同厂家器件的熟悉程度,使用熟悉的芯片和工具,可以减少开发难

度,缩短开发时间,加快产品上市时间。

3、综合考虑以上两点以后,在进行器件的选型,此时需要考虑7个原则,分别如下: 器件的供货渠道和开发工具的支持、器件的硬件资源、器件的电气接口标准、器件的速度等级、器件的温度等级、器件的封装和器件的价格。

  1. 器件的供货渠道和开发工具支持:目前主流的FPGA厂商包括Xilinx(AMD)、Altera(Intel)、

Lattice、Actel等公司。随着国产化替代的推进,国内也出现一些FPGA厂家,如高云、安路、紫光同创、复旦微等,但国内的FPGA起步晚,大部分都在模仿国外主流FPGA,在工艺和性能及软件工具方面和国外成熟的FPGA还有较大差距,因此在选型时要慎重考虑。国外主流的FPGA厂商Xilinx和Altera都有成熟的开发工具和不同系列的产品可供选择,xilinx有较老的ISE和流行的vivado/vitis软件,altera有quartus II软件,这些工具功能强大、界面友好且有很多第三方合作伙伴提供相应的技术支持,参考资料更多,开发风险相对较小。

b.器件的硬件资源:包括逻辑资源和IO资源等其他资源。逻辑资源可根据需要选择合适的器件,一般目前市场主流器件可以满足需求;IO资源需要重视,过度消耗IO资源肯能导致FPGA负荷过重,器件发热严重,影响器件的速度性能、工作稳定性和使用寿命,因此在设计时需考虑散热设计。另外还要根据实际应用考虑DSP资源、RAM资源、高速串行收发器、集成CPU(如ZYNQ系列PL+PS架构芯片)等。

c.电气接口标准:数字电路接口标准非常多,在复杂的数字电路系统中,经常会有多种电气接口标准,目前FPGA器件支持多种电气接口标准,如3.3V、1.5V、1.2V、1V、0.9V等,可以满足绝大部分应用需求。

d.器件的速度等级:在满足应用需求的情况下,尽量选择速度等级低的器件:由于传输线效应,速度等级高的器件更容易产生信号反射,设计要在信号的完整性上花更多的精力;速度等级高的器件一般用的比较少,价格经常会成倍增加,而高速器件供货渠道一般比较少,器件订货周期也较长,会延长产品的研发周期。

e.器件的温度等级:在器件选型时,需考虑产品的使用环境,这就要考虑器件对环境温度的适应能力,器件一般分为商业级、工业级、军工级或宇航级,需要根据产品定位和使用环境选择响应等级的芯片。

f.器件的封装:目前器件的主流封装有QFP、BGA、FBGA、CSGA等,不同的封装管脚间距等不同,如果对器件尺寸有要求,需要较多的IO和较小的尺寸,那就需要选择管脚密度高的,管脚间距小的封装,设计中需考虑使用多层板设计,PCB布线较为复杂,设计和焊接成本都较高,因此从产品设计角度来看,在满足需求的情况下尽量不选择高密度管脚的封装。在对封装要求高、PCB尺寸较小的时候尽量选择管脚高密度的封装,同时这样的封装器件管脚引线电感和分布电容较小,有利于高速电路设计。另外,如果可以的话尽量选择pin-to-pin的器件。

g.器件的价格:FPGA的器件的发展遵循摩尔定律,集成度不断提高,性能不断提升,价格呈下降趋势,因此在不断推出的新器件中选型是一个基本规律。随着半导体工艺的升级换代,FPGA芯片也在升级换代的过程中,提供了更强大的功能,更低的功耗和更好的性价比。那么在确定一个系列的FPGA后,选择哪一代的产品则又成为一个问题。个人建议是在价格和供货都没有问题的情况下,选择越新的产品越好。一定不能选择厂家已经或者即将停产的芯片。任何产品都是有生命周期的,目标就是尽量保证在产品的生命周期里,所用到的芯片的生命周期还没有结束。在产品初期规划时做芯片选型,要尽可能选用厂家刚量产或者量产不久的产品,甚至在有确切的供货渠道的情况下,可以选择厂家即将量产的芯片。

下面分别针对市场主流的Xilinx和Altera公司的FPGA产品做大概介绍。

一、Xilinx FPGA系列简介:

目前Xilinx公司已经被AMD公司收购,因为习惯原因,继续使用Xilinx的称呼。Xilinx公司目前的主流FPGA分别由45nm、28nm、20nm、16nm工艺制造,具体如下图所示。通常我们想了解Xilinx公司的FPGA产品,可以直接去其官网查找,网址为https://www.xilinx.com/products/silicon-devices/fpga.html。

如果要对针对某系列FPGA详细对比,查阅其详细逻辑资源,可以在product select guide中查找,如下图。比如我们所设计的产品逻辑规模不大,使用单独的FPGA做主控芯片即可满足需求时,那么根据评估可以在7series中进行选择,7系列FPGA由SPARTAN7、ARTIX7、KINTEX7、VIRTEX7四类FPGA系列组成,解决了从低成本、小尺寸、成本敏感、高容量应用到最苛刻的高性能应用的超高端连接带宽、逻辑容量和信号处理能力等完整的系统需求。

SPARTAN7:针对低成本、最低功耗和高I/O性能进行了优化。低价格、低功耗、最小的尺寸以及最低的设计难度。

ARTIX7:Artix-7系列:为需要串行收发器和高DSP和大逻辑吞吐量的低功耗应用而优化。

KINTEX7:Kintex-7 系列与Artix-7系列相比,优化了性价比,是在所有系列中拥有最佳的性价比,无论是硬核数量还是逻辑容量,都能满足中低端、以及部分高端应用需求。

VIRTEX7:Virtex-7系列:优化了最高的系统性能和容量,将系统性能提高了两倍。由SSI技术实现的最高能力器件。

以上为7系列四类FPGA的介绍,从S7-A7-K7-V7性能依次提高,当然价格也依次提高,这个系列的FPGA由于市场占有率高被广泛应用,目前Xilinx公司已经将这个系列的芯片生命周期延长到2035年。

同样,工艺更先进的UltraSCALE系列的KINTEX和VIRTEX以及UltraSCALE+系列的ARTIX、KINTEX、VIRTEX可根据需求用于更高端的产品中。至于SPARTAN6的器件,大概是十年前的出的器件了,和其他系列器件相比工艺相对落后,可根据产品定位和具体需求选择使用。

另外,还有一类Soc架构的器件得到大量应用,将FPGA和ARM分立器件的架构集成到一颗芯片里,采用PL+PS的架构,内部采用AXI总线交互,极大的提高了芯片的集成成度、提高了性价比,具体如下图所示。

不同系列的Soc内嵌的FPGA和ARM型号不同,例如Zynq 7000S内嵌了28nm工艺的Artix 7和一颗ARM Cortex-A9的处理器,ZYNQ 7000系列的内嵌28nm工艺的Artix 7或Kintex 7和两个ARM Cortex-A9处理器,具体如下图所示;Zynq不同型号内嵌的PL和PS侧型号也不同,可通过官网查询:https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html#cg

二、Altera FPGA系列简介:

目前Altera公司已经被Intel公司收购,因为习惯原因,继续使用Altera的称呼。Altera公司在被Intel收购后,在中国的市场占有率逐步降低,逐步被其他公司替代,但目前依旧牢牢占据着中国第二把交椅。Altera很多产品都是和Xilinx对标的,两个公司很过高级工程师都会相互跳槽到对方公司,为彼此带去新鲜的血液和技术,正是这样两个公司相爱想杀,相互竞争,反而促进了技术的发展。

Altera公司目前的主流器件主要包括Cyclone系列-MAX系列-Arria系列-Stratix系列-Agilex系列的FPGA,这些系列依次从低端到高端,资源集成度不同,针对的产品定位也不相同,每个系列中不同代的产品型号工艺不同,推出时间越晚的型号工艺越先进,详细的信息和选型手册可查阅官网进行对比:英特尔® FPGA 产品 - FPGA 和 SoC FPGA 设备和解决方案 | 英特尔 (intel.cn) 。

不同系列的FPGA的不同型号推出时间和采用工艺如下,可以作为选型时的参考,其中Agilex系列为Intel收购Altera后最新推出的高性能、工艺先进的系列。除了下面不同系列纯FPGA逻辑芯片,还有Soc芯片的推出,其中Arria、Stratix和Agilex系列均有集成不同PL+PS的型号。

每个系列中不同代的产品型号推出时间不同,工艺不同,在选型时要注意尽量选择较新的器件,推出时间比较久的老器件可能价格更贵、采购更难,甚至可能在产品生命周期内停止生产这个型号的FPGA,因此根据需求评估,参考官网选型手册,尽可能选择近几年新推出的、量产大、市面存量多、生命周期长的型号。

本文主要对FPGA/CPLD的选型方法做了简单介绍,同时对市场主流的xilinx和altera的系列产品做了个简单说明,具体信息可以分别登录各公司官网根据选型手册查阅。

2023/02/02

参考:

1、FPGA系列之“速度等级” | 电子创新网赛灵思社区 (eetrend.com)

2、https://zhuanlan.zhihu.com/p/365342385

3、https://mp.weixin.qq.com/s?src=11&timestamp=1675320908&ver=4325&signature=O6CEjc56UfytcvcU*vjncF-Cu7YsnNKgsI6khi5D7CXT0t6o*YJVE0OUsQuG9Uysw4-Y1nnBoiFBGGMCyag7yR3XqllZwzvrOCcYMSJDvslepmqEezkfxg6*gdIuP1ab&new=1

4、https://www.xilinx.com/content/dam/xilinx/support/documents/selection-guides/7-series-product-selection-guide.pdf

5、英特尔® FPGA 产品 - FPGA 和 SoC FPGA 设备和解决方案 | 英特尔 (intel.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/195111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3、Maven——Maven创建java web工程,Maven search插件

目录 一、Maven创建java web工程 二、Maven创建java web项目的结构 1、添加项目目录 2、web.xml配置处理报错 三、IDEA更改XML版本 一、Maven创建java web工程 创建Empty Project空工程;右击Empty Project工程--->New--->Module--->Maven Archetype N…

Linux环境下安装软件合集【2】

Linux环境下安装软件合集【2】 Linux环境下安装软件合集【1】 1 安装tomcat 1.1 安装启动tomcat 下载tomcat压缩包 通过wget方式 wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.70/bin/apache-tomcat-9.0.70.tar.gz直接官网下载压缩包&…

23k入职腾讯测试岗那天,我哭了,这5个月付出的一切总算没有白费~

先说一下自己的个人情况,计算机专业,16年普通二本学校毕业,经历过一些失败的工作经历后,经推荐就进入了华为的测试岗,进去才知道是接了个外包项目,不太稳定的样子,可是刚毕业谁知道什么外包不外…

基于SSH框架的学生成绩管理系统源码+数据库,Struts2、Spring与Hibernate整合应用,实验报告

Struts2、Spring与Hibernate整合应用:基于SSH框架的学生成绩管理系统 最近一个实验课程,需要做一个基于SSH框架的学生成绩管理系统。就简简单单做了一下…… 1.1 实验要求: (1) 整合Struts2、Spring和Hibernate框架 …

​箭头函数和普通函数的区别​

一.外形不同:箭头函数使用箭头定义,普通函数中没有 代码实例如下: // 普通函数 function func(){// code } // 箭头函数 let func()>{// code } 二.箭头函数都是匿名函数 普通函数可以有匿名函数,也可以有具体名函数&#xf…

框架高级课程系列之Redis6笔记

文章目录前言NoSQL数据库简介技术发展NoSQL数据库NoSQL适用场景NoSQL不适用场景Redis概述安装配合关系型数据库做高速缓存多样的数据结构存储持久化数据Redis 安装准备工作:下载安装最新版的gcc编译器启动 Redis方式Redis 关闭方式Redis介绍相关知识常用五大数据类型…

如何利用python机器学习解决空间模拟与时间预测问题及经典案例分析

目录 专题一 机器学习原理与概述 专题二 Python编译工具组合安装教程 专题三 掌握Python语法及常见科学计算方法 专题四 机器学习数据清洗 专题五 机器学习与深度学习方法 专题六 机器学习空间模拟实践操作 专题七 机器学习时间预测实践操作 更多推荐 了解机器学习的发…

Web服务器TomCat快速入门(从安装到部署)

文章目录什么是Web服务器?相关概念基本使用下载安装卸载启动关闭配置部署📂橙子精品文章学习推荐什么是Web服务器? Web 服务器是一个应用程序,对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作&#xff…

【Linux 系统运维基础】Linux命令大全

Linux 命令大全立志列举出Linux中常用的所有命令(有很多命令不使用的话,很快会忘记哦)。 1. cd 目录前进/ 后缀 cd /表示跳转到根目录下,无论是哪个目录下,执行此命令后一定会跳转到根目录下。 cd ~ 表示跳转到主目录下。 cd . 表示跳转还…

【5.2】Nacos注册中心--服务多级存储模型

【【5.2】Nacos注册中心--服务多级存储模型1 Nacos服务多级存储模型2 服务跨集群调用问题3 配置集群属性4 总结1 Nacos服务多级存储模型 之前有服务的概念: 例如:提供用户查询的use-service和提供订单查询的order-service,它们都叫服务。 我…

Linux安装配置JDK安装运行Tomcat

Linux软件主流安装方式: tar:解压安装(前提将安装包下载下来) 安装包格式:tar,tar.gz,tar.bz 安装解压包命令: tar -zxvf 包名xxx rpm:直接安装,需要将安装包下载下来(好比双击window里的.exe文件) 安装包格式:rpm 安装命令:rpm -ivh 软件路径 卸载命令:rpm -e 软件包全名 y…

【GPLT 二阶题目集】L2-014 列车调度

火车站的列车调度铁轨的结构如下图所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车&am…

(蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第1天】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有75天

🏆🏆🏆🏆🏆🏆🏆 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录&a…

2023年“华数杯”国际数模赛赛题浅析

2023华数杯如期开赛,本次比赛作为美赛的模拟赛,赛题和比赛时间都和美赛高度相似,因此大家 完全可以当作一次美赛之前的练习赛进行。美赛的发题时间与华数杯一致,都是早晨六点,现已经将机器翻译的初步翻译 结果进行了分…

Gdb调试复现Dirty Pipe漏洞(CVE-2022-0847)之内核态调试

第一、准备环节-增加内核调试辅助语句: 首先,为了更好的查看关键因素的变化:稍微做了两处修改: 第一处:splice前后,增加getchar和puts; 第二处:prepare pipe过程中,增加getchar和puts; 修改后代码执行结…

Spring Bean生命周期,就像人的一生

这篇我们来看一看Spring中Bean的生命周期,我发现,和人的一生真的很像。1 简单说说IoC和BeanIoC,控制反转,想必大家都知道,所谓的控制反转,就是把new对象的权利交给容器,所有的对象都被容器控制&…

利用STC15输出两路互补SPWM波形

利用STC15输出两路互补SPWM波形🎞逻辑分析仪信号采集演示: 🔖本案例使用的是IAP15W4K61S4验证。 📍相关篇《STC15系列PWM相关功能寄存器介绍》 📌相关开源PCB《【PCB开源分享】STC/IAP15W4K61S4开发板》 &#…

Linux(七)进程间通信

进程间是如何进行通信的? 通过前面的学习之后,我们知道进程间是具有独立性的,在操作系统的层面来看,进程就是一块pcb,是对运行中的程序动态运行过程的描述,在Linux角度下,进程就是一个task_stru…

2-2JVM-GC垃圾回收

GC垃圾回收 了解什么是垃圾回收掌握垃圾会回收的常见算法学习串行、并行、并发、G1垃圾收集器学习GC日志的可视化查看 1.什么是垃圾回收? 程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内…

YOLOv5/v7 Falsk Web 监测平台 | YOLOv5/v7 Falsk Web 部署

YOLOv7 Falsk Web 监测平台图片效果展示 YOLOv7 Falsk Web 监测平台视频效果展示 YOLOv7 Flask Web 检测平台 什么是Flask? 简介 Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开…