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

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

3天内不再提示

Speedster7t FPGA中可编程逻辑的架构

Achronix 来源:Achronix 作者:Achronix 2022-07-05 15:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概述

随着数据中心人工智能自动驾驶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所示。

0e8f62bc-fc35-11ec-ba43-dac502259ad0.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所示。

0ecf9238-fc35-11ec-ba43-dac502259ad0.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的关键特性

0f142a56-fc35-11ec-ba43-dac502259ad0.png

Block RAM框图如图3所示。

0f340204-fc35-11ec-ba43-dac502259ad0.png

图3 Block RAM内部结构

Speedster7t FPGA的Block RAM级联结构

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

0f5735da-fc35-11ec-ba43-dac502259ad0.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。我们分别用专有级联线和内部可编程逻辑去拼深度两种方法来对比。可以看到用专有的级联线资源更省,而且性能有了很大的提高。

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

0f7a5dda-fc35-11ec-ba43-dac502259ad0.png

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

0f9b4658-fc35-11ec-ba43-dac502259ad0.png

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

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

审核编辑 :李倩

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

    关注

    1664

    文章

    22537

    浏览量

    640181
  • 芯片
    +关注

    关注

    463

    文章

    54562

    浏览量

    470361
  • 机器学习
    +关注

    关注

    67

    文章

    8569

    浏览量

    137355

原文标题:超高数据流通量FPGA新品类中的Block RAM级联架构

文章出处:【微信号:Achronix,微信公众号:Achronix】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PSoC 4200L:可编程系统芯片的卓越之选

    ® Cortex® - M0 CPU 的可编程嵌入式系统控制器家族。PSoC 4200L 产品家族基于此平台,将微控制器与数字可编程逻辑可编程模拟、可
    的头像 发表于 04-21 16:30 163次阅读

    探索UPSD3212A/C/CV:集成8032 MCU、USB与可编程逻辑的闪存可编程系统设备

    : UPSD3212C-40T6.pdf 产品概述 UPSD321xx系列将基于8051的快速微控制器与灵活的内存结构、可编程逻辑以及丰富的外设(包
    的头像 发表于 04-17 15:55 290次阅读

    SDRAM工业动态随机存储器在可编程逻辑控制器(PLC)的应用

    在工业自动化控制系统可编程逻辑控制器(PLC)承担着数据采集、逻辑运算与执行控制的核心任务。随着生产现场对实时性和稳定性的要求不断提高,PLC对内部存储器的性能也提出了更严苛的需求
    的头像 发表于 04-07 14:10 207次阅读

    基于东芝产品的可编程逻辑控制器解决方案

    在工业自动化浪潮可编程逻辑控制器(PLC)如同设备的“大脑”,重要性不言而喻。
    的头像 发表于 01-24 14:05 2737次阅读
    基于东芝产品的<b class='flag-5'>可编程</b><b class='flag-5'>逻辑</b>控制器解决方案

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    的基础概念和实践方法。一、FPGA与MCU/MPU的区别MCU/MPU:顺序执行程序,CPU负责所有逻辑FPGA可编程逻辑阵列,逻辑电路可
    的头像 发表于 01-19 09:05 800次阅读
    <b class='flag-5'>FPGA</b> 入门必看:Verilog 与 VHDL <b class='flag-5'>编程</b>基础解析!

    基于六边形波导网格架构实现可编程光子技术

    硅基光电子技术的发展催生了可编程光电子集成芯片的诞生,这类芯片可以通过软件重新配置来实现多种应用功能,而无需重新流片制造。比利时根特大学和IMEC的研究人员展示了一种六边形波导网格架构,在环形谐振器
    的头像 发表于 01-14 17:02 940次阅读
    基于六边形波导网格<b class='flag-5'>架构</b>实现<b class='flag-5'>可编程</b>光子技术

    Zynq全可编程片上系统详解

    Zynq 是由赛灵思(Xilinx,现为 AMD 的一部分)推出的一系列全可编程片上系统。它的革命性创新在于,它不是传统的 FPGA,也不是传统的处理器,而是将高性能的 ARM Cortex-A 系列处理器与传统的 FPGA
    的头像 发表于 01-13 11:41 2350次阅读
    Zynq全<b class='flag-5'>可编程</b>片上系统详解

    ‌TPLD801 可编程逻辑器件技术文档摘要

    该TPLD801是 TI 可编程逻辑器件 (TPLD) 系列器件的一部分,该器件具有具有组合逻辑、顺序逻辑和模拟模块的多功能可编程逻辑 IC
    的头像 发表于 09-28 14:36 1398次阅读
    ‌TPLD801 <b class='flag-5'>可编程逻辑</b>器件技术文档摘要

    ‌TPLD2001-Q1 汽车级可编程逻辑器件技术文档摘要

    TPLD2001-Q1 是 TI 可编程逻辑器件 (TPLD) 系列器件的一部分,该器件具有具有组合逻辑、顺序逻辑和模拟模块的多功能可编程逻辑
    的头像 发表于 09-28 10:42 1033次阅读
    ‌TPLD2001-Q1 汽车级<b class='flag-5'>可编程逻辑</b>器件技术文档摘要

    ‌TPLD2001可编程逻辑器件技术文档摘要

    该TPLD2001是 TI 可编程逻辑器件 (TPLD) 系列器件的一部分,该器件具有具有组合逻辑、顺序逻辑和模拟模块的多功能可编程逻辑 I
    的头像 发表于 09-28 10:36 1004次阅读
    ‌TPLD2001<b class='flag-5'>可编程逻辑</b>器件技术文档摘要

    ‌TPLD1201-Q1 可编程逻辑器件技术文档摘要

    TPLD1201-Q1 是 TI 可编程逻辑器件 (TPLD) 系列器件的一部分,该器件具有具有组合逻辑、顺序逻辑和模拟模块的多功能可编程逻辑
    的头像 发表于 09-28 10:06 889次阅读
    ‌TPLD1201-Q1 <b class='flag-5'>可编程逻辑</b>器件技术文档摘要

    ‌TPLD801-Q1 可编程逻辑器件技术文档总结

    TPLD801-Q1 是 TI 可编程逻辑器件 (TPLD) 系列器件的一部分,该器件具有具有组合逻辑、顺序逻辑和模拟模块的多功能可编程逻辑
    的头像 发表于 09-28 10:03 884次阅读
    ‌TPLD801-Q1 <b class='flag-5'>可编程逻辑</b>器件技术文档总结

    Achronix亮相2025全球AI芯片峰会

    在近日举行的2025全球AI芯片峰会上,Achronix Speedster7t FPGA的大模型推理平台展示获得众多业界人士的积极反响。
    的头像 发表于 09-23 18:01 1556次阅读

    S7-200 可编程序控制器系统手册

    电子发烧友网站提供《S7-200 可编程序控制器系统手册.pdf》资料免费下载
    发表于 09-02 16:24 5次下载

    5CEBA4F23C8NQS现场可编程门阵列(FPGA)芯片

    5CEBA4F23C8NQS现场可编程门阵列(FPGA)芯片5CEBA4F23C8NQS是Intel-ALTERA(原 Altera)研发的Cyclone V系列性能卓越、低能耗的现场可编程门阵列
    发表于 06-11 09:01