历史上的今天
返回首页

历史上的今天

今天是:2025年08月21日(星期四)

正在发生

2020年08月21日 | 如何利用NoC资源去支撑FPGA中的创新设计

2020-08-21 来源:EEWORLD

日益增长的数据加速需求对硬件平台提出了越来越高的要求,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?imageView2/2/w/550

 图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?imageView2/2/w/550

 

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

 

image.png?imageView2/2/w/550

 

从资源占用上看,用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?imageView2/2/w/550

 

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

 

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

 

image.png?imageView2/2/w/550

 

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

推荐阅读

史海拾趣

珠海艾派克(APEXMIC)公司的发展小趣事

为了进一步提升研发实力,艾派克先后在珠海、上海、杭州和美国北卡罗来纳州建立了四大研发中心,并与浙江大学、中科院上海微系统所等国内外知名机构建立联合实验室。这些举措不仅加强了公司在技术研发方面的国际合作,也推动了艾派克在行业技术前沿的领先地位。

Elma Electronic Inc公司的发展小趣事

Elma在美国和美洲拥有广泛的客户群,覆盖电信、工业控制、医疗电子、国防和航空航天等多个行业。其产品线包括外壳、背板、系统平台、机柜、高品质开关和编码器等多种零件,能够满足不同行业客户的多样化需求。这种跨行业的布局使得Elma能够在多个领域保持竞争力。

冠图电子(GTL-POWER)公司的发展小趣事

Elma对产品质量的追求是显而易见的。通过对所有员工的培训以及遵循认证的ISO标准的系统程序,Elma达到了行业领先的质量水平。这种对质量的承诺不仅体现在产品制造过程中,更贯穿于整个公司的运营和管理中。

Arima Lasers Corp公司的发展小趣事

在激烈的市场竞争中,Arima Lasers Corp始终保持着创新的步伐。公司不断投入研发资源,探索激光技术在各个领域的应用潜力。其中,一项关于激光通信技术的创新项目引起了业界的广泛关注。这项技术利用激光束进行高速数据传输,具有传输速率快、安全性高等优点。随着该技术的商业化应用,Arima Lasers Corp在通信领域取得了重大突破,引领了市场变革的潮流。

Gaomi Xinghe Electronics公司的发展小趣事

背景:随着中国经济的快速发展和消费者对电子产品需求的不断增加,Galaxy公司敏锐地捕捉到这一市场机遇。

行动:在2003年初,Galaxy以缜密的市场调研为基础,全力部署进入大陆市场。同年6月,公司推出了以“影驰”命名的Geforce家族系列产品,迅速吸引了众多游戏发烧友和电子产品爱好者的关注。随后,公司又在多个城市设立了销售和服务网点,为消费者提供更加便捷的产品体验和服务。

成果:经过多年的深耕细作,Galaxy在大陆市场取得了显著成绩,品牌影响力不断增强,市场份额稳步提升。

Ambersil公司的发展小趣事

随着环保意识的日益增强,Ambersil公司开始关注产品的环保性能。公司研发团队致力于开发环保型的电子清洁剂,减少产品对环境的污染。同时,公司还加强了对生产过程的环保管理,确保生产过程中的废弃物得到有效处理。这些举措使得Ambersil公司的产品在市场上更加受到消费者的青睐。

问答坊 | AI 解惑

10月全国开通手机电视

文章作者:gaosi  文章来源 移动3G网 www.Goes3G.com/(原文链接地址:http://www.goes3g.com/200510/01080627.html)记者昨天从有关渠道获悉,中国移动将在全网范围开通手机电视业务。但据移动内部人士透露,该业务的具体开通日期是在10 ...…

查看全部问答>

诚邀2008波兰国际通讯信息技术和电子博览会

2008波兰国际通讯信息技术和电子博览会 (INFOSYSTEM 2008) 【展会名称】2008波兰国际通讯信息技术和电子博览会 【展会时间】2008年6月9日至11日 【展会地点】波兰波兹南国际展览中心 【展出内容】 1. 电脑周边及软件: 2. 通信网络产品: ...…

查看全部问答>

51AVR单片机学习板

51AVR单片机学习板EE21可以做以下实验: 1、LED流水灯实验 2、LED渐亮渐灭实验 3、8位数码管静态显示 4、8位数码管动态显示 5、独位按键实验 6、矩阵键盘扫描实验 7、LCD1602字符显示 8 、LCD12864汉显 9、LCD12864显示图片 10 ...…

查看全部问答>

要看懂硬件原理图需要哪些知识?

小弟是做嵌入式方向的,由于不是计算机专业,数电模电基础没有。 所以硬件原理图看不懂,这会影响到职业发展,所请问这方面有经验的大侠, 要看懂硬件原理图,进而指导嵌入式方案选型、系统设计和驱动开发,需要哪些方面的知识,有没有哪些书推荐 ...…

查看全部问答>

EVC问题

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt EVC下选择TE2440.SDK和Win32[WCE ARMV4I]Debug出现上面的问题是怎么回事,刚学EVC .EVC跟S3C2440开发板怎么连不起来,要如何做?请高手指点…

查看全部问答>

EVC程序下载到CE上的问题

我自己配置了个OS  在导出了我自己的SDK 然后把我在EVC上写的程序下载进去怎么运行不了啊 说我缺少什么库  怎么回事啊  是不是我在配置的时候哦据没把MFC的支持选择上啊 ? …

查看全部问答>

请问evc中如何快速获取一个大文件的总行数?

文件比较大,怎样才能快速获取它的总行数,总不能一行一行的加吧。请各位高手指教!…

查看全部问答>

奔腾CPU体系结构

我要写一篇关于奔腾CPU组织体系结构的论文,包括: 1、对虚拟存储器管理的支持,对分页分段的发展; 2、保护机制; 3、Cache组织; 4、超标量部件及其工作原理。 请帮忙给一些资料,网址或文件,vido219@163.com 万分感谢!!!!!!!!…

查看全部问答>

M0的一个小问题

1   LPC_SYSCON -> SYSAHBCLKCTRL |=  (1 PIO0_1         =  0x00 ;       /* 配置为管脚GPIO功能       */   3LPC_GPIO0  ...…

查看全部问答>

LM3S811DDLLXXRR笔记之九:IIC实现

LM3S811用IIC的API十分方便,但一定注意顺序搞不好是搞不定的   对于IIC的读写一定要注意:   主机往IIC从模块里写或从IIC模块读出时一定要调下设地址函数,   I2CMasterSlaveAddveset()   另外,尽量用中断,若不用中 ...…

查看全部问答>