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

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

3天内不再提示

在FPGA设计中如何充分利用NoC资源去支撑创新应用设计

FPGA设计论坛 来源:未知 2023-04-18 11:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

日益增长的数据加速需求对硬件平台提出了越来越高的要求,FPGA作为一种可编程可定制化的高性能硬件发挥着越来越重要的作用。近年来,高端FPGA芯片采用了越来越多的Hard IP去提升FPGA外围的数据传输带宽以及存储器带宽。但是在FPGA内部,可编程逻辑部分随着工艺提升而不断进步的同时,内外部数据交换性能的提升并没有那么明显,所以FPGA内部数据的交换越来越成为数据传输的瓶颈。

为了解决这一问题,Achronix 在其 基于台积电(TSMC)7nm FinFET工艺的Speedster7t FPGA器件中包含了革命性的创新型二维片上网络(2D NoC)。这种2D NoC如同在FPGA可编程逻辑结构之上运行的高速公路网络一样,为FPGA外部高速接口和内部可编程逻辑的数据传输提供了大约高达27Tbps的超高带宽。

作为Speedster7t FPGA器件中的重要创新之一,2D NoC为FPGA设计提供了几项重要优势,包括:

l 提高设计的性能,让FPGA内部的数据传输不再成为瓶颈。

l 节省FPGA可编程逻辑资源,简化逻辑设计,由NoC去替代传统的逻辑去做高速数据传输和数据总线管理。

l 增加了FPGA的布线资源,对于资源占用很高的设计有效地降低布局布线拥塞的风险。

l 实现真正的模块化设计,减小FPGA设计人员调试的工作量。

本文用了一个具体的FPGA设计 ,来体现上面提到的NoC在FPGA设计中的几项重要作用。这个设计的主要目的是展示FPGA内部的逻辑如何去访问片外的存储器。如图1所示,本设计包含8个读写模块,这8个读写模块需要访问8个GDDR6通道,这样就需要一个8x8的AXI interconnect模块,同时需要有跨时钟域的逻辑去将每个GDDR6用户接口时钟转换到逻辑主时钟。除了图1中的8个读写模块外,红色区域的逻辑都需要用FPGA的可编程逻辑去实现。

图1 传统FPGA实现架构

对于AXI interconnect模块,我们采用Github上开源的AXI4总线连接器来实现,这个AXI4总线连接器将4个AXI4总线主设备连接到8个AXI4总线从设备,源代码可以在参考文献2的链接中 。我们在这个代码的基础上进行扩展,增加到8个AXI4总线主设备连接到8个AXI4总线从设备,同时加上了跨时钟域逻辑。

为了进行对比,我们用另外一个设计,目的还是用这8个读写模块去访问8个GDDR6通道;不同的是,这次我们将8个读写模块连接到Achronix的Speedster7t FPGA器件的2D NoC上,然后通过2D NoC去访问8个GDDR6通道。如图2所示:

图2 Speedster7t 1500的实现架构

首先,我们从资源和性能上做一个对比,如图3所示:

图3 资源占用和性能对比

从资源占用上看,用AXI总线连接器的设计会比用2D NoC的设计占用多出很多的资源,以实现AXI interconnect还有跨时钟域的逻辑。这里还要说明一点,这个开源的AXI interconnect实现的是一种 简单的总线连接器,并不支持2D NoC所能提供的所有功能,比如地址表映射,优先级配置。

重要的一点是AXI interconnect只支持阻塞访问(blocking),不支持非阻塞访问(non-blocking)。阻塞访问是指发起读或者写请求以后,要等到本次读或者写操作完成以后,才能发起下 的读或者写请求。而非阻塞访问是指可以连续发起读或者写请求,而不用等待上次的读或者写操作完成。在提高GDDR6的访问效率上面,阻塞访问会让读写效率大大下降。

如果用FPGA的可编程逻辑去实现完整的2D NoC功能,包括64个接入点、128bit位宽和400MHz的速率,大概需要850 k LE,等效于占用了Speedster7t 1500 FPGA器件56%的可编程资源。而2D NoC则可以提供 80个接入点、256bit位宽和2GHz速率,而且不占用FPGA可编程逻辑。

从性能上来看,使用AXI总线连接器的设计只能跑到157MHz,而使用NoC的设计则能跑到500MHz。如果我们看一下设计后端的布局布线图,就会有更深刻的认识。图4所示的是使用AXI总线连接器的设计后端布局布线图。

从图中可以看到,因为GDDR6控制器分布在器件的两侧(图中彩色高亮的部分),所以AXI总线连接器的布局基本分布在器件的中间,既不能靠近左边,也不能靠近右边,所以这样就导致了性能上不去。如果增加pipeline的寄存器可以提高系统的性能,但是这样会占用大量的寄存器资源,同时会给GDDR的访问带来很大的延时。

如果再看一下图5中使用了2D NoC的布局布线图,就会有很明显的对比。首先,因为用2D NoC实现了AXI总线连接器和跨时钟域的模块,这就节省了大量的资源;另外,因为2D NoC遍布在整个器件上,一共有80个接入点,所以8个读写模块可以由工具放置在器件的任何地方,而不影响设计的性能。

从本设计的整个流程来看,使用2D NoC会极大的简化设计,提高性能,同时节省大量的资源;FPGA设计工程师可以花更多的精力在 模块或者算法模块设计上面,把总线传输、外部接口访问仲裁和接口异步时钟域的转换等工作全部交给2D NoC吧。




精彩推荐



至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!3月28号北京中心开课、欢迎咨询!
FPGA如何让工业4.0大放异彩
保护FPGA设计不受常见的入侵威胁
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看






原文标题:在FPGA设计中如何充分利用NoC资源去支撑创新应用设计

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1665

    文章

    22581

    浏览量

    641030

原文标题:在FPGA设计中如何充分利用NoC资源去支撑创新应用设计

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    修改QDMA仿真例子使数据通路指向NOC1

    QDMA 设计,功能与队列通过 FMAP 进行映射。驱动程序需配置 SW context 和 Host Profile,以定义队列行为(如流量分配、内存属性等)。默认仿真设计,所有流量经由
    的头像 发表于 05-13 10:19 5135次阅读
    修改QDMA仿真例子使数据通路指向<b class='flag-5'>NOC</b>1

    为什么要进行交叉编译

    编译,我们可以利用资源充足的开发平台进行编译,生成目标平台上的可执行代码。 2.提高编译效率:资源充足的开发平台上进行交叉编译,可以充分利用
    发表于 05-13 10:01

    谐振电路实际的应用

    称之为谐振。谐振状态下,电路的总阻抗达到极值或近似达到极值。研究谐振的目的就是要认识这种客观现象,并在科学和应用技术上充分利用谐振的特征,同时又要预防它所产生的危害。按电路连接的不同,有串联谐振和并联谐振两种。
    的头像 发表于 05-07 09:45 805次阅读
    谐振电路<b class='flag-5'>在</b>实际<b class='flag-5'>中</b>的应用

    一文说透了如何实现单片机的多任务并发!

    多任务并发。 一、任务调度 任务调度是多任务并发中一个非常重要的概念。它指的是如何在系统组织和规划多个任务的顺序和时间。任务调度的目的是使多个任务实际执行,按照一定的顺序和时序,充分利用
    发表于 01-06 06:46

    螺杆支撑自动化设备应用的关键场景

    螺杆支撑座是传动系统的核心部件,工业自动化设备是常用的传动元件,起到支撑和固定作用。
    的头像 发表于 12-08 17:50 389次阅读
    螺杆<b class='flag-5'>支撑</b>座<b class='flag-5'>在</b>自动化设备<b class='flag-5'>中</b>应用的关键场景

    NoC性能监控器调试指南

    本篇博客展示了如何访问 NPI 为 NoC(片上网络)公开的 Performance Monitor(性能监控器)寄存器,这些寄存器用于监控 NoC 的性能。
    的头像 发表于 12-01 14:38 1997次阅读
    <b class='flag-5'>NoC</b>性能监控器调试指南

    中科亿海微SoM模组——智能温控变色控制板

    智能温控变色控制板是基于中科亿海微自主研发的FPGA+传感器+开关硬件+上位机通信+加热片等模块,以及配套软件算法共同构成的解决方案。控制板的设计充分利用FPGA的灵活性和可扩展性,实现了对多路
    的头像 发表于 11-23 21:17 520次阅读
    中科亿海微SoM模组——智能温控变色控制板

    芯昇科技获“2025无线电频谱资源开发利用与技术创新大赛”优胜奖

    近日,国家无线电监测中心、工业和信息化部新闻宣传中心等联合主办的“2025无线电频谱资源开发利用与技术创新大赛”,芯昇科技有限公司“基于
    的头像 发表于 11-13 18:16 1570次阅读
    芯昇科技获“2025无线电频谱<b class='flag-5'>资源</b>开发<b class='flag-5'>利用</b>与技术<b class='flag-5'>创新</b>大赛”优胜奖

    如何利用Verilog HDLFPGA上实现SRAM的读写测试

    本篇将详细介绍如何利用Verilog HDLFPGA上实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。FPGA
    的头像 发表于 10-22 17:21 4658次阅读
    如何<b class='flag-5'>利用</b>Verilog HDL<b class='flag-5'>在</b><b class='flag-5'>FPGA</b>上实现SRAM的读写测试

    充分利用小型化布线系统,实现空间受限型设计

    作者:Kenton Williston 投稿人:DigiKey 北美编辑 随着电子系统体积的不断缩小和功能越来越密集,设计人员面临着确保可靠互连的挑战。这一点工业、医疗、军事以及航空航天领域尤为
    的头像 发表于 10-04 18:20 1815次阅读
    <b class='flag-5'>充分利用</b>小型化布线系统,实现空间受限型设计

    如何在资源受限型应用中使用 FPGA

    的性能需求,同时严格的功耗、尺寸和成本限制内运行。现代现场可编程门阵列 (FPGA) 可以满足这些相互竞争的需求。 本文回顾了为资源受限型应用选择 FPGA 时需要考虑的关键设计标准
    的头像 发表于 10-03 17:31 2308次阅读
    如何在<b class='flag-5'>资源</b>受限型应用中使用 <b class='flag-5'>FPGA</b>

    罗克韦尔Rockii Master智能运维解决方案地铁行业的应用

    近年来,以“云、大、智、物、移”为代表的新一代信息技术,推动着城市轨道交通行业完成从“高速”向“高质量”发展的蜕变。在这其中,充分利用底层 OT 设备的海量数据,并打通其与 IT 系统间的信息孤岛,是打造更智能高效的城市轨道系统的基石所在。
    的头像 发表于 08-22 16:41 1021次阅读

    丝杆支撑自动化生产线的关键支撑

    自动化生产线,丝杆支撑座作为丝杆系统的重要支撑元件,直接影响传动精度与设备寿命。
    的头像 发表于 08-19 17:47 873次阅读
    丝杆<b class='flag-5'>支撑</b>座<b class='flag-5'>在</b>自动化生产线<b class='flag-5'>中</b>的关键<b class='flag-5'>支撑</b>

    利用MCU/SoC的工作范围实现低功耗

    想进一步降低功耗!但又不想牺牲产品性能……特瑞仕针对此问题的解决方案是“充分利用MCU/SoC的工作范围进行功耗优化”。
    的头像 发表于 08-04 11:22 1345次阅读
    <b class='flag-5'>利用</b>MCU/SoC的工作范围实现低功耗

    丝杆支撑医疗设备的关键支撑

    丝杆支撑座作为重要部件,保障设备精确运行方面起着关键作用。
    的头像 发表于 07-23 18:11 493次阅读
    丝杆<b class='flag-5'>支撑</b>座<b class='flag-5'>在</b>医疗设备<b class='flag-5'>中</b>的关键<b class='flag-5'>支撑</b>