高云代理商| 一文看懂FPGA芯片选型!

news2024/9/23 1:36:28

一、FPGA简介:

FPGA诞生于1984年,是一种特殊的逻辑芯片,属于半定制化、可编程芯片。它允许用户可以随时定义芯片的硬件功能。通过开放芯片内部的逻辑块、连线、I/O 等资源给用户配置,使得同一片 FPGA 既可以在 5G 的基站实现信道编码的功能,也可以重新配置后立即应用在工业机床、医疗器械等设备上,因此FPGA 也被称为“万能”芯片。

FPGA 由可编程逻辑块、可编程连线和可编程 I/O 三大部分组成。

图1:FPGA阵列和逻辑单元示意图

1)可编程逻辑块是 FPGA 架构中最重要的部分,负责承载主要的电路功能。可编程逻辑块中最重要的两块“积木”就是 LUT(Look-up Table,查找表)和寄存器。每个逻辑单元包括 1 个 LUT4、若干个多路复用器(MUX) 和 1 个寄存器,可完成时序电路和组合电路,代表 FPGA 的基础容量。

可编程逻辑块本质上由多个 LUT、MUX 和寄存器构建而成,用于承载电路中的一个个逻辑“门”。现代 FPGA 中往往有数十万个逻辑 块,彼此既可前后相连,也可同时独立地处理 IO 输入的信号,不需要耗费时间处理控制指令,这是 FPGA 并行性好的原因。

2)可编程连线负责联通 FPGA 中的众多模块,以一种满足时序约束的方式将这些逻辑块以时延最优的方式连在一起,共同构成一个更大规模的电路,将目标电路在 FPGA 上实现,它包含了三个最核心的步骤:

a) 映射(Mapping):将电路的逻辑门映射到不同的 LUT 中,形成 LUT 级网表;

b) 包装(Packing):将这些 LUT 放置到 CLB 中,形成 CLB 级网表;

c)布局&布线(Place-and-route): 将 CLB 放置在合适的位置并彼此相连。

3)可编程 I/O负责FPGA与外界交互,可以实现诸如将信号串行解串行、将信号延迟以对准时钟等更复杂的功能。可编程 IO由 IOB 模块(Input/output Buffer)和紧邻的 IO 逻辑资源共同组成。负责 FPGA 和外界的交互,可以对输入和输出信号做复杂的处理。FPGA 通常有几百到上千个管 脚,除了时钟、电源和配置的专用管脚外,大部分管脚负责引入或输出信号。

百万甚至千万门级的电路通过可编程连线,将不同的逻辑单元连在一起,逻辑单元中的寄存器可以用作存储单元,将组合逻辑的结果送到下一个组合电路的输入端,整个电路就能像流水线一样同时工作。

由于数据信号的处理和传输需要时间,时钟信号的传递和变化也需要 时间,如果布局和连线的方式不合理,就会出现数据到达下一个寄存器的时间过晚或者过早,即数据采集失败的情况。大型的电路往往有数十万个 CLB 需要相连,这项复杂的工作需要由 FPGA 厂商专用的 EDA 工具负责。因为布局布线涉及 FPGA 的内部具体 架构,这是每家 FPGA 公司的机密,无法交给第三方完成,只能在 FPGA 公司的 EDA 上进行。

现代的 FPGA 是逻辑单元和诸如ARM、 DSP、收发器、CPU等固化单元的混合体,除了工艺制程和功耗外,评价 FPGA 的性能指标可分为逻辑资源、IO资源和固化单元三大类,分别代表FPGA在容量、接口以及特定功能上的性能表现。而且传统的LUT4 也逐渐提升到LUT6、LUT8甚至更高,将FPGA的容量转化为门级规模数越来越困难。因此,在2000年后,国际上采用“逻辑单元数”作为基本容量指标。

二、FPGA的特点和优势:

FPGA的特点:

(1)设计灵活:属于硬件可重构的芯片结构,内部设置数量丰富的输入输出单元引脚及触发器;

(2)兼容性强:FPGA芯片可与CMOS、TTL等大规模集成电路兼容,协同完成计算任务;

(3)并行计算:FPGA内部结构可按数据包步骤多少搭建相应数量流水线,不同流水线处理不同数据包,实现流水线并行、数据并行功能;

(4)适用性强:是专用电路中开发周期最短、应用风险最低的器件之一(部分客户无需投资研发即可获得适用FPGA芯片);

(5)快速开发:FPGA芯片产品可快速切入应用市场,具备不可替代性;

FPGA和通用CPU的对比:

CPU为通用型器件,FPGA架构相对CPU架构偏重计算效率,依托FPGA并行计算处理视觉算法可大幅提升计算速率,降低时延,计算速度可以提升数倍到数十倍。

FPGA与GPU对比:

(1)GPU计算峰值(10Tflops)显著高于FPGA计算峰值(小于1TFlops);

(2)GPU内存接口带宽优于FPGA使用的DDR接口,可以满足频繁大数据量访问内存需求;

(3)GPU设计完成后无法改动硬件资源,FPGA可根据特定应用编程硬件,具备强大的灵活性;

(4)FPGA平均功耗(10W)远低于GPU平均功耗(200W),可有效解决散热问题;

图2:FPGA与GPU和ASIC对比

三、FPGA的应用场景

FPGA适用领域:

(1) 标准/协议/算法经常更改的行业:需要支持可重构的系统,例如,无线通信协议经常更改、数据中心互联需要兼容多种协议标准、神经网络算法飞速迭代、军工通信加密方式经常变化、在轨航天器 的处理系统动态重构等,类似的场景使用 FPGA 能够节省大量的时间和研发成本;

(2) 快速迭代、成本敏感的行业:因为“现场”可用,相比ASIC,FPGA无需等待三个月至一年的流 片周期,上市时间短,对于消费电子这类竞争激烈、迭代迅速的行业尤其重要,像 Lattice、赛灵思自2000年起都纷纷针对消费电子市场,推出了不少单颗$2.5上下的中低容量的FPGA;

(3)小批量的行业:芯片研发阶段的MASK(光罩)费用是固定费用,65nm一次需要200万人民币,28nm需要1000万。随着制程提升,一次不成功的风险增大。对于年需 求量<500万颗的场景,专门为某一应用开发ASIC/ASSP,后续的销售额很难摊平巨大的研发成本。FPGA虽然单价较高,但由于其可以实现任何电路功能,节省了芯片千万级别的研发成本,特别适 合小批量的产品;

(4)反复修改验证的设计:例如,在ASIC/ASSP的原型设计中几乎都会使用FPGA进行验证,以发现 设计中存在的问题,及时修改,尽可能避免多次流片的风险。芯片原型仿真是FPGA的“刚需”之一, 亦是FPGA 诞生的根本原因,最高端的FPGA往往会销售给英特尔这些大型的数字芯片公司,供其新一代产品的验证,这一需求亦不断支撑FPGA走在技术节点前列。

图3:FPGA使用领域

FPGA的主要应用场景:

(1)通信行业的基站,无论是 RRU/AAU,还是 BBU/DU/CU,甚至核心网的设备,都需要用到 FPGA, 实现诸如 Turbo 编码,协议处理加速等的功能。而在售价数十万甚至百万人民币级别的无线信号测 量仪器,同样会用到单价上万元的高端 FPGA 进行信号的处理控制;

(2)国防军工行业,典型场景如雷达数据处理,需要满足大容量、低延时、高可靠的特性,才能实现微秒级的处理需求,而这一时延和稳定性要求只有 FPGA 能达到;在使用了光纤陀螺的惯性导航系统 同样,FPGA 可以对光信号进行低延时控制,实现光纤陀螺仪高精度、高动态的测量;

(3)工业:由于工业有大量的低时延场景,FPGA 在工业领域应用是非常广泛的,常见于伺服电机驱动, 往往采取CPU+FPGA的架构,以实现微秒级别的控制环路反馈/,像赛灵思Zynq系列(SoC FPGA) 在工业就拥有广泛的应用。此外,在激光设备中也使用 FPGA 进行皮秒/飞秒激光器的信号控制;

(4) 汽车:典型的应用在 ADAS 领域,这是由于 FPGA 比 GPU 时延更低,能保证更好的制动距离;除 此之外,FPGA 也应用在行车后视镜等场景;

(5)安防&视频:主要应用在安防高清视频的前端数据采集和低延时处理,在 LED 屏显同样应用广泛;

(6)AI:深度学习的模型往往涉及大量的乘法和累加,特别适合使用 FPGA 并行计算,以加速训练速度。

图3:2020年FPGA应用领域分布

四、FPGA芯片和方案资源

芯智雲城是高云(Gowin)的线上业务合作伙伴,如您需进进行FPGA器件选型或其他解决方案咨询:400-816-1216

想了解更多FPGA芯片选型,请访问芯智雲城~

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

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

相关文章

监控电脑屏幕的软件叫什么?6款超值的电脑屏幕监控软件推荐!

数字化转型的大背景下&#xff0c;企业对于员工的工作效率和行为规范提出了更高的要求。 为了确保员工的工作效率以及保护公司的数据安全&#xff0c;电脑屏幕监控软件逐渐成为企业管理的重要工具之一。 本文将为大家介绍五款超值的电脑屏幕监控软件&#xff0c;帮助企业更好地…

Linux 离线安装docker和docker-compose

前言 公司有 docker 和 docker-compose 离线包安装部署的需求&#xff0c;本文应运而生撰写时间&#xff1a;2024-06-07&#xff08;初稿&#xff09; 1 应用版本 docker&#xff1a;20.10.7, build f0df350docker-compose&#xff1a;1.25.1 2 物料准备 服务器账号/密码d…

即插即用,效率远超ControlNet!贾佳亚团队重磅开源ControlNeXt:超强图像视频生成方法

文章链接&#xff1a;https://arxiv.org/pdf/2408.06070 git链接&#xff1a;https://github.com/dvlab-research/ControlNeXt 项目链接&#xff1a;https://pbihao.github.io/projects/controlnext/index.html 亮点直击 提出了ControlNeXt&#xff0c;这是一种强大且高效的图像…

Spring Boot实现定时任务

目录 1.什么是定时任务2.Timer的使用3.Spring Task的使用Api说明配置类启用定时任务支持配置定时任务多线程&#xff08;异步&#xff09;定时任务 1.什么是定时任务 定时任务是指在预定的时间点或按照特定的时间间隔自动执行的任务。 定时任务的应用场景&#xff1a; 操作系…

系统调用学习29

#include<iostream> #include<signal.h> #include<unistd.h> #include<vector> // 定义信号屏蔽常量 #define BLOCK_SIGNAL 2 #define MAX_SIGNUM 31// 定义需要屏蔽的信号数组 int sigarr[]{2,3,4}; // 展示当前线程未处理的信号状态 static void sho…

TortoiseGit修改差异查看器为BeyondCompare

1. TortoiseGit修改差异查看器 比较文件&#xff1a;”C:\Program Files\Beyond Compare 4\BComp.exe” %base %mine /title1%bname /title2%yname /leftreadonly差异文件&#xff1a;”C:\Program Files\Beyond Compare 4\BCompare.exe2. TortoiseGit修改合并工具 解决冲突&…

【嵌入式开发之网络编程】TCP端口和UDP端口

目录 网络端口的定义及作用 运输层的作用 运输层的两个主要协议 用户数据报协议UDP (User Datagram Protocol) 传输控制协议TCP (Transmission Control Protocol) 运输层的端口及分类 按照端口号分类 按照协议类型分类 BSD端口 网络端口的定义及作用 在网络技术中…

低代码平台的优势与挑战:现代开发的革新之路

在数字化转型的浪潮中&#xff0c;低代码平台&#xff08;Low-Code Platforms&#xff09;成为了开发者和企业的重要工具。低代码平台通过可视化界面和拖拽式功能&#xff0c;简化了应用程序的开发过程&#xff0c;使得即使是没有编程背景的用户也能够构建功能丰富的应用。然而…

ubuntu18.04下安装nvidia3090显卡驱动

前言&#xff1a;之前安装过4090的显卡&#xff0c;但是是使用20.04直接在第三方驱动里面安装的&#xff0c;这回使用的是18.04&#xff0c;版本估计是21年以前的&#xff0c;附加驱动直接没有&#xff0c;整整卡了两天&#xff0c;最后再查询多篇资料后最终安装好&#xff0c;…

软考-软件设计师 (计算机网络习题)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

Impala 与 Hive 的比较

Impala 与 Hive 的关系 impala是基于hive的大数据分析查询引擎&#xff0c;直接使用hive的元数据库metadata&#xff0c;意味着impala元数据都存储在hive的metastore当中&#xff0c;并且impala兼容hive的绝大多数sql语法。所以需要安装impala的话&#xff0c;必须先安装hive&…

​高德离线API如何加载高清卫星影像

我们有客户遇到这样一个问题&#xff0c;现有平台基于高德API开发&#xff0c;但希望将地图更新为高清卫星影像。 我估计你可能也会遇到这个问题&#xff0c;因此特撰此文与大家分享。 项目背景 高德API有着比较广泛的用户群体&#xff0c;有不少系统为了业务数据的呈现&…

大数据应用整理

1.架构划分 1.1.数据抽取转换加载层&#xff08;ETL&#xff09; 从源系统抽取、转换、加载到所需的源数据&#xff0c;存储到系统的数据仓库中。ETL的设计和实施占整体工作的50%以上。ETL层的主要职责是将原始数据源中的数据提取出来&#xff0c;经过清洗、转换等处理后&…

小白学AI,新手也能轻松掌握的LLM Agent工作原理基础知识全览!

摘要 本文深入解释了大型语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;代理&#xff08;Agent&#xff09;的工作原理&#xff0c;详细阐述了它们的结构、能力和应用。 摘要 LLM代理是一种先进的数字助手&#xff0c;它们超越了传统的聊天机器人&am…

Postman数据驱动之CSV文件和JSON文件的处理

数据驱动 数据驱动&#xff1a;通过在测试过程中使用不同的输入数据来执行相同的测试脚本或流程。 适用场景&#xff1a;当一个接口需要测试多个场景用例&#xff08;正例、反例&#xff09;&#xff0c;可以使用数据驱动的形式实现。 CSV文件 CSV&#xff08;Comma-Separ…

verilog实现STFT

短时傅里叶变换&#xff08;STFT, Short Time Fourier Transform&#xff09;&#xff0c;是处理采样数据、获取信号时频特征的一种常用方法。然而其消耗的计算资源较为庞大&#xff0c;在数据采集设备全速运行时&#xff0c;若在上位机进行 STFT 的计算&#xff0c;则很难做到…

vue2使用天地图

需求&#xff1a;用vue2使用天地图展示对应点位数据以及开发中出现的问题等&#xff0c;其实天地图的写法和百度地图差不多 注意&#xff01;&#xff01;&#xff01;天地图的接口不稳定&#xff0c;时常报错418&#xff0c;官网也是一样的情况&#xff0c;推荐还是使用百度或…

一种基于物联网(IoT)的生物多样性监测系统

目录 摘要 第一部分&#xff1a;引言 第二部分&#xff1a;相关工作 第三部分&#xff1a;贡献 第四部分&#xff1a;提出的系统架构 第五部分&#xff1a;BN使用的消息框架 第六部分&#xff1a;系统实施 第七部分&#xff1a;实验场景和结果 第八部分&#xff1a;结…

游戏开发之性能优化

游戏开发中的性能优化是一个复杂且多方面的过程&#xff0c;涉及到多个层面的改进和调整。以下是一些主要的优化技巧和方法&#xff1a; 代码优化&#xff1a; 缓存计算结果&#xff1a;对于那些耗费大量CPU计算而计算结果无需每帧变化的逻辑&#xff0c;使用缓存可以显著提高性…

Java——反射(4/4):反射的作用、应用场景(案例需求、实现步骤、代码实现)

目录 作用 应用场景 案例需求 实现步骤 代码实现 作用 基本作用&#xff1a;可以得到一个类的全部成分然后操作。可以破坏封装性。最重要的用途是&#xff1a;适合做Java的框架&#xff0c;基本上&#xff0c;主流的框架都会基于反射设计出一些通用的功能。 通过反射能够…