0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在资源受限型应用中使用 FPGA

海阔天空的专栏 来源:Kenton Williston 作者:Kenton Williston 2025-10-03 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:Kenton Williston

投稿人:DigiKey 北美编辑

资源受限的嵌入式系统对可配置逻辑的需求与日俱增。边缘 AI机器视觉工业自动化等应用需要灵活的应用特定逻辑,以满足不断变化的性能需求,同时在严格的功耗、尺寸和成本限制内运行。现代现场可编程门阵列 (FPGA) 可以满足这些相互竞争的需求。

本文回顾了为资源受限型应用选择 FPGA 时需要考虑的关键设计标准。然后,以 [Altera] 经过[功率和成本优化的 FPGA] 产品组合为例,说明不同产品线如何与应用特定场景相匹配。最后重点介绍了可用于设计概念原型开发和验证的开发套件和评估板。

选择 FPGA 时应注意的事项

为资源受限型系统选择 FPGA 需要考虑多种设计要求,并按照这些要求匹配正确的解决方案。有多个关键的 FPGA 特性需要考虑:

逻辑元件 (LE) 容量 :作为 FPGA 的基本构件,逻辑元件的数量决定了可以实现多少定制逻辑。数量越高设计就越复杂:折衷的办法是增加功率、成本和封装尺寸。

I/O 和存储器 :FPGA 通常用于连接系统中的不同组件,因此 I/O 引脚的数量是一个重要的考虑因素。为了提高 I/O 性能,许多 FPGA 为 PCI Express (PCIe)、高速存储器和千兆位收发器接口集成了强化的固定逻辑块。

此外,一些 FPGA 还集成了模数转换器 (ADC) 和闪存等元件。这些增强元件可减少对配套芯片的需要,从而节省了电路板空间并提高了能效。

处理器集成: 可以在 FPGA 内实现“软”微处理器单元 (MPU),而不是使用外部处理器。这种方法可以减少系统的尺寸,但最适合对 MPU 工作负载要求不高的应用。

对于需要 MPU 具有更快速度、更高效率的应用,设计人员可以考虑使用带有硬核处理器系统 (HPS) 的 FPGA,将 MPU 作为 FPGA 中的固定逻辑块来实现。

硬件加速器: FPGA 通常包含专用数字信号处理 (DSP) 块,可有效处理像运动控制这样的计算密集型任务。高端设备可能会配备专门用于 AI 工作负载的张量块。这些加速器块的功能在不同的 FPGA 系列中差别很大,会极大地影响系统的整体性能。

封装和功率优化 :有些 FPGA 专门设计用于最大限度地减少物理和电气占用空间。例如,它们可以提供低功耗睡眠模式。

工具 :创建自定义逻辑是一项艰巨的挑战,尤其是对于新手设计人员而言。Altera 的 [Quartus Prime] 设计软件等工具的出现简化了这一过程。

Quartus Prime 提供了对开发人员友好的体验、广泛的预建逻辑块目录以及自动将这些逻辑块互连的能力,从而使 FPGA 设计更加易于实现。该工具集成了常用的 AI 和机器学习 (ML) 工作流,能够让使开发人员在 FPGA 上部署 Linux 和 Zephyr 等流行的操作系统 (OS)。

上述功能可大大加快 FPGA 的设计速度,因此在选择器件时,工具功能也是一个重要的考虑因素。

面向高级嵌入式工作负载的高性能计算

为了说明设计要求如何影响 FPGA 的选择,不妨从需要超高计算密度、带宽和集成度的高端应用入手。下面我们以高级边缘 AI 应用和高性能工业网关为例作详细分析。

[Agilex 3] FPGA(图 1)专为满足这些应用需求而设计,可提供最高 135K LE。这些芯片有纯 FPGA 和片上系统 (SoC) 两种类型。SoC 器件集成了双核 800 兆赫 (MHz) [Arm®] Cortex®-A55,能够让 FPGA 处理复杂的软件堆栈,如人机界面 (HMI) 或网络堆栈。

这种可编程结构具有 AI 张量块,能够提供高达每秒 2.8 万亿次 INT8 运算 (TOPS)。这些张量块支持各种计算格式,包括 FP16、FP19、FP32 和 BFLOAT16,并进行了优化,实现了对 AI 工作负载的高效执行。此外,还包括可变精度 DSP 块,为通用信号处理提供高达每秒 180 千兆次浮点运算 (GFLOPS) 的性能。

Altera Agilex 3 以其高性能 DSP 和 AI 张量模块而著称图片图 1:Agilex 3 以其高性能 DSP 和 AI 张量模块而著称。(图片来源:Altera)

高速连接是 Agilex 3 架构的另一个优势。收发器支持高达每秒 12.5 千兆比特 (Gb/s) 的数据传输速率,并提供用于 PCIe 3.0、万兆位以太网 (GbE) 和 LPDDR4 存储器接口的强化 I/O 块。对 IEEE 1588 精确时间同步的支持进一步增强了其对实时工业网络的适用性。

[A3CZ135BB18AE7S] 器件展示了该系列的功能。它包括 135K LE、184 个 DSP 块,并提供 2.54 TOPS。

复杂系统的高级集成

对于工业自动化和中程视觉系统等应用而言,原始计算能力的重要性可能不如对带有大量定制逻辑和 I/O 的复杂配置的支持能力。[Cyclone V] FPGA 非常适合这些应用场景,提供最高 300K LE 和广泛的高速接口。与 Agilex 3 一样,这些芯片也有纯 FPGA 和 SoC 两种变型。其中 SoC 器件集成了双核 Arm Cortex-A9。

这些芯片中的可编程结构包括可变精度 DSP 块,支持三重 9 × 9 和双重 18 × 18 定点乘法,以及 27 × 27 定点或浮点乘法。这些块可用于高级信号处理和 AI。

广泛的 I/O 组合支持多种电压等级和接口类型。强化逻辑块可实现先进的高速连接,包括 PCIe 2.0、DDR3 控制器和收发器,运行速度高达 6.144 Gb/s。

开发人员可以使用 [DK-DEV-5CSXC6N-B 开发套件] 评估 Cyclone V SoC 系列(图 2)。该套件专为快速开发复杂的高吞吐量系统原型而设计。

Altera DK-DEV-5CSXC6N-B Cyclone V 开发套件图片图 2:DK-DEV-5CSXC6N-B Cyclone V 开发套件支持高性能原型开发。(图片来源:Altera)

该套件有几个显著特性:

  • 双以太网端口、PCIe x4 连接器和高速夹层卡 (HSMC),每个方向有 16 个 LVDS 通道
  • USB 2.0 OTG、CANUART 和双行文本 LCD 接口
  • FPGA 侧和 HPS 侧各 1 千兆字节 (Gb) DDR3 SDRAM、128 兆字节 (Mb) 四通道 SPI 闪存和 4 Gb microSD 卡

该电路板采用 [5CSXFC5D6F31C8N] 器件,包括一个运行频率为 600 MHz 的双核 Arm Cortex-A9 处理器、85K LE、87 个 DSP 块和 288 个 I/O 引脚,封装为 31 mm × 31 mm 的 896-FBGA。

采用紧凑型封装的高能效可配置逻辑器件

许多应用都受到空间和功耗的严格限制。例如传感器接口、电源定序和外设控制。[MAX 10] 系列等 FPGA 为这些情况提供了有效的解决方案。MAX 10 器件的配置从 2K LE 到 50K LE 不等,封装尺寸小至 3 mm × 3 mm。

主要功能包括多达两个集成式 12 位 ADC、一个 DDR3 存储器接口以及支持 18 × 18 和双重 9 × 9 定点模式的乘法器模块。支持双图像存储的片上闪存允许 FPGA 在没有外部存储设备的情况下进行自我配置。

省电功能是 MAX 10 系列最显著的属性之一。内置睡眠模式可将动态功耗降低 95% 。借助片上闪存,器件还可在 10 毫秒 (ms) 内完全断电并恢复运行。

单电源选项进一步简化了供电。这使得 MAX 10 器件特别适合用于功率域可能需要先于系统其他部分联机的监控场合。

对 MAX 10 感兴趣的开发人员可以使用 [EK-10M08E144] MAX 10 FPGA 评估板(图 3)对该系列进行评估。该电路板可通过 [Arduino] UNO R3 连接器和测试点访问外部信号,其布局设计可支持对 ADC 性能和整体电源行为的测量。

Altera EK-10M08E144 MAX 10 FPGA 评估板图片图 3:EK-10M08E144 MAX 10 FPGA 评估板可轻松访问关键 I/O。(图片来源:Altera)

电路板采用 [10M08SAE144C8G] 器件,包括 8K LE 和一个 ADC,封装为 144 引脚 LQFP。除内置硬件资源外,该 FPGA 还支持基于 RISC-V 的 Nios V 软处理器,无需外部微控制器单元 (MCU),设计人员即可实现轻量级控制功能。

适合中程应用的均衡性能

有些应用需要更大的逻辑和 I/O 容量,而入门级 FPGA 无法提供。例如传感器融合、运动控制和芯片到芯片桥接。[Cyclone 10 LP] FPGA 为满足这些要求,在器件中提供了多达 120K 的 LE 和 525 个 I/O 引脚,并针对成本敏感型应用中的功率和带宽平衡进行了优化。

与 MAX 10 一样,该系列包括适用于滤波、控制回路和基本 AI 推断等工作负载的 DSP 块。与 MAX 10 不同,Cyclone 10 LP 器件集成了真正的 LVDS 收发器和片上终端 (OCT),以支持高速数字接口。

对 Cyclone 10 LP 感兴趣的开发人员可以使用 [EK-10CL025U256] Cyclone 10 评估套件(图 4)对该系列进行评估。该电路板提供 Arduino UNO R3 和 [Digilent] Pmod 连接器,扩展方便简单。其他特性包括 GbE、USB 2.0、128 Mb SDRAM 和 64 Mb 闪存。

Altera EK-10CL025U256 Cyclone 10 评估套件示意图(点击放大)图 4:EK-10CL025U256 Cyclone 10 评估套件支持轻松外设扩展。(图片来源:Altera)

该电路板采用 [10CL025YU256C8G] 器件,包括 25K LE、66 个 DSP 块和 150 个 I/O 引脚,封装尺寸为 14 mm × 14 mm。与 MAX 10 一样,Cyclone 10 LP 系列也支持 Nios V 软处理器。

结语

现在,设计人员在嵌入式系统中实现定制逻辑时要比以往任何时候都更加灵活。高性能应用可从集成了 AI 加速器的 FPGA 中获益。低功耗设计可以利用具有睡眠模式的器件。I/O 密集型系统可以利用具有大量引脚数和高速接口的芯片。重要的是,所有这些功能都可以通过易于使用的工具包,在资源受限型嵌入式系统的严格限制下实现。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630235
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3716

    浏览量

    133102
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在AMD Vitis Unified IDE中使用系统设备树

    您将在这篇博客中了解系统设备树 (SDT) 以及如何在 AMD Vitis Unified IDE 中使用 SDT 维护来自 XSA 的硬件元数据。本文还讲述了如何对 SDT 进行操作,以便在 Vitis Unified IDE 中实现更灵活的使用场景。
    的头像 发表于 11-18 11:13 2809次阅读
    如<b class='flag-5'>何在</b>AMD Vitis Unified IDE<b class='flag-5'>中使</b>用系统设备树

    Altera全新推出MAX 10 FPGA封装新选择

    Altera 全新推出 MAX 10 FPGA 封装新选择,采用可变间距球栅阵列 (VPBGA) 技术并已开始批量出货,可为空间受限及 I/O 密集应用的设计人员带来关键技术优势。
    的头像 发表于 11-10 16:38 1234次阅读
    Altera全新推出MAX 10 <b class='flag-5'>FPGA</b>封装新选择

    何在VS code中配置Zephyr集成开发环境

    上一篇文章介绍了如何在VS code中使用瑞萨官方插件为RA芯片创建项目与项目调试,相信大家对RA在VS code中的开发有了基础的了解。
    的头像 发表于 11-05 14:46 1065次阅读
    如<b class='flag-5'>何在</b>VS code中配置Zephyr集成开发环境

    如何调用FPGA板上的按键资源

    今天主要介绍一下我们团队是如何调用FPGA板上的按键资源的。 首先,初始化按键模块: 具体初始化函数调用如下: 其次,定义按键扫描函数: u8 KEY_Scan(u8 mode
    发表于 10-30 08:05

    何在vivadoHLS中使用.TLite模型

    本帖欲分享如何在vivadoHLS中使用.TLite模型。在Vivado HLS中导入模型后,需要设置其输入和输出接口以与您的设计进行适配。 1. 在Vivado HLS项目中导入模型文件 可以
    发表于 10-22 06:29

    何在FPGA部署AI模型

    如果你已经在用 MATLAB 做深度学习,那一定知道它的训练和仿真体验非常丝滑。但当模型要真正落地到 FPGA 上时,往往就会卡住:怎么把网络结构和权重优雅地搬到硬件里?
    的头像 发表于 09-24 10:00 4103次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>FPGA</b>部署AI模型

    何在智多晶FPGA上使用MIPI接口

    大家好呀!今天我们来聊聊一个非常实用的话题——如何在智多晶FPGA上使用MIPI接口。不管是做摄像头图像采集还是屏幕显示控制,MIPI都是非常常见的接口标准。掌握了它,你的视频项目开发效率将大大提升!
    的头像 发表于 09-11 09:37 738次阅读

    聊聊FPGA中的TDC原理

    今天我们不谈高大上的物理学,只聊聊如何在 FPGA 中,用一串加法器和 D 触发器,“数清楚时间”——这就是时间数字转换器(TDC)的魅力。
    的头像 发表于 09-02 15:15 933次阅读
    聊聊<b class='flag-5'>FPGA</b>中的TDC原理

    请问如何在 Keil μVision 或 IAR EWARM 中使用观察点进行调试?

    何在 Keil μVision 或 IAR EWARM 中使用观察点进行调试?
    发表于 08-20 06:29

    基于FPGA的压缩算法加速实现

    本设计中,计划实现对文件的压缩及解压,同时优化压缩中所涉及的信号处理和计算密集功能,实现对其的加速处理。本设计的最终目标是证明在充分并行化的硬件体系结构 FPGA 上实现该算法时,可以大大提高该算
    的头像 发表于 07-10 11:09 2076次阅读
    基于<b class='flag-5'>FPGA</b>的压缩算法加速实现

    请问如何在C++中使用NPU上的模型缓存?

    无法确定如何在 C++ 中的 NPU 上使用模型缓存
    发表于 06-24 07:25

    Xilinx Ultrascale系列FPGA的时钟资源与架构解析

    Ultrascale是赛灵思开发的支持包含步进功能的增强FPGA架构,相比7系列的28nm工艺,Ultrascale采用20nm的工艺,主要有2个系列:Kintex和Virtex
    的头像 发表于 04-24 11:29 2078次阅读
    Xilinx Ultrascale系列<b class='flag-5'>FPGA</b>的时钟<b class='flag-5'>资源</b>与架构解析

    何在USB视频类(UVC)框架中使用EZ-USB™FX3实现图像传感器接口USB视频类(UVC)

    电子发烧友网站提供《如何在USB视频类(UVC)框架中使用EZ-USB™FX3实现图像传感器接口USB视频类(UVC).pdf》资料免费下载
    发表于 02-28 17:36 2次下载

    何在MATLAB中使用DeepSeek模型

    在 DeepSeek-R1(https://github.com/deepseek-ai/DeepSeek-R1) AI 模型横空出世后,人们几乎就立马开始询问如何在 MATLAB 中使用这些模型
    的头像 发表于 02-13 09:20 4061次阅读
    如<b class='flag-5'>何在</b>MATLAB<b class='flag-5'>中使</b>用DeepSeek模型

    何在Windows中使用MTP协议

    、图片等)的通信协议,它被广泛用于Android设备。以下是如何在Windows中使用MTP协议的详细步骤: 1. 确保设备支持MTP 首先,你需要确认你的设备支持MTP协议。大多数现代Android
    的头像 发表于 01-03 10:26 4409次阅读