如何利用NoC资源去支撑FPGA中的创新设计

2020-08-21来源: EEWORLD关键字:NoC  FPGA

日益增长的数据加速需求对硬件平台提出了越来越高的要求,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设计提供了几项重要优势,包括:

 

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

 

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

 

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

 

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

 

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

                                               image.png

 图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所示:

 

image.png

 

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

 

image.png

 

从资源占用上看,用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总线连接器的设计后端布局布线图。

 

image.png

 

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

 

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

 

image.png

 

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

关键字:NoC  FPGA 编辑:muyan 引用地址:http://news.eeworld.com.cn/FPGA/ic507129.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:莱迪思FPGA让安霸CVflow架构释放更强性能
下一篇:莱迪思CrossLink-NX系列FPGA以渗透进嵌入式视觉系统中

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

片上网络技术的发展及其给高端FPGA带来的优势
网络技术(Network-on-Chip,NoC)在这个时候也得到了极大的应用,它本质上就是提供一种解决芯片内不同IP或者不同核心之间数据传输的片上通信方案。 片上网络技术从发明至今已有20多年的历史,在SoC中已经有了广泛的应用。针对片上网络高带宽、低延迟的特性,主流FPGA公司也开始考虑将NoC用于高端FPGA中来解决数据传输的高带宽需求。Achronix的新一代7nm工艺的Speedster 7t便是最早集成了NoC的高端FPGA之一。如图1所示。  图1  Speedster 7t FPGA结构图 2. 片上互连架构的发展 片上互联架构的发展主要经历了三个阶段:共享总线
发表于 2020-04-30
片上网络技术的发展及其给高端FPGA带来的优势
技术文章—2D NoC可实现FPGA内部超高带宽逻辑互连
Achronix 最新基于台积电(TSMC)的7nm FinFET工艺的Speedster7t FPGA器件包含了革命性的新型二维片上网络(2D NoC)。2D NoC如同在FPGA可编程逻辑结构上运行的高速公路网络一样,为FPGA外部高速接口和内部可编程逻辑的数据传输提供了超高带宽(~27Tbps)。  图1  Speedster 7t FPGA结构图 NoC使用一系列高速的行和列网络通路在整个FPGA内部分发数据,从而在整个FPGA结构中以水平和垂直方式分发数据流量。NoC中的每一行或每一列都有两个256位的、单向的、行业标准的AXI通道
发表于 2020-02-27
技术文章—2D <font color='red'>NoC</font>可实现FPGA内部超高带宽逻辑互连
FPGA的CAGR随AI应用中的扩张大幅增长
于目前的FPGA,Speedster7t革新之处在于设计了针对ML的处理器(MLP),以及一个可横跨和垂直跨越FPGA逻辑阵列的高带宽的二维片上网络(NOC),二者结合既保留了FPGA的灵活性,又实现了ASIC的性能。 不占用FPGA布线的MLP单元这个片内的MLP是高度可配置的、计算密集型的单元模块,可支持4到24位的整点格式和高效的浮点模式,包括对TensorFlow的16位格式的支持,以及可使每个MLP的计算引擎加倍的增压块浮点格式的直接支持。该MLP可以通过运算和缓存级链实现更复杂的算法,而不需要使用FPGA布线资源。 “目前FPGA会使用DSP来进行ML的处理,但其对数值精度的支持并不高效,并且需要消耗额外
发表于 2019-05-25
FPGA的CAGR随AI应用中的扩张大幅增长
多核系统中NoC通讯架构的关键技术(二)
3  NoC的通讯协议   NoC是片上通信基础结构,借鉴网络中的分层思想,NoC设计采用普通的通信分层方法,定义5个协议层:物理层、数据链路层、网络层、传输层和系统层。图5是NoC一个典型的层次结构。      (1)物理层。物理层实现连接处理器资源与网络的链路宽度和链路方向,因此带宽负载能力、数据包大小及在两节点之间的传输延迟等物理信息都是检验物理层设计质量的评估标准。片上网络的物理层通讯采用握手协议完成,而握手协议可以分为同步协议与异步协议两种。图6为同步握手协议的示意图,图6(a)为物理通道信号。与计算机网络多采用串行通讯方式不同,由于片上连线资源丰富,NoC可以使用并行通讯方式。因此同步方式和异步方式
发表于 2013-10-15
多核系统中<font color='red'>NoC</font>通讯架构的关键技术(二)
一种基于FPGA的NoC验证平台的构建
  半导体工艺技术进入深亚微米时代后,基于总线系统芯片SoC(Svstem on Chip)的体系结构在物理设计、通信带宽以及功耗等方面无法满足未来多IP体系发展的需求。片上网络NoC(Netwotlk on Chip)是一种新的系统芯片体系结构,其核心思想是将计算机网络技术移植到系统芯片设计中来,从体系结构上彻底解决总线架构带来的问题。   研究人员从拓扑结构、路由算法、交换策略以及流控机制等多个方面对NoC进行研究,但是如何构建NoC验证平台,快速得到NoC的性能也一直是NoC研究的重点。   在过去的几年里,一些研究机构提出了对于NoC不同抽象层次的验证方法的研究,一般的NoC验证是基于软件的仿真和建模,如:用C、C
发表于 2010-05-10
一种基于FPGA的<font color='red'>NoC</font>验证平台的构建
莱迪思MachXO3LF™ FPGA让自动驾驶在严酷环境依然保持优秀性能
低功耗可编程器件的领先供应商莱迪思半导体公司宣布,推出MachXO3LF™ FPGA和MachXO3D™ FPGA的全新版本,分别用于灵活部署可靠的汽车控制应用和实现系统安全,两者均支持汽车和其他抗恶劣环境应用的拓展工作温度范围。MachXO3D FPGA拥有业界领先的安全特性,包括硬件可信根(RoT)、平台固件保护恢复(PFR)和安全的双引导支持,极大增强了莱迪思MachXO FPGA架构广受欢迎的系统控制功能。MachXO3D和MachXO3LF器件主要针对需要在严酷环境中稳定工作的控制、桥接和IO拓展应用,包括高级驾驶辅助系统(ADAS)、信息娱乐系统、马达控制、5G通信基础设施、工业机器人和自动化系统以及军事系统
发表于 2020-09-17
小广播
夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved