游乐游手机版
首页/AI热点日报/热点详情

FPGA块RAM级联架构提升AI/ML数据流通量

类型:热点整理2026-07-06
Speedster7tFPGA集成二维片上网络与72kbitBlockRAM,其核心创新在于BlockRAM间专有级联走线,避免通用走线瓶颈,显著提升多个BRAM拼接的性能与数据吞吐量,同时降低延迟,适用于AI ML等高带宽数据缓存场景。

随着数据中心、人工智能、自动驾驶、5G、计算存储以及先进测试等应用场景的数据规模与数据吞吐量持续攀升,业界不仅需要引入高性能、高密度的FPGA来发挥其并行计算与可编程硬件加速能力,还对海量数据在FPGA芯片内部与外部的高速流动提出了更高要求。Achronix Speedster7t FPGA作为全球首款在逻辑阵列上集成二维片上网络(2D NoC)的7nm FPGA,凭借其革命性的架构设计成为行业关注的焦点。本文将重点围绕Speedster7t FPGA中片上SRAM(即Block RAM)的独特优化展开,深入解析其特性、级联结构以及在实际应用中的优势。

一、Speedster7t FPGA整体架构概览

Speedster7t FPGA专为人工智能/机器学习(AI/ML)以及高带宽应用而优化,是一款高性能、高密度的FPGA。它集成了革命性的二维片上网络(2D NoD)、新型机器学习处理器(MLP)、400G以太网和PCIe Gen5端口,以及高带宽GDDR6和DDR4/5存储控制器。其整体架构如图1所示。

图1 Speedster7t FPGA结构图

除了外围高性能硬核IP外,Speedster7t在内部可编程逻辑架构层面也进行了大量优化,以匹配外围IP所带来的超高带宽需求。下面将重点介绍Block RAM的改进之处。

二、可编程逻辑架构:按列排布的资源列

Speedster7t FPGA内部的可编程资源按照列的形式排布,包括LUT、FF、ALU、MUX、MLP、Block RAM、Logic RAM,具体如图2所示。

图2 Speedster7t FPGA可编程逻辑结构

其中,MLP、Block RAM、Logic RAM集成在一起,它们之间的连接采用专有走线,不占用可编程逻辑走线资源。这样设计的主要目的是提升性能,同时节约可编程逻辑的走线资源。这一架构对于AI以及需要MLP参与的复杂算法性能优化效果十分显著(将在MLP系列文章中详细讲解)。本文重点分析Block RAM。

三、Block RAM核心特点

Speedster7t FPGA内部的Block RAM是一个容量为72k bit的简单双端口RAM,包含一个读端口和一个写端口。两个端口的时钟完全独立,并且可以完全独立地配置读写位宽。它能够灵活配置为简单双端口RAM或者ROM。

Block RAM的主要特性如表1所示。

表1 Block RAM的关键特性

Block RAM的内部结构框图如图3所示。

图3 Block RAM内部结构

小提示

在配置Block RAM时,可根据实际需求将读写位宽设定为不同值,例如写端口位宽32位,读端口位宽64位,从而实现数据格式的灵活转换。这一特性在处理不同位宽的数据流时非常实用。

四、Block RAM级联结构:性能提升的关键

Speedster7t FPGA的Block RAM最大特色在于增加了Block RAM间的级联走线。这些级联走线是BRAM之间专有的连线,不占用可编程逻辑走线资源,能够极大提升多个Block RAM级联时的性能。图4展示了Block RAM间级联走线的架构。

图4 Block RAM级联结构

从图4可以看出,读写地址线和数据线都配备了专有的级联线进行连接。这种架构在以下场景中尤为实用:

  • 从外部端口接收数据或从GDDR6读数据初始化大量Block RAM:例如AI神经网络中的卷积算法,需要从GDDR6读出图像数据和权重数据,并存入每个引擎的Block RAM中。利用级联线,无需外部数据产生巨大扇出,直接通过同一列Block RAM的级联线即可轻松完成。
  • 多个Block RAM构成更大容量的RAM:当需要将多个Block RAM拼接成深度更大的RAM时,使用级联线可以显著提升系统性能。

实际性能对比

为了量化级联优势,我们以生成一个位宽64bit、深度16384的简单双端口RAM为例(需要16个Block RAM),分别使用专有级联线和内部可编程逻辑拼深度两种方法进行对比。

使用专有级联线的资源占用和性能:

使用可编程逻辑的资源占用和性能:

对比结果清晰可见:使用专有级联线不仅更节省资源,性能也大幅提升。具体实现可参考Achronix MLP_Conv2D参考设计。

常见问题(FAQ)

Q1:为什么Block RAM之间的级联走线能提升性能?
A1:级联走线是专有连线,不占用可编程逻辑的通用走线资源,因此避免了通用走线的延迟和拥塞问题。同时,地址和数据信号的路径固定且经过优化,使得多个BRAM之间的数据传输延迟更低、时序更容易收敛。

Q2:使用级联线时,最大能级联多少个Block RAM?
A2:Speedster7t FPGA中同一列的Block RAM可以通过级联线串联,具体数量受限于列长度以及总的BRAM数量。由于级联走线只连接同列BRAM,因此建议优先使用同一列的BRAM进行深度扩展。具体上限可参考Achronix的器件手册。

Q3:在什么场景下必须使用可编程逻辑拼深度而不能用级联线?
A3:若需要跨多列Block RAM拼接(例如在不同列之间连接),则无法直接使用同列级联线,此时只能通过可编程逻辑的走线资源进行连接。但总体而言,优先利用同列级联线能够获得最好的性能和资源效率。

五、总结与展望

Speedster7t FPGA通过引入Block RAM间的专有级联走线,从根本上解决了多个BRAM拼接时因可编程走线瓶颈导致的性能下降问题。这一设计在AI/ML等需要大量数据缓存和频繁初始化的应用中尤为关键。后续文章将继续深入介绍Speedster7t可编程逻辑的其他特性,并通过实例展示如何高效利用这些特性。

此外,Achronix还提供Speedcore嵌入式FPGA硅知识产权(IP)产品,帮助用户在应用规模扩大后开发带有eFPGA逻辑阵列的ASIC或SoC产品。这些产品由Achronix的ACE FPGA开发工具支持,可实现FPGA开发成果的重用——这是Achronix在率先引入2D NoC和MLP之外的又一创新层面。

参考文献

  1. Achronix官方网站 www.achronix.com
  2. Achronix Speedster7t IP组件用户指南
来源:https://m.elecfans.com/article/1857982.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。