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

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

3天内不再提示

超高数据流通量FPGA新品类中的Block RAM级联架构

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-07-13 17:24 次阅读

概述

随着数据中心人工智能自动驾驶5G、计算存储和先进测试等应用的数据量和数据流量不断增大,不仅需要引入高性能、高密度FPGA来发挥其并行计算和可编程硬件加速功能,而且还对大量数据在FPGA芯片内外流动提出了更高的要求。于是,在FPGA芯片中集成包括片上二维网络(2D NoC)和各种最新高速接口的新品类FPGA芯片应运而生,成为FPGA产业和相关应用的新热点。

拉开这场FPGA芯片创新大幕的是全球最大的独立FPGA技术和产品提供商Achronix半导体公司,其采用7nm工艺打造的Achronix Speedster7t FPGA不仅拥有诸多高性能外围Hard IP,而且是全球首次在FPGA的逻辑阵列上集成了2D NoC,一经推出就在市场得到了积极的响应,并引来竞争对手的模仿和跟随。

Speedster7t这款专门针对人工智能/机器学习AI / ML)和高带宽应用进行优化的高性能、高密度FPGA,包括了革命性的二维片上网络(2D NoC)、新型机器学习处理器(MLP)、400G以太网和PCIe Gen5端口,以及高带宽GDDR6和DDR4/5存储控制器。Speedster7t FPGA架构如图1所示。

1657089879405201.png

图1 Speedster7t FPGA结构图

Achronix Speedster7t FPGA除了在外围Hard IP上都采用目前业内领先的大带宽高速率IP,在内部的可编程逻辑的架构中也做了大量的优化去进一步提高内部可编程逻辑的性能,从而适配外围IP超高带宽需求。本文首先谈谈Speedster7t FPGA的片上SRAM,也就是Block RAM针对传统的结构所做出的一些优化。

Speedster7t FPGA中可编程逻辑的架构

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

1657089875958025.png

图2 Speedster7t FPGA可编程逻辑结构

其中MLP、Block RAM、Logic RAM是集成在一起,他们之间的连接用的是专有的走线,不占用可编程逻辑走线资源,这样做的目的主要是为了提高性能,同时也可以节省可编程逻辑走线资源,这个架构对于AI,还有需要用到MLP的一些复杂算法的性能优化是非常明显的,在我们的MLP系列文章中会详细讲到,这里我们只重点说一下Block RAM。

Speedster7t FPGA的Block RAM特点

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

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

表1 Block RAM的关键特性

1657089871438834.png

Block RAM框图如图3所示。

1657089865325548.png

图3 Block RAM内部结构

Speedster7t FPGA的Block RAM级联结构

Speedster7t FPGA的Block RAM最大的特点是增加了Block RAM间的级联走线,级联走线是BRAM间专有的连线,不占用可编程逻辑的走线资源,可以极大的提升多个Block RAM级联的性能。图4显示了Block RAM间级联走线的架构。

1657089856243927.png

图4 Block RAM级联结构

由图4可以看出,读写地址线和数据线都有专有的级联线连接。这样的架构在一些场景中都会有应用,比如:需要从外部端口接收数据或者从GDDR6读数据去初始化大量Block RAM的场景,AI的神经网络就是一个典型的应用,在每一层的卷积算法中,系统都会从GDDR6读出图像数据和权重数据放入每个引擎的Block RAM中,引擎计算完毕以后再存入到GDDR6中供下一次运算使用。

有了这样的级联架构,我们在写入数据去初始化大量Block RAM的时候不需要外部数据有很大的扇出,直接通过同一列Block RAM的级联线就可以轻松完成,具体实现可以参考Achronix MLP_Conv2D参考设计。另外一个例子就是在需要多个Block RAM去构成更大容量的RAM的时候,如果利用级联线可以大大提升系统的性能。我们针对这个专门做了一个工程比较一下,生成一个位宽64bit,深度16384的一个简单双端口RAM,需要用到16个Block RAM。我们分别用专有级联线和内部可编程逻辑去拼深度两种方法来对比。可以看到用专有的级联线资源更省,而且性能有了很大的提高。

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

1657089847479587.jpg

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

1657089840385167.jpg

后面我们会继续深入了解Speedster7t FPGA可编程逻辑的各种特性,并且会用一些例子来说明如何更高效的利用这些特性,以将Speedster7t这款业界首创的高数据带宽FPGA芯片与更多的创新智能化应用结合起来。

此外,Achronix也提供Speedcore嵌入式FPGA硅知识产权(IP)产品,用来帮助用户在应用规模进一步扩大后,去开发带有eFPGA逻辑阵列的ASIC或者SoC产品,它们由Achronix的ACE FPGA开发工具提供支持,从而可以重用FPGA开发成果,这是Achronix在率先引入2D NoC和MLP之外,另一个层面上的创新。

责任编辑:彭菁

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

    关注

    1629

    文章

    21735

    浏览量

    603197
  • 嵌入式
    +关注

    关注

    5082

    文章

    19118

    浏览量

    305021
  • 数据
    +关注

    关注

    8

    文章

    7015

    浏览量

    89001
收藏 人收藏

    评论

    相关推荐

    FPGABlock RAM级联架构给AI/ML带来超高数据流通量

    随着数据中心、人工智能、自动驾驶、5G、计算存储和先进测试等应用的数据量和数据流量不断增大,不仅需要引入高性能、高密度FPGA来发挥其并行计算和可编程硬件加速功能,而且还对大量
    发表于 07-06 15:48 1019次阅读
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>Block</b> <b class='flag-5'>RAM</b><b class='flag-5'>级联</b><b class='flag-5'>架构</b>给AI/ML带来<b class='flag-5'>超高</b><b class='flag-5'>数据流通量</b>

    FPGARAM的分布和特性

    在选择FPGA时,关注LUT(Look-Up Table)和BRAM(Block RAM)是非常重要的,因为它们是FPGA架构
    的头像 发表于 11-21 15:03 2435次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>块<b class='flag-5'>RAM</b>的分布和特性

    ​Achronix定制单元块大幅提升Speedcore eFPGA性能

    【导读】为了满足人工智能、机器学习、无人驾驶、ADAS等应用提出的越来越高的特殊计算需求,Achronix宣布为其eFPGA IP解决方案推出Speedcore定制单元块,这是一种可以将功耗和面积降至最低、同时将数据流通量最大化的解决方案。
    发表于 10-19 11:28 1090次阅读

    请问9K Block RAM设计那些2 9K Block RAM在哪里?

    嗨,我想为我的设计使用比特流加密,我遇到了一个关于9K Block RAM的问题,在答案记录39999描述了r然后我决定在我的设计删除所有9k
    发表于 06-06 07:23

    RAM数据流不起作用

    的6个原型运行良好。当我连接到FPGA上的参考电压IO时,其中2个变为不同的电阻值,因此RAM数据流不起作用。我手动手动测试参考电压引脚以排除出售的问题。在我的工作板上,我在参考电压
    发表于 06-20 15:21

    FPGA 内部详细架构 精选资料分享

    互连线资源(Interconnect)4.嵌入式块 RAM(BRAM)(Block RAM)5.底层内嵌功能单元6.内嵌专用硬核7.致谢FPGA 芯片整体
    发表于 07-30 08:10

    基于FPGA芯片的数据流结构分析

    Virtex 型FPGA 芯片是Xilinx 公司芯片系列的一种,Virtex 系列的数据流及配置逻辑与XC4000 的数据流及配置逻辑有显著不同,但却与Xilinx 的
    发表于 11-18 11:37 2335次阅读

    如何用FPGABlock RAM性能实现HDTV视频增强算法灰度直方图统计

    本文介绍了如何在FPGA 利用Block RAM 的特殊结构实现HDTV视频增强算法灰度直方图统计。
    的头像 发表于 07-10 08:10 2876次阅读

    如何使用Block RAM及利用其功能和性能优势

    了解新的Block RAM级联功能,如何使用它,以及如何利用其功能和性能优势。
    的头像 发表于 11-23 06:56 4904次阅读

    xilinx 7系列FPGA里面的Block RAM

    些大材小用,因此xilinx公司在其FPGA内部专门集成了很多存储器模块,称作Block RAM,其犹如slice海洋当中的一颗颗明珠,专门实现数据暂存功能,且每个时钟区域都布置了若干
    的头像 发表于 11-23 14:08 8096次阅读
    xilinx 7系列<b class='flag-5'>FPGA</b>里面的<b class='flag-5'>Block</b> <b class='flag-5'>RAM</b>

    FPGARAM存储资源详细资料说明

    本文档的主要内容详细介绍的是FPGARAM存储资源详细资料说明包括了:1、 FPGA存储资源简介,2、 不同厂家的 Block RAM
    发表于 12-09 15:31 10次下载
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>RAM</b>存储资源详细资料说明

    FPGAblock ram的特殊用法列举

    FPGAblock ram是很常见的硬核资源,合理的利用这些硬件资源一定程度上可以优化整个设计,节约资源利用率,充分开发FPGA芯片中的
    的头像 发表于 12-24 14:28 1276次阅读

    使用FPGA调用RAM资源的详细说明

    RAM),其中BRAM是block ram,是存在FPGA的大容量的RAM,DRAM是
    发表于 12-30 16:27 9次下载

    FPGA在一个时钟周期可以读取多个RAM数据吗?

    设计都涉及到对RAM的读写操作。在FPGA芯片中,RAM也叫做存储块(Block RAM),可以存储大量的
    的头像 发表于 10-18 15:28 1258次阅读

    可信数据流通网络(TDN)白皮书

    二是明晰 TDN 的可信数据流通关键技术范畴。从保障数据隐私安全、流通过程可控可信、跨节点跨平台跨技术互联互通等角度归纳、分析实现数据可信流通
    的头像 发表于 11-06 16:50 1477次阅读
    可信<b class='flag-5'>数据流通</b>网络(TDN)白皮书