为什么以及如何使用 Efinix FPGA 进行 AI/ML 成像 — 第 1 部分:入门

描述

编者按:FPGA 架构的新方法带来了更细粒度的控制和更大的灵活性,以满足机器学习 (ML) 和人工智能 (AI) 的需求。这个由两部分组成的系列的第 1 部分介绍了 Efinix 的一个这样的架构,以及如何使用开发板开始使用它。第2部分讨论开发板与外部设备和外设(如相机)的接口。

FPGA 在许多应用中发挥着关键作用,从工业控制和安全到机器人、航空航天和汽车。由于可编程逻辑内核的灵活性和广泛的接口能力,FPGA 的一个不断增长的用例是在部署 ML 推理时的图像处理。FPGA 非常适合实现具有多个高速摄像头接口的解决方案。此外,FPGA 还支持在逻辑中实现专用处理流水线,从而消除与基于 CPU 或 GPU 的解决方案相关的瓶颈。

然而,对于许多开发人员来说,他们的应用需要更多的 ML/AI 功能以及更细粒度的控制或路由和逻辑,超出了具有组合逻辑块 (CLB) 的经典 FPGA 架构所能提供的。FPGA架构的新方法解决了这些问题。例如,Efinix的Quantum架构使用可互换逻辑和路由(XLR)模块。

本文讨论了Efinix FPGA架构的主要特性和属性,重点介绍了其AI/ML功能并介绍了实际实现。然后,本文讨论了开发人员可用于快速开始下一个 AI/ML 成像设计的开发板和相关工具。

Efinix FPGA 器件

Efinix目前提供两个设备系列。它最初推出了Trion系列,该系列提供从4000(4K)到120K逻辑元件(LE)的逻辑密度,并使用中芯国际40LL工艺制造。最新的器件系列钛系列提供从35K到1万(1M)逻辑元件的逻辑密度,并在非常流行的台积电16纳米(nm)节点上制造。

这两种产品都基于昆腾架构,这在FPGA世界中是独一无二的。标准FPGA架构基于CLB,在最简单的层面上,CLB包含一个查找表(LUT)和触发器。CLB 实现逻辑方程,然后通过路由互连。Efinix的量子架构通过XLR块摆脱了不同的逻辑和路由块。

XLR 模块的独特之处在于,它可以配置为具有 LUT、寄存器和加法器或路由矩阵的逻辑单元。此方法提供了一个更细粒度的体系结构,可提供路由灵活性,使逻辑繁重或路由繁重的实现能够实现所需的性能。

AI

作为最新的产品系列,钛金属器件为开发人员提供了最先进的功能(图 2)。与 XLR 内核一起,它们提供多千兆位串行链路,其运行速度为 16 Gbps 或 25.8 Gbps,具体取决于所选设备。这些千兆位链路对于实现片上和片外的高速数据传输至关重要。

AI

钛器件还提供广泛的输入/输出 (I/O) 接口功能,可分为通用 I/O (GPIO),并且可以支持单端 I/O 标准,例如 3.3 伏、2.5 伏和 1.8 伏的低压 CMOS (LVCMOS)。

对于高速和差分接口,钛金器件提供高速I/O (HSIO),支持单端I/O标准,如1.2伏、1.5伏的LVCMOS,以及SSTL和HSTL。HSIO 支持的差分 I/O 标准包括低压差分信号 (LVDS)、差分 SSTL 和 HSTL。

现代FPGA还需要紧密耦合的高带宽存储器,用于存储图像处理应用的图像帧,信号处理的样本数据,当然还有运行FPGA中实现的处理器的操作系统和软件。钛合金系列器件能够与动态数据速率四(DDR4)和低功耗DDR4(x)(LPDDR4(x))接口。根据所选的确切钛金设备,总线宽度支持为 x32 (J) 或 x16 (M),而某些设备不支持 LPDDR4 (L)。

钛FPGA基于SRAM,需要配置存储器,器件配置由主/从串行外设互连(SPI)或JTAG执行。为了确保这种配置方法的安全,钛FPGA使用比特流的AES GCM加密,以及AES GCM和RSA-4096来提供比特流身份验证。由于 FPGA 部署在恶意行为者可以访问和操纵其行为的边缘,因此需要这样的强大安全性。

开发板介绍

开发板是FPGA评估过程的关键要素,因为它们可用于探索器件和原型应用的功能,从而有助于降低整体风险。第一个可用于评估钛 FPGA 并开始原型设计应用的开发板是 Ti180 M484(图 3)。该板具有一个FPGA夹层卡(FMC)连接器和四个Samtec QSE连接器。

AI

该开发板安装的 Ti180 FPGA 提供 172K XLR 单元、32 个全局时钟、640 个数字信号处理 (DSP) 元件和 13 兆位 (Mbit) 嵌入式 RAM。DSP 元件能够实现定点 18 x 19 乘法和 48 位乘法。此 DSP 还可以针对在双通道或四通道配置中运行的单指令多数据 (SIMD) 操作进行优化。DSP 元素也可以配置为执行浮点运算。

与大多数开发板一样,Ti180 开发板提供简单的 LED 和按钮。然而,它的真正力量在于它的接口能力。Ti180 开发板提供低引脚数 FMC 连接器,可连接各种外设。由于FMC卡是一种广泛使用的标准,因此有许多FMC卡可以连接高速模数转换器(ADC)、数模转换器(DAC)、网络和存储器/ 存储解决方案。

除了FMC连接外,该板还提供四个Samtec QSE连接器,使开发人员能够添加扩展卡。这些 QSE 连接器用于提供 MIPI 输入和输出,每个 QSE 连接器提供 MIPI 输入或输出。

AI

Ti180 板还提供 256 Mbits 的 LPDDR4,以支持图像或信号处理应用所需的高性能存储器。此外,该开发板还提供一系列 25、33.33、50 和 74.25 MHz 时钟选项,可与器件锁相环 (PLL) 配合使用,以产生不同的内部频率。

在开发过程中,在电路板上实时重新编程和调试的能力至关重要,需要JTAG连接,JTAG通过USB-C接口在板上提供。还提供两个 256 Mbit NOR 闪存器件形式的非易失性存储器,可用于演示配置解决方案。

该板由包装盒随附的 12 伏通用电源适配器供电。还包括FMC到QSE的分线,以及用于HDMI,以太网,MIPI和LVDS的基于QSE的扩展卡。为了演示 Ti180 图像处理能力,还提供了一张双 RPI 子卡和两张 IMX477 相机卡。

软件环境

针对 Ti180 开发板实现设计使用 Efinix 软件 Efinity。该软件能够通过合成、放置和路由生成比特流。它还为开发人员提供知识产权 (IP) 模块、时序分析和片上调试。

请注意,需要开发板才能访问Efinity软件。但是,与其他供应商不同,该工具没有需要额外许可的不同版本。

在Efinity中,将针对所选设备创建新项目。然后可以将 RTL 文件添加到项目中,并为时序和 I/O 设计创建约束。在Efinity中,开发人员还可以利用HSIO,GPIO和专用I / O实现I / O设计。

AI

FPGA 设计的一个关键要素是利用 IP,尤其是对于复杂的 IP,如 AXI 互连、内存控制器和软核处理器。Efinity为开发人员提供了一系列可用于加速设计过程的IP模块。

AI

虽然 FPGA 在实现并行处理结构方面非常出色,但许多 FPGA 设计都包含软核处理器。这些提供了实现顺序处理(如网络通信)的能力。为了在Efinix设备中部署软核处理器,Efinity提供了Sapphire片上系统(SoC)配置工具。Sapphire 允许开发人员定义一个多处理器系统,该系统具有跨多个处理器的缓存和缓存一致性,以及运行嵌入式 Linux 操作系统的能力。在 Sapphire 中,开发人员可以在一到四个软核处理器之间进行选择。

正在实现的软核处理器是VexRiscV软CPU,它基于RISC-V指令集架构。VexRiscV 处理器是一种 32 位实现,具有流水线扩展并提供可配置的功能集,使其成为在 Efinix 设备中实现的理想选择。可选配置包括乘法器、原子指令、浮点扩展和压缩指令。根据 SoC 系统的配置,性能范围在 0.86 到 1.05 DMIPS/MHz 之间。

一旦在Efinix设备中设计和实现了硬件环境,就可以使用Ashling RiscFree IDE开发应用软件。Ashling RiscFree是一个基于Eclipse的IDE,它支持创建和编译应用程序软件,以及在部署之前对目标进行调试以微调应用程序。

AI

如果正在开发嵌入式Linux解决方案,则提供所有必要的引导工件,包括第一阶段引导加载程序,OpenSBI,U-Boot和使用Buildroot的Linux。或者,如果需要实时解决方案,开发人员可以使用 FreeRTOS。

人工智能实施

基于RISC-V软核操作的是Efinix的AI实现。这利用了RISC-V处理器的自定义指令功能来实现TensorFlow Lite解决方案的加速。RISC-V处理器的使用还使用户能够创建自定义指令,这些指令可用作AI推理之后的预处理或后处理的一部分,从而创建响应速度更快、确定性更强的解决方案。

要开始实施 AI,第一步是探索 Efinix 模型动物园,这是一个针对其终端技术优化的 AI/ML 模型库。对于使用Efinix设备的开发人员,可以访问模型动物园,并使用Jupyter Notebooks或Google Colab训练网络。一旦网络经过训练,就可以使用TensorFlow Lite转换器将其从浮点模型转换为量化模型。

一旦采用TensorFlow Lite格式,Efinix的tinyML加速器可用于在RISC-V解决方案上创建可部署的解决方案。tinyML 生成器使开发人员能够自定义加速器实现并生成项目文件。以这种方式部署时,加速范围可能在 4 倍到 200 倍之间,具体取决于所选的架构和自定义。

结论

Efinix 器件凭借其独特的 XLR 架构为开发人员提供了灵活性。该工具链不仅能够实现 RTL 设计,还可以实现部署软核 RISC-V 处理器的复杂 SoC 解决方案。在软核 SoC 之上构建的是一种 AI/ML 解决方案,支持部署 ML 推理。

审核编辑 黄宇

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分