使用 Efinix 已启用 Quantum 的 FPGA 实现低功耗、高性能的边缘计算
投稿人:DigiKey 北美编辑
2020-03-17
经典云计算存在延迟、数据安全性、最终用户隐私、可用带宽和可靠连接性等问题。为了解决这些问题,设计人员和系统架构师正在转向边缘计算。但是,从成本、尺寸、性能和功耗到可扩展性、灵活性和可升级性问题,边缘计算自身也面临着一系列挑战。当设计人员希望在更靠近数据源的位置进行更多的图像处理以及实现更多的人工智能 (AI) 和机器学习 (ML) 算法时,尤其如此。
因此,设计人员的目光不再局限于传统的微控制器 (MCU) 或应用处理器 (AP),而是考虑采用具有并行处理能力的现场可编程门阵列 (FPGA)。FPGA 在设计和实现方面的稳步改进意味着,它们现在可以满足上述许多甚至所有要求——可作为独立器件使用,也可与 MCU 和 AP 结合使用。话虽如此,许多设计人员并不熟悉 FPGA,因而担心学习曲线的问题。
本文简要讨论了从云到边缘计算的迁移,以及传统的处理架构在图像处理及 AI 和 ML 方面显得力所不及的原因。接着会简要介绍 FPGA 及其在上述数据密集型边缘应用中具有架构优势的原因。最后介绍一种新的 FPGA 方法——Efinix 的 Quantum 技术及其应用方法。
为什么需要边缘计算?
在传统的云计算中,数据是从无数的远程位置收集而来,并传输到基于云的系统进行存储和分析。但是,这种方法存在很多缺点。其中包括:传输大量原始数据以及维护数据在传输过程中的完整性和安全性的成本;响应延迟;最终用户隐私问题;与互联网的连接经常不可靠;可用带宽的次优使用。
顾名思义,边缘计算意味着将处理工作(计算和分析)转移到更靠近互联网边缘的位置,并在此位置生成、分析、收集和应用数据。术语“边缘计算”并非特定于应用或设备,设计人员可酌情选择仅进行边缘处理或在云与边缘之间取得平衡。
边缘应用包括智能工厂、智能城市、智能家居和智能交通,诸此种种,不一而足。此外,边缘设备的范围涵盖大型高端边缘服务器到位于互联网极端边缘(即数据生成点)的相对较小的传感器和致动器系统。
FPGA 的优势
就计算而言,传统处理器在执行决策和顺序任务方面非常高效,但在许多数据处理算法方面(例如用于图像处理、AI 和 ML 的算法)却非常低效。这类任务通常可分解为大规模并行(而不是顺序)处理管道。凑巧的是,正在迁移到边缘和极端边缘的恰恰是这类应用。
FPGA 可以经过编程(配置)以实现任意功能组合,这一事实使 FPGA 能够以大规模并行方式执行图像处理、AI 和 ML 算法,从而最大限度减少了延迟,同时还降低了功耗。除了主要的可编程结构外,FPGA 还配备了片上数字信号处理 (DSP) 块,其中包含了特殊乘法器,可以极大地加快 DSP 密集型应用的速度。此外,FPGA 还具备有益于片上处理的片上存储块,而片上处理的速度比片外处理要快得多。
目前有多家 FPGA 供应商,每家都有自己的独特产品。作为其中一家,Efinix 开发了一种称为 Quantum 的特殊 FPGA 架构,特别适合一般边缘计算,尤其是图像处理。Efinix 还围绕该技术开发了 Trion FPGA(和 Quantum ASIC)系列,这些 FPGA 与传统的 FPGA 技术相比,具有 4 倍的功耗性能面积优势(图 1)。Efinity 集成开发环境 (IDE) 在 FPGA 和 ASIC 领域之间搭起了桥梁。
图 1:Trion FPGA 凭借其在功耗性能面积上的优势,可满足定制逻辑、计算加速、机器学习、深度学习和图像处理等应用需求。借助 Efinity IDE,用户可以从 Trion FPGA 无缝地迁移到 Quantum ASIC,以实现超大批量生产。(图片来源:Efinix)
什么是 Quantum 技术?
与传统 FPGA 一样,Trion FPGA 也包括存储块和 DSP 块。两者的区别在于可编程结构(图 2)。可编程逻辑的核心是逻辑元件 (LE)。每个 LE 包括查找表 (LUT)、多路复用器和寄存器,所有这些都可根据需要进行配置。对于传统 FPGA 而言,其可编程结构可描述为“粗粒度”。
图 2:传统 FPGA 架构 (a) 是粗粒度架构,尽管逻辑和互连器件是可编程的,但仍然是固定资源。相比之下,基于 Quantum 架构的 Trion FPGA (b) 具有更细的粒度,而且其逻辑和路由资源可以互换(图片来源:Max Maxfield)
在粗粒度结构中,多个 LE 聚集在一起构成更大的群集逻辑块 (CLB)。请注意,一些供应商使用术语“可配置逻辑块”(CLB),另一些供应商则使用“逻辑阵列块”(LAB),但两者的含义相同。
请务必注意,此插图为抽象图。传统 FPGA 中的 CLB 和路由交换机(可编程互连器件)并非真正呈现为如图所示的棋盘格。但是,它们是固定不变的,因为可编程逻辑将始终是可编程逻辑,而可编程互连器件将始终是可编程互连器件。
与传统架构相比,Trion FPGA 的粒度要精细得多,可达单个逻辑元件的分辨率。此外,每个可交换逻辑和路由 (XLR) 单元均可配置为充当 LE 或充当路由矩阵的一部分。
Quantum 架构中所用的配置单元基于 SRAM,这意味着该技术是“与硅无关”。它们可以使用任何标准 CMOS 工艺制造,而无需某些中端 FPGA 中使用的替代配置技术(例如闪存和反熔丝)所要求的特殊处理步骤。
正是这种可软件配置的逻辑和路由以及高性能自适应互连器件,使得基于 Quantum 的方法与相同工艺技术节点下创建的基于 SRAM 的传统 FPGA 相比,在功耗性能面积 (PPA) 方面实现了 4 倍的提升。
此外,使用 Quantum 架构创建的 FPGA 只需要七个金属层,而传统 FPGA 需要 12 个以上的金属层。由于每增加一层金属都需要多个遮罩和工艺步骤,因此仅使用七层可以降低设计和制造成本并提高良率。
对于那些寻求边缘计算和图像处理的成本、尺寸、性能和灵活性优势的设计人员来说,所有这些特征和特性都非常有用。因此,Trion FPGA 非常适合传统的 FPGA 应用以及新兴的边缘计算和图像处理应用。后者包括移动、物联网 (IoT)、自动化、机器人技术、传感器融合、计算机视觉、AI 和 ML。
Trion FPGA 的结构
尽管 Trion FPGA 采用 40 纳米 (nm) 低功耗硅工艺制造并包含 4K 到 200K 个逻辑元件 (LE),但该工艺也可扩展至更多的器件。所有 Trion FPGA 都包括存储块和 DSP 块,但它们的容量和数量取决于器件的大小。较小的器件,例如 T4F81C2,其功能更加精简(即 3,888 个 LE,78,848 个存储位,59 个 GPIO),并且面向的是手持式、控制平面功能。
T20F256C3 之类更高端的器件相应地包含了更多资源(即 19,728 个 LE,1,069,548 个存储位,195 个 GPIO)。T13F256C3 与 T20F256C3 相似,但具有 12,828 个 LE。同样,诸如 T13/T20 之类的器件也具有不同的版本(图 3)。
图 3:Efinix 的 T13/T20 BGA256s (a) 为通用 FPGA,对于具有密集 I/O 需求的设计而言是个不错的选择;T13/T20 BGA169s (b) 包括两个 MIPI D-PHY/CSI-2 硬内核块,适用于需要支持 MIPI 摄像头接口的设计;T13/T20 BGA324s (c) 通过硬内核 16 位双倍数据速率 (DDR) DRAM 接口和控制器增强了 MIPI 接口,适用于具有密集存储器带宽需求的设计。(图片来源:Max Maxfield)
MIPI CSI-2 具有低功耗、低延迟和低成本的芯片到芯片连接性,因此是移动和其他市场中使用最广泛的摄像头接口。它还支持众多高性能格式,包括 1080p、4K、8K(及更高版本)视频以及高分辨率成像。其中须特别关注的一个事实是,MIPI CSI-2 是用于边缘应用中的视觉传感器的主要接口。为了支持这些应用的设计,T13/T20 BGA169s FPGA 包括两个 MIPI D-PHY/CSI-2 硬内核块(同样参见图 3)。
虽然 DDR 内存支持高带宽数据传输,但也需要遵守严格的时序协议。除了硬化的 MIPI D-PHY/CSI-2 接口外,Trion T13/T20 BGA324(同样参见图 3)还包括硬化的 16 位 DDR DRAM 接口和控制器,适用于具有密集存储器带宽需求的设计。
Quantum ASIC
如前所述,Trion FPGA 中使用的配置单元是基于 SRAM 的。因此,在系统首次上电时,Trion FPGA 需要加载其配置数据,要么从外部存储器件加载,要么通过主机处理器以“位拆裂”的方式加载。为了在超大批量生产中做到这一点,Efinix 还以 Quantum ASIC 的形式提供了 Quantum 加速的嵌入式 FPGA (eFPGA) 解决方案。这种情况下,Efinix 可采用 T4、T8、T13 或 T20 设计,并创建在内部启动,且无需外部配置器件的遮罩编程 Quantum ASIC 版本。
使用 Trion FPGA 的设计和开发
Efinix 提供了各种评估板和开发套件,以便用户熟悉 Trion FPGA。这些产品包括 Trion T8F81C-DK T8 Trion FPGA 开发套件,Trion T20F256C-DK T20 Trion FPGA 评估板和 Trion T20MIPI-DK T20 MIPI D-PHY/CSI-2 开发套件。
伴随 FPGA 发展的最常见技术之一被称为语言驱动设计 (LDD)。这涉及使用 Verilog 或 VHDL 等硬件描述语言 (HDL),在抽象级别(即寄存器传送级 (RTL))上捕获设计意图。通过逻辑仿真进行验证之后,该表示将连同目标 FPGA 类型、引脚分配和时序约束(例如最大输入到输出延迟)等其他信息一并传输至合成引擎。合成引擎输出的配置文件可以直接加载至 FPGA 中,或者加载至外部存储器件中(图 4)。
图 4:通过逻辑仿真进行验证之后,RTL 设计描述将与 FPGA 类型、引脚分配和时序约束等其他设计细节一并传输至合成引擎。合成引擎输出的配置文件被加载至 FPGA 中。(图片来源:Max Maxfield)
Efinix 的 Efinity IDE 便属于此类工具。该软件支持简单易用的图形用户界面 (GUI) 和命令行脚本,可提供完整的 RTL 到比特流流程。通过直观的仪表板指导开发人员完成该流程(即合成、布置、布线、生成比特流),其中每个阶段均可采用自动或手动控制。开发人员可借助 Efinity 的合成引擎来充分利用 Trion FPGA 中具备的 Quantum 架构,产生有望实现 4 倍 PPA 提升的器件。
除了支持使用 ModelSim、NCSim 或免费的 IVerilog 仿真器的仿真流程外,Efinity IDE 还具有用于约束逻辑并将引脚分配给器件外围的块的接口设计器、用于浏览设计的逻辑和布线布局的引脚平面编辑器、用于测量设计性能的时序浏览器和静态时序分析,以及带有逻辑分析仪和虚拟 I/O 调试内核的集成硬件调试器。
总结
随着设计人员在边缘执行越来越多的图像、AI 和 ML 处理而不是执行或补充基于云的方法,他们需要将 FPGA 视为其处理架构的一部分,才能更好地解决诸如成本、性能、功耗、尺寸、可扩展性、灵活性和可升级性等问题。
对于某些设计人员而言,这可能涉及学习曲线;但是,如上所述,诸如 Efinix 的 Quantum 技术这类 FPGA 进步可通过降低成本,减小外形尺寸,提高性能和灵活性迅速获得投资回报。
因此,FPGA 现在不仅非常适合传统的 FPGA 应用,也很适合面向移动、物联网、自动化、机器人技术、传感器融合、计算机视觉、AI 和 ML 应用的新兴边缘计算。
其他资源
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。