实现片上网络传输带宽扩充功能的FPGA装置转让专利
申请号 : CN202010622784.7
文献号 : CN111786894B
文献日 : 2021-08-10
发明人 : 徐彦峰 , 单悦尔 , 范继聪 , 张艳飞 , 闫华
申请人 : 无锡中微亿芯有限公司
摘要 :
权利要求 :
1.一种实现片上网络传输带宽扩充功能的FPGA装置,其特征在于,所述FPGA装置包括FPGA裸片,所述FPGA裸片内包括若干个逻辑资源模块,所述FPGA裸片内部还集成有预定功能模块,所述预定功能模块内建有N个硬核IP节点,相邻的硬核IP节点通过路由通道相连,所述预定功能模块中的输入输出信号连接到所述硬核IP节点;所述FPGA裸片内部还通过内部的逻辑资源模块配置形成M个软核IP节点;所述FPGA裸片内部的节点之间通过路由通道相连形成NOC网络结构,所述节点包括N个硬核节点和M个软核节点,每个所述节点分别包括功能IP、网络接口和路由器,所述功能IP通过所述网络接口连接所述路由器,每相邻两个节点中的路由器之间通过路由通道相连;所述预定功能模块通过内建的N个硬核IP节点与扩充形成的M个软核IP节点与外部信号进行互连通信。
2.根据权利要求1所述的FPGA装置,其特征在于,所述预定功能模块中部分输入输出信号连接到内建的硬核IP节点,则所述FPGA裸片内部配置形成的M个软核IP节点还与所述预定功能模块中未连接到硬核IP节点的输入输出信号相连。
3.根据权利要求1所述的FPGA装置,其特征在于,所述FPGA裸片内部除所述预定功能模块中的输入输出信号之外的其他的输入输出信号连接到所述M个软核IP节点与所述FPGA裸片外部结构互连通信。
4.根据权利要求1所述的FPGA装置,其特征在于,每个软核IP节点由所述FPGA裸片内部的单个逻辑资源模块配置形成,或者,由若干个逻辑资源模块共同配置形成。
5.根据权利要求1所述的FPGA装置,其特征在于,所述FPGA裸片内部用于配置形成软核IP节点的逻辑资源模块包括CLB、BRAM和DSP中的至少一种。
6.根据权利要求1所述的FPGA装置,其特征在于,所述FPGA裸片内部集成的所述预定功能模块为AI模块。
7.根据权利要求1‑6任一所述的FPGA装置,其特征在于,所述FPGA装置还包括基板以及层叠设置在所述基板上的硅连接层,所述FPGA裸片层叠设置在所述硅连接层上;所述硅连接层内布设有硅连接层NOC网络,所述硅连接层NOC网络包括若干个通过路由通道相连的硅连接层路由节点,每个所述硅连接层路由节点包括功能IP、网络接口和路由器,所述功能IP通过所述网络接口连接所述路由器;
则所述FPGA裸片内还包括硅堆叠连接模块和连接点引出端,所述硅堆叠连接模块内包括若干个硅堆叠连接点,所述FPGA裸片内的节点连接到相应的硅堆叠连接点,所述硅堆叠连接点通过重布线层内的顶层金属线连接相应的连接点引出端;
所述FPGA裸片中与内部的节点相连的连接点引出端与所述硅连接层路由节点中的路由器通过路由通道相连,使得所述FPGA裸片内部的节点与所述硅连接层路由节点相连形成NOC网络结构,所述预定功能模块通过内建的N个硬核IP节点、扩充形成的M个软核IP节点与所述硅连接层路由节点与外部信号进行互连通信。
8.根据权利要求7所述的FPGA装置,其特征在于,所述硅连接层内包括若干个包含不同功能IP的硅连接层路由节点。
9.根据权利要求7所述的FPGA装置,其特征在于,所述硅连接层路由节点中的功能IP为存储芯片,所述存储芯片包括HBM、DDR4和DDR5中的至少一种。
10.根据权利要求7所述的FPGA装置,其特征在于,所述硅连接层路由节点中的功能IP为FIFO、用于实现缓存功能。
说明书 :
实现片上网络传输带宽扩充功能的FPGA装置
技术领域
背景技术
人机大战,以4比1的总比分获胜,更是将人工智能推向前所未有的高度。人能智能取得快速
发展离不开大数据、高性能计算和机器学习算法效率的提升。在机器学习算法仍在不断迭
代优化的阶段,FPGA由于其可编程性和强大的矢量运算能力,在人工智能领域具备得天独
厚的优势,FPGA领域也在为提高人工智能效率优化FPGA架构、增加专用的人工智能引擎,所
以现在会有一些做法在FPGA裸片内部设计并集成专用的AI模块,但AI模块集成在FPGA裸片
内部之后受到较大的芯片结构限制,传输带宽和运算效率较为受限,很难达预期的工作效
果。
发明内容
部还集成有预定功能模块,预定功能模块内建有N个硬核IP节点,相邻的硬核IP节点通过路
由通道相连,预定功能模块中的输入输出信号连接到硬核IP节点;FPGA裸片内部还通过内
部的逻辑资源模块配置形成M个软核IP节点;FPGA裸片内部的节点之间通过路由通道相连
形成NOC网络结构,节点包括N个硬核节点和M个软核节点,每个节点分别包括功能IP、网络
接口和路由器,功能IP通过网络接口连接路由器,每相邻两个节点中的路由器之间通过路
由通道相连;预定功能模块通过内建的N个硬核IP节点与扩充形成的M个软核IP节点与外部
信号进行互连通信。
点的输入输出信号相连。
道相连的硅连接层路由节点,每个硅连接层路由节点包括功能IP、网络接口和路由器,功能
IP通过网络接口连接路由器;
布线层内的顶层金属线连接相应的连接点引出端;
预定功能模块通过内建的N个硬核IP节点、扩充形成的M个软核IP节点与硅连接层路由节点
与外部信号进行互连通信。
构,实现节点的增加,可以扩充预定功能模块的传输带宽,另一方面,软核IP节点可以额外
连接到预定功能模块中的输入输出信号,也可以扩充预定功能模块的传输带宽。进一步,该
FPGA装置还包括内部布设有硅连接层NOC网络的硅连接层,使得FPGA裸片内部的节点可以
连接到硅连接层构成更大的NOC结构,进一步实现节点的增加并扩充预定功能模块的传输
带宽。
附图说明
具体实施方式
BRAM、DSP、PC、IOB等等,每个逻辑资源模块具有一个结构相同的环于该逻辑资源模块分布
的互连资源模块(INT),各个逻辑资源模块之间的水平或垂直连线皆经由INT模块相连。除
此之外,该FPGA裸片内部还集成有预定功能模块,该预定功能模块直接内建有N个硬核IP节
点,相邻的硬核IP节点通过路由通道相连,每个硬核IP节点分别包括功能IP、网络接口(NI)
和路由器(R),功能IP通过网络接口连接路由器,相邻的硬核IP节点中的路由器通过路由通
道相连,请参考图1,仅以R表示一个硬核IP节点中的路由器、未详细示出每个硬核IP节点中
与R相连的NI和IP,预定功能模块内部的节点即为硬核IP节点,图1以预定功能模块内建有
四个硬核IP节点为例。请参考图2,硬核IP节点中每个路由器R包括5*5的全互通开关阵列
(图中的Cross bar)及其相连的五组输入输出端口,该全互通开关阵列在相应的控制模块
的控制下实现互连互通,Cross bar结构的具体形式以及控制方式都是常规技术,本申请不
详细展开。其中一组输入输出端口连接对应的网络接口NI,其余四组输入输出端口分别设
置在四个不同的方向,如图中East、South、West和North四个方向,分别用于与四个方向的
相邻的路由器相连,每个方向的一组输入输出端口都可以连接到相邻路由器的任意一组输
入输出端口。每组输入输出端口的输入端口处都设置有缓冲器、输出端口处都设置有寄存
器。预定功能模块中的输入输出信号连接到硬核IP节点,但受限于实际结构,预定功能模块
中通常只能有部分输入输出信号连接到硬核IP节点。比较典型的,该预定功能模块为AI模
块,此时AI模块内部的硬核IP节点中的功能IP为AI引擎。在常规做法中,基于上述结构,预
定功能模块直接利用内建的N个硬核IP节点进行外部通信,但本申请提供了一种新的做法:
与上述硬核IP节点相同,只不过软核IP节点由FPGA裸片内部逻辑资源模块配置形成。FPGA
裸片内部的所有节点,包括N个硬核节点和M个软核节点之间通过路由通道相连形成NOC网
络结构,如图1所示图中虚线框表示利用虚线框内的逻辑资源模块配置形成的一个软核IP
节点,因此图1以配置形成8个软核IP节点为例,图1中预定功能模块外部的节点即为软核IP
节点、预定功能模块内部的节点即为硬核IP节点,图1以配置形成8个软核IP节点为例。具体
的,每相邻两个节点中的路由器之间通过路由通道相连,每个节点的路由器可以与其四个
方向的其他节点的路由器相连。预定功能模块利用形成的该NOC网络结构进行外部通信,由
此,预定功能模块可以通过内建的N个硬核IP节点与扩充形成的M个软核IP节点与外部信号
进行互连通信,M个软核IP节点可以将数据转运给N个硬核IP节点,相比于直接利用N个硬核
节点通信的方式增加了预定功能模块的传输带宽。除此之外,M个软核IP节点还与预定功能
模块中未连接到硬核IP节点的输入输出信号相连,可以进一步增加预定功能模块的传输带
宽。
配置形成软核IP节点时,每个软核IP节点由FPGA裸片内部的单个逻辑资源模块配置形成,
或者,由若干个逻辑资源模块共同配置形成,由于每个软核IP节点中内容较多,因此通常由
多个逻辑资源模块共同配置形成。当采用多个逻辑资源模块配置形成一个软核IP节点时,
以常规的Column‑Based的FPGA架构为例,可以利用同一列中的多个逻辑资源模块配置形成
一个软核IP节点,也可以采用多个不同列中的逻辑资源模块配置形成一个软核IP节点。
FPGA裸片内部用于配置形成软核IP节点的逻辑资源模块包括CLB、BRAM和DSP中的至少一
种。
片硅堆叠连接点1,本申请中的FPGA裸片是将常规FPGA裸片中的某些常规逻辑资源模块替
换设置成了硅堆叠连接模块。且根据信号互连需求可以对任意位置的常规逻辑资源模块进
行替换,比如针对现有常规的Column‑Based的FPGA架构为例,既可以将硅堆叠连接模块设
置在CLB所在的行列结构中,也可以将硅堆叠连接模块设置在BRAM所在的行列结构中以得
到本申请中的FPGA裸片。本申请中的FPGA裸片中的每个硅堆叠连接模块也具有一个环于该
硅堆叠连接模块分布的互连资源模块,因此本申请中的FPGA裸片的绕线结构可以与常规
FPGA裸片保持一致,无需做改变。硅堆叠连接模块与其他各个逻辑资源之间的水平或垂直
连线皆经由INT模块相连,硅堆叠连接模块LNK直接与其对应的互连资源模块INT中的互连
开关相连,是互连线的一部分。硅堆叠连接模块LNK与互连开关之间根据连通度需要可以是
全互连或部分互连。
接点引出端2相连,也即裸片硅堆叠连接点1和裸片连接点引出端2处于不同平面。裸片连接
点引出端2通常根据堆叠互连需要沿着第一方向和第二方向按行列结构布设。另外为了实
现更高的连通带宽可以布设多行/多列裸片连接点引出端2,也即每个FPGA裸片中沿着第一
方向布设有若干行裸片连接点引出端2,和/或,沿着第二方向布设有若干列裸片连接点引
出端2,从而实现多行多列的高效二维级联。沿着每个方向布设多行/多列裸片连接点引出
端2时,可以是间隔均匀布设,也可以是随机布设。根据实际互联需要,某些裸片功能模块与
裸片硅堆叠连接点1相连,裸片硅堆叠连接点1通过重布线层内的顶层金属线连接相应的裸
片连接点引出端2。根据实际互联需要,FPGA裸片内部的中某些节点中的路由器与硅堆叠连
接点1相连,硅堆叠连接点3通过重布线层内的顶层金属线连接相应的连接点引出端2。
路由通道相连的硅连接层路由节点,每个硅连接层路由节点包括通过网络接口(NI)相连的
功能IP模块(IP)和路由器(R),相邻的硅连接层路由节点通过连接在路由器之间的路由通
道相连,每个硅连接层路由节点的结构与上述硬核IP节点类似,本申请不再介绍。由此结
构,在硅连接层NOC网络中,每个硅连接层路由节点可以与四个方向相邻的硅连接层路由节
点相连,各个硅连接层路由节点形成二维互连阵列。且硅连接层路由节点之间通过路由通
道实现双向互连,因此任意一个硅连接层路由节点都可以通过路由通道与其他任意一个硅
连接层路由节点中相连,也即每个硅连接层路由节点中的功能IP都可以将数据传输给任意
一个其他的硅连接层路由节点中的功能IP、也可以接收任意一个其他的硅连接层路由节点
中的功能IP的数据,如图4中以虚线示出了一条信息传递路径。需要说明的是,硅连接层NOC
网络的形状没有限定、无需布设成方正结构,且无需在硅连接层5中每个晶格上都布设一个
硅连接层路由节点,只需利用路由通道将相邻的硅连接层路由节点联通即可,因此相邻硅
连接层路由节点之间的路由通道的长度可以不同。
既包括硬核IP节点也包括软核IP节点,从而FPGA裸片内部的节点与硅连接层NOC网络相连
形成更大规模的NOC网络结构,则进一步地,预定功能模块拓展为可以通过内建的N个硬核
IP节点、扩充形成的M个软核IP节点与硅连接层路由节点与外部信号进行互连通信,进一步
增加传输带宽。一般受限于FPGA裸片上可外接管脚数(约2000),FPGA裸片上的节点数受限,
但本申请将裸片接到硅连接层上,这种做法使得FPGA裸片上的节点大幅增加,可外连信号
大幅增加(单片至少40000)。硅连接层2上还开设有硅通孔6,FPGA裸片上的IOB通过硅连接
层5上的硅通孔6连接至基板4,以最终进行信号引出。
中包括的功能IP模块包括FIFO模块、用于实现缓存功能。硅连接层NOC网络中包括的功能IP
模块还包括布设在硅连接层5内的集成高速接口的存储芯片,该存储芯片包括HBM和DDR5中
的至少一种、用于与各个FPGA裸片高速交换数据,有利于提高整个FPGA装置的传输带宽。
应认为包含在本发明的保护范围之内。