分享好友 厨具导购网站首页 频道列表
在fpga设计中如何充分利用noc资源去支撑创新应用设计
2024-05-18 02:37    2883    中华厨具网

日益增长的数据加速需求对硬件平台提出了越来越高的要求,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的可编程逻辑去实现。

图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总线连接器的设计后端布局布线图。

图4 使用axi interconnect的设计后端布局布线图

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

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

图5 使用2d noc设计的后端布局布线图

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

如需了解更多speedster7t fpga器件产品细节,请发送邮件到@,或访问achronix公司官方网站:以订阅新闻和获取产品资料。

参考文献:

使用带有片上高速网络的fpga的八大好处

作者:黄仑,achronix资深现场应用工程师

以上是网络信息转载,信息真实性自行斟酌。

版权/免责声明:
一、本文图片及内容来自网络,不代表本站的观点和立场,如涉及各类版权问题请联系及时删除。
二、凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性。
三、转载本站原创文章请注明来源:中华厨具网

免责声明:

本站所有页面所展现的企业/商品/服务内容、商标、费用、流程、详情等信息内容均由免费注册用户自行发布或由企业经营者自行提供,可能存在所发布的信息并未获得企业所有人授权、或信息不准确、不完整的情况;本网站仅为免费注册用户提供信息发布渠道,虽严格审核把关,但无法完全排除差错或疏漏,因此,本网站不对其发布信息的真实性、准确性和合法性负责。 本网站郑重声明:对网站展现内容(信息的真实性、准确性、合法性)不承担任何法律责任。

温馨提醒:中华厨具网提醒您部分企业可能不开放加盟/投资开店,请您在加盟/投资前直接与该企业核实、确认,并以企业最终确认的为准。对于您从本网站或本网站的任何有关服务所获得的资讯、内容或广告,以及您接受或信赖任何信息所产生之风险,本网站不承担任何责任,您应自行审核风险并谨防受骗。

中华厨具网对任何使用或提供本网站信息的商业活动及其风险不承担任何责任。

中华厨具网存在海量企业及店铺入驻,本网站虽严格审核把关,但无法完全排除差错或疏漏。如您发现页面有任何违法/侵权、错误信息或任何其他问题,请立即向中华厨具网举报并提供有效线索,我们将根据提供举报证据的材料及时处理或移除侵权或违法信息。