CN104079480A - 一种三维集成电路片上网络的路由方法及其系统 - Google Patents

一种三维集成电路片上网络的路由方法及其系统 Download PDF

Info

Publication number
CN104079480A
CN104079480A CN201410240731.3A CN201410240731A CN104079480A CN 104079480 A CN104079480 A CN 104079480A CN 201410240731 A CN201410240731 A CN 201410240731A CN 104079480 A CN104079480 A CN 104079480A
Authority
CN
China
Prior art keywords
node
route
routing
device layer
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410240731.3A
Other languages
English (en)
Other versions
CN104079480B (zh
Inventor
周君
李华伟
李晓维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201410240731.3A priority Critical patent/CN104079480B/zh
Publication of CN104079480A publication Critical patent/CN104079480A/zh
Application granted granted Critical
Publication of CN104079480B publication Critical patent/CN104079480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种三维集成电路片上网络的路由方法,包含:路由选取步骤和数据路由步骤;路由选取步骤用于通过节点不唯一时的随机选择策略,在器件层间确定从源节点到目的节点的最优路由,以确保数据包经过最优路由到达目的节点;数据路由步骤用于基于水平器件层的层间非法转向原则,以及垂直平面内相应转向限制的约束,采用路由策略,将数据包逐步由源节点经过中间节点路由到目的节点。本发明还公开了一种三维集成电路片上网络的路由系统。

Description

一种三维集成电路片上网络的路由方法及其系统
技术领域
本发明涉及集成电路可靠性设计领域,特别是涉及一种三维集成电路片上网络的路由方法及其系统。
背景技术
三维集成技术是一种将芯片不同的器件层堆叠起来,垂直集成在一起的一种封装技术。在期刊“proceedings of the IEEE,Volume:89,Issue:5,2001,pp.602-633”中,名称为“3-D ICs:a novel chip design for improvingdeep-submicrometer interconnect performance and systems-on-chip integration”,作者为:Banerjee K.等人的文献中,公开了这种技术可以缩短芯片内物理连线长度,达到降低系统时延和功耗的作用。图1为一个简单的4*2*3三维芯片片上网络的示意图,拓扑结构是常见的三维Mesh结构。如图1所示,图中有3个不同器件层,24个处理单元(Processing Element,PE)分别连接各自不同的节点,节点之间通过水平或者垂直方式互连。
硅穿孔(Through-Silicon Vias,TSV)技术是一种主流的三维芯片器件层之间的连接技术,在期刊名称为:“proceedings of Electronic Components andTechnology Conference(ECTC),Las Vegas,2010,pp.1031-1042.”,文献名称为:“TSV manufacturing yield and hidden costs for3D IC integration”,作者为:Lau等人的文献中,公开了该技术特点是长度短和高集成密度等。一般地,每一组层间上下垂直对应的两个PE之间的垂直连接都是由若干TSV构成。但是,TSV技术制造工艺良率较低,单根TSV的制造成品率大约为99.99%。当TSV数目较多时,其整体故障率将明显增加。同时,TSV在使用过程中发生故障几率也较高。较高的生产及使用过程中的TSV故障率对不同器件层之间的PE之间的通信有较大影响,导致系统性能下降、死锁,甚至芯片报废。
需要注意的是:本发明主要关注的是由若干TSV组成的垂直连接的永久性故障问题,若组成某对上下垂直对应的两个PE之间的垂直连接的所有TSV都出现永久性故障,则该垂直连接发生永久性故障,即失效;否则,则为有效的垂直连接。
针对TSV不可修复的永久性故障,当前国内外的容错措施通常有三种:第一种是在三维芯片不同的器件层之间增加冗余的TSV;第二种是通过增加芯片原有TSV的物理外围逻辑电路使数据包绕过故障TSV;第三种是通过设计可靠性路由算法,使得系统的数据交换可以在一部分TSV失效的情况下得以保持。
第一种方法虽然容错效果显著,当会明显增加三维芯片的面积与功耗开销,这一点会随着芯片规模的增大愈加明显。同时,TSV制作成本较高。因此,本方法不利于本方法大范围普及,尤其是针对开销敏感的应用制造领域产品。第二种方法与前一种方法类似,也是对芯片的物理结构加以改造,开销依然较大。第三种方法不增加多余逻辑电路,也可以保证三维芯片的通信正常进行,系统开销较低,在传统二维芯片中即是主流的容错机制。
针对三维芯片片上网络的可靠性路由算法,国内外的研究成果较少。现有的研究成果主要存在以下问题:第一,路由算法的整体自适应度较低,其中有些方法采用维序路由等固定路由路径方法,无法根据片上网络的实时通信情况进行适当的路由;第二,同一器件层水平方向的路由对于各个方向的数据包自适应度不具备公平性;第三,无法保证在不使用开销较大的虚通道(VirtualChannel,VC)技术的基础上避免片上网络死锁发生。在期刊名称为:“proceedings of Design,Automation&Test in Europe Conference&Exhibition(DATE),Dresden,2010,pp.1625-1628”,文献名称为:“A method to removedeadlocks in Networks-on-Chips with Wormhole flow control,”,作者为:Seiculescu C.等人的文献中,公开了VC技术。以上三点直接导致现有的成果有三大缺陷:第一,不能保证较高的通信性能(主要针对的是通信时延和吞吐量两个指标);第二,通信的可靠性指标较低;第三,较高的面积与功耗开销。
此外,针对路由中端口选择机制NoP端口选择机制,在期刊名称为:“IEEETransactions on Computers,Volume:57,Issue:6,2008,pp.809-820.”,期刊名称为:“Implementation and Analysis of a New Selection Strategy for AdaptiveRouting in Networks-on-Chip”,作者为:Ascia G.等人的期刊中公开了NoP端口选择机制;
针对路由算法DyAD算法,在期刊名称为:“proceedings of DesignAutomation Conference(DAC),San Diego,2004,pp.260-263.”文献名称为:“DyAD-smart routing for networks-on-chip”,作者为:Jingcao Hu等人的文献中公开了DyAD算法。
本发明在进行三维片上网络可靠性路由技术研究时,发现虽然该技术在传统二维片上网络中应用广泛,但是在三维片上网络场景并不多见,主要原因是三维集成电路的技术历史并不是很长导致的。发明人经过研究发现,虽然这些方法都是可以达到完全或部分容错的目的,但是对于较高通信性能、可靠性和较低的系统开销并不能做到兼顾。由于片上网络的通信性能、可靠性和系统开销三者之间存在权衡关系,一种指标的提升可能会导致其他指标的降低。因此,如何设计一种可以兼顾三者的可靠性路由设计方法至关重要。
发明内容
本发明的目的在于提供一种三维集成电路片上网络的路由方法及其系统,以克服现有技术中存在的片上网络的通信性能、可靠性和系统开销三者之间不能兼顾的问题。
为达上述目的,本发明提出了一种三维集成电路片上网络的路由方法,应用于包含:源节点、首节点、中间节点和目的节点的片上网络,所述三维集成电路包含多个水平器件层,其特征在于,包含:
路由选取步骤:在所述器件层间确定从所述源节点到所述目的节点的最优路由,通过节点不唯一时的随机选择策略,以确保数据包经过所述最优路由到达所述目的节点;
数据路由步骤:基于所述水平器件层的层间非法转向原则,以及垂直平面内相应转向限制的约束,采用路由策略,将所述数据包逐步由所述源节点经过所述中间节点路由到所述目的节点。
上述三维集成电路片上网络的路由方法,其特征在于,所述层间非法转向原则还包括:所述目的节点所在器件层的直接上游器件层的所述中间节点与所述目的节点为非直接上下垂直对应的位置关系。
上述三维集成电路片上网络的路由方法,其特征在于,所述路由策略包含:DyADM路由算法和NoP端口选择机制,所述DyADM算法为基于DyAD算法,并且包含所述水平器件层,即X-Y平面的层间非法转向限制与垂直的Y-Z平面和X-Z平面的非法转向限制。
上述三维集成电路片上网络的路由方法,其特征在于,所述路由选取步骤还包括:
同一器件层选取步骤:如果所述源节点与所述目的节点在同一器件层,则执行所述数据路由步骤,将数据包路由到所述目的节点;
不同器件层选取步骤:如果所述源节点与所述目的节点在不同器件层,则经过多次筛选,最终确定所述最佳路由。
上述三维集成电路片上网络的路由方法,其特征在于,所述不同器件层选取步骤还包括:
直接下游选取步骤:选取与所述目的节点所在器件层的直接下游垂直连接有效节点并且所述直接连接有效节点与所述目的节点为非直接上下垂直对应位置关系,形成所述直接连接有效节点集合N,如果所述直接连接有效节点集合N中的元素唯一,则执行所述数据路由步骤;
总路径距离选取步骤:如果所述直接连接有效节点集合N中的元素为多个,则计算所述源节点所在器件层所有直接连接有效节点到所述源节点的距离L1,所述直接连接有效节点到所述目的节点的距离L2,并计算两者之和L=L1+L2,得到所述L值为最小的节点集合N’,如果所述L值为最小的节点集合N’中的元素唯一,则执行所述数据路由步骤;
至源节点距离选取步骤:如果所述L值为最小的节点集合N’中的元素为多个,则从所述集合N中选取所述L1最小的节点集合N”,如果所述L1最小的节点集合N”中的元素唯一,则执行所述数据路由步骤,否则,在所述L1最小的节点集合N”中随机选择一个节点,执行所述数据路由步骤。
上述三维集成电路片上网络的路由方法,其特征在于,所述数据路由步骤还包括:
路由至下一层步骤:所述源节点将数据包按照所述DyADM算法,及所述端口选择机制NoP,路由至所述中间节点,并通过直接下游垂直连接将所述数据包路由至下一器件层的所述首节点,将所述数据包逐跳路由,直至路由到所述目的节点所在器件层;
路由至所在层步骤:所述数据包路由至所述目的节点所在器件层,通过所述DyADM算法,及所述端口选择机制NoP,将所述数据包由本层所述首节点路由至所述目的节点。
本发明还提供一种三维集成电路片上网络路由系统,采用如所述片上网络路由方法,所述方法应用于包含:源节点、首节点、中间节点和目的节点的片上网络,所述三维集成电路包含多个水平器件层,其特征在于,所述系统包含:
路由选取模块:通过节点不唯一时的随机选择策略,在所述器件层间确定从所述源节点到所述目的节点的最优路由,以确保数据包经过所述最优路由到达所述目的节点;
数据路由模块:基于所述水平器件层的层间非法转向原则,以及垂直平面内相应转向限制的约束,采用路由策略,将所述数据包逐步由所述源节点经过所述中间节点路由到所述目的节点。
上述三维集成电路片上网络的路由系统,其特征在于,所述层间非法转向原则还包括:所述目的节点所在器件层的直接上游器件层的所述中间节点与所述目的节点为非直接上下垂直对应的位置关系。
上述三维集成电路片上网络的路由系统,其特征在于,所述路由策略包含:DyADM路由算法和NoP端口选择机制,所述DyADM算法为基于DyAD算法,并且包含所述水平器件层,即X-Y平面的层间非法转向限制与垂直的Y-Z平面和X-Z平面的非法转向限制。
上述三维集成电路片上网络的路由系统,其特征在于,所述路由选取模块还包括:
同一器件层选取模块:如果所述源节点与所述目的节点在同一器件层,则将数据包路由到所述目的节点;
不同器件层选取模块:如果所述源节点与所述目的节点在不同器件层,则经过多次筛选,最终确定所述最佳路由。
上述三维集成电路片上网络的路由系统,其特征在于,所述不同器件层选取模块还包括:
直接下游选取模块:选取与所述目的节点所在器件层的直接下游垂直连接有效节点并且所述直接连接有效节点与所述目的节点为非直接上下垂直对应位置关系,形成所述直接连接有效节点集合N,如果所述直接连接有效节点集合N中的元素唯一,则根据所述数据路由模块进行数据包路由;
总路径距离选取模块:如果所述直接连接有效节点集合N中的元素为多个,则计算所述源节点所在器件层所有所述直接连接有效节点到所述源节点的距离L1,所述直接连接有效节点到所述目的节点的距离L2,并计算两者之和L=L1+L2,得到所述L值为最小的节点集合N’,如果所述L值为最小的节点集合N’中的元素唯一,则根据所述数据路由模块进行数据包路由;
至源节点距离选取模块:如果所述L值为最小的节点集合N’中的元素为多个,则从所述集合N中选取所述L1最小的节点集合N”,如果所述L1最小的节点集合N”中的元素唯一,则根据所述数据路由模块进行数据包路由,否则,在所述L1最小的节点集合N”中随机选择一个节点,根据所述数据路由模块进行数据包路由。
上述三维集成电路片上网络的路由系统,其特征在于,所述数据路由模块还包括:
路由至下一层模块:所述源节点将数据包按照所述DyADM算法,及所述端口选择机制NoP,路由至所述中间节点,并通过直接下游垂直连接将所述数据包路由至下一器件层的所述首节点,将所述数据包逐跳路由,直至路由到所述目的节点所在器件层;
路由至所在层模块:所述数据包路由至所述目的节点所在器件层,通过所述DyADM算法,及所述端口选择机制NoP,将所述数据包由本层所述首节点路由至所述目的节点。
与现有技术相比,本发明的有益效果在于:
1)可以在容错的基础上提高三维集成电路片上网络的通信性能,包括降低平均通信时延和提高网络吞吐量。这一点主要是因为DyADM算法本身具备流量感知的能力,可以在不同程度的网络负载下采取不同的路由算法,同时,还因为NoP端口选择机制经过拓展至三维场景,可以避开热点区域,减小数据包发生冲突的几率。本发明的路由自适应度较高,可以根据片上网络的实时状况加以判断,选择冲突最小的合法输出端口;
2)可以不使用VC就避免三维场景下的通信死锁。由于VC会带来较大的存储面积和复杂的控制逻辑,对于成本敏感的集成电路芯片并不适用。在传统的二维集成电路片上网络上,不使用VC的可靠性路由设计方法很多,但是在三维集成电路上很少,一方面因为三位集成技术是一种较新的技术,另一方面,则由于三维场景需要综合考虑三个平面,即X-Y平面、Y-Z平面和X-Z平面的情况,相对于二维场景要复杂很多。综上所述,一种低开销的三维集成电路片上网络的可靠性路由设计方法具备较强的工程技术意义;
3)本发明可以保证较高的通信可靠性。网络可靠性的一个重要指标就是在给定的时间内,能够由源节点路由至目的节点的数据包的数量占据这段时间内注入到网络中数据包总数量的比例。若该比例较高,则对应的路由设计方法的可靠性就越高。本发明可以使数据包尽可能短时间内路由至目的节点,在设定的时间内保证通信的可靠性。
附图说明
图1为一个简单的4*2*3三维芯片片上网络的示意图;
图2为本发明方法流程示意图;
图3为本发明方法详细流程示意图;
图4为本发明传统二维片上网络奇偶转向模型示意图;
图5为本发明方法具体实施例步骤流程示意图;
图6为本发明一具体实施例示意图;
图7为本发明实施例由单个数据包路由路径形成层间非法转向示意图;
图8为本发明实施例破坏层间非法转向示意图;
图9为本发明实施例多个数据包路由路径形成层间非法转向示意图;
图10为本发明又一实施例破坏层间非法转向示意图;
图11为本发明系统结构示意图;
图12为本发明系统结构详细示意图。
其中,附图标记:
100路由选取模块        200数据路由模块
101同一器件层选取模块  102不同器件层选取模块
201路由至下一层模块    202路由至所在层模块
1021直接下游选取模块   1022总路径距离选取模块
1023至源节点距离选取模块
S10~S20、S11~S12、S21~S22、S121~S123:本发明各实施例的施行步骤
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
下面结合附图和具体实施方式,对本发明做进一步的说明。
本发明的目的在于提供一种三维集成电路片上网络的路由方法。其能够在三维集成电路片上网络的垂直连接出现永久性故障的情况下保障通信的正常运行,并且较好地兼顾较高的通信性能、可靠性和较低的系统开销三个指标。
本发明提供的是一种三维集成电路片上网络的路由方法,总体而言是一种由源节点所在的器件层逐层将数据包路由至目的节点所在的器件层的单向通信过程。本发明的相关定义、设定及背景介绍如下:
定义每一个数据包第一次路由至某个中间器件层的节点为首节点(源节点可以理解为一个特殊的首节点);定义每一器件层都需要找到一个中间节点(目的节点可以理解为一个特殊的中间节点)。定义源节点为S(Source)节点,目的节点为D(Destination)节点。
本发明的关键点如下:
关键点1,是源节点S如何通过确定每对源节点-目标节点对之间的各器件层上的中间节点,从而将数据包路由至目的节点所在的目的器件层;技术效果即确保数据包可以经过最少的跳步数到达目的节点,同时能够尽快脱离所在器件层到达下一器件层。由于当满足条件的节点不唯一时采取随机选择的策略,而非选择序号最小或最大的节点,可以有效避免通信热点的出现;
关键点2,是单一器件层上数据包由首节点路由至中间节点的具体路由算法,该算法须将经典的二维片上网络路由算法拓展至三维场景而来;技术效果,就是引入了层间非法转向这一概念,并考虑X-Z和Y-Z两个垂直平面内转向限制,加入了更强的转向约束,以达到破坏层间非法转向和垂直平面内抽象依赖环形成的目的。这样,不仅在水平器件层面不会发生通信死锁,在垂直通信层面也不会形成由单个数据包路由路径构成的,且可能会造成死锁的层间非法转向,以及垂直平面内的抽象依赖环,确保了本发明可以在不使用VC的前提下避免通信死锁现象的发生;
关键点3,是目的节点所在器件层的首节点不能是目的节点,即目的节点所在器件层的直接上游器件层的中间节点与目的节点D不能是直接上下垂直对应的位置关系,此关键点是关键点2中路由算法相关规则的延伸,用于筛选目的节点所在器件层的直接上游器件层的中间节点,避免由不同数据包路由路径造成层间非法转向的可能;技术效果是可以确保层间非法转向的组成部分不会传送至目的节点所在器件层,从而避免层间非法转向的形成。
本发明提供的一种三维集成电路片上网络的路由方法,应用于包含:源节点、首节点、中间节点和目的节点的片上网络,该三维集成电路包含多个水平器件层,图2为本发明方法流程示意图,如图2所示,本方法包含:
路由选取步骤S10:在器件层间确定从源节点到目的节点的最优路由,通过节点不唯一时的随机选择策略,以确保数据包经过最优路由到达目的节点;
数据路由步骤S20:基于水平器件层的层间非法转向原则,以及垂直平面内转向限制的约束,采用路由策略,将数据包逐步由源节点经过中间节点路由到目的节点。
其中,层间非法转向原则还包括:目的节点所在器件层的直接上游器件层的中间节点与目的节点为非直接上下垂直对应的位置关系。
其中,路由策略包含:DyADM路由算法和NoP端口选择机制。所述DyADM算法为基于DyAD算法,并且包含所述水平器件层,即X-Y平面的层间非法转向限制与垂直的Y-Z平面和X-Z平面的非法转向限制。
其中,如图2所示,路由选取步骤S10还包括:
同一器件层选取步骤S11:如果源节点与目的节点在同一器件层,则执行数据路由步骤,将数据包路由到目的节点;
不同器件层选取步骤S12:如果源节点与目的节点在不同器件层,则经过多次筛选,最终确定最佳路由。
其中,图3为本发明方法详细流程示意图,如图3所示,不同器件层选取步骤S12还包括:
直接下游选取步骤S121:选取与目的节点所在器件层的直接下游垂直连接有效节点并且直接连接有效节点与目的节点为非直接上下垂直对应位置关系,形成直接连接有效节点集合N,如果直接连接有效节点集合N中的元素唯一,则执行数据路由步骤;
总路径距离选取步骤S122:如果直接连接有效节点集合N中的元素为多个,则计算源节点所在器件层所有直接连接有效节点到源节点的距离L1,直接连接有效节点到目的节点的距离L2,并计算两者之和L=L1+L2,得到L值为最小的节点集合N’,如果L值为最小的节点集合N’中的元素唯一,则执行数据路由步骤;
至源节点距离选取步骤S123:如果L值为最小的节点集合N’中的元素为多个,则从集合N中选取L1最小的节点集合N”,如果L1最小的节点集合N”中的元素唯一,则执行数据路由步骤,否则,在L1最小的节点集合N”中随机选择一个节点,执行数据路由步骤。
其中,数据路由步骤S20还包括:
路由至下一层步骤S21:源节点将数据包按照DyADM算法,及端口选择机制NoP,路由至中间节点,并通过直接下游垂直连接将数据包路由至下一器件层的首节点,将数据包逐跳路由,直至路由到目的节点所在器件层;
路由至所在层步骤S22:数据包路由至目的节点所在器件层,通过DyADM算法,及端口选择机制NoP,将数据包由本层首节点路由至目的节点。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种三维集成电路片上网络的路由方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
本发明的一种三维集成电路片上网络的路由方法,实现了存在永久性垂直连接故障的三维集成电路片上网络上的可靠性通信过程,并在通信性能,方法开销和通信可靠性等三个角度加以改进。
由于本发明需要采用合适的路由算法用于水平器件层上数据包由首节点路由至中间节点的过程,因此这里介绍本发明采用的方法——DyADM(DyADModified)路由算法的原型DyAD路由算法。DyAD算法是经典的二维片上路由算法,其兼具维序路由算法和自适应路由算法的优势,将XY路由与奇偶(Odd-Even)转向模型相结合,根据网络负载的不同采取相应的路由算法。当网络负载较低时,采取OE-fixed算法(该算法遵循奇偶转向模型),反之,采用奇偶转向模型。图4为本发明传统二维片上网络奇偶转向模型示意图,如图4所示。以E、S、W和N分别表示东、西、南和北四个路由方向。在图4中,虚线左边表示奇数列禁止的转向SW和NW,虚线右边是偶数列禁止的转向ES和EN。
本发明提及的DyADM算法,就是将DyAD算法拓展至三维领域的一种片上网络路由算法。DyADM与DyAD的不同处之一就在于前者在后者的基础上,添加了对层间非法转向的限制,阻止层间非法转向的形成,使得数据包在水平二维器件层的转向限制更加严格。层间非法转向可用图7作为例子说明。在图7中,S1与D1、S2与D2,S3与D3分别是对应的源节点-目的节点对,P1、P2和P3分别是对应的数据包路由路径(注:此处的“D”代表Destination,和方向Down的“D”不同)。若将三个源节点-目的节点对形成的三条路径投射到水平层,则节点2和18就组成了一个非法的转向,即在偶数列的EN转向。该转向是由分别在不同器件层,且属于同一数据包的路由路径上的“E”与“N”组合而成的,此类非法转向,称为层间非法转向。
DyADM在DyAD基础上添加的规则如下:若Mk(k表示三维芯片第k器件层)位于奇数列,且其输入端口方向为N或S,则Fk±1的输出方向不能为W;若Mk位于偶数列,且其输入端口方向为W,则Fk±1的输出方向不能为N或S。如果Fk±1被选为当前器件层中间节点,则上述规则中提及的Mk的输入方向须寄存,并随数据包一起沿传输路径传递,直至某一器件层的首节点不再作为该器件层的中间节点为止。
需要说明的是,由于在X-Z平面和Y-Z平面内也需要避免死锁,因此也需要在两个平面同时至少禁止一个顺时针转向和一个逆时针转向。即与“层间非法转向”规则一起添加进DyAD,形成DyADM,从而避免死锁。针对这两个转向本发明没有明确的规定,只要保证这两个平面的所有向上(U)和向下(D)的禁止转向数量相同即可(确保数据包在各个方向上路由的公平性),且转向限制优先选择设置在首节点(相对于中间节点易操作)。此处举一示例:若目的节点在源节点的上方,则Fk+1处禁止UN和US转向,若目的节点在源节点的下方,则在Fk-1处禁止DW和DE转向。下面列举的本发明实例皆按照本示例执行,但并不说明本发明只能按照此示例执行,特此注明。
NoP(Neighbors-on-Path)端口选择机制是一种二维片上网络的端口选择机制,本质是一种流量感应机制,根据可选端口的流量感应情况,选取流量最小的可选端口输出数据包,避开通信密集区域,减少冲突的发生,从而降低通信时延,提高吞吐量。拓展至三维场景的NoP机制和DyADM算法一起,作为本发明水平器件层上的路由策略,将数据包由本层首节点路由至中间节点。
图5为本发明方法具体实施例步骤流程示意图,如图5所示,本发明的具体步骤为:
步骤S100:若源节点S与目的节点在同一器件层,则直接按照DyADM路由算法,结合端口选择机制NoP,将数据包路由至目的节点;若源节点与目的节点不在同一器件层,根据源节点与目的节点的相对位置,检测并选取源节点所在器件层的直接下游垂直连接有效(即无故障),且与目的节点D非直接上下垂直对应位置关系的所有节点(该情况需要预判,以防出现通信死胡同节点),形成节点集合N;
步骤S200:若步骤S100中的节点集合N为空集,则说明没有满足要求的节点,通常这种情况在正常使用的芯片中不会发生;若步骤S100中的节点集合N元素唯一,则该节点可直接确定为源节点所在器件层的中间节点Mi(i表示三维芯片第i器件层),直接进入步骤S400即可;若步骤S100中的节点集合N元素不唯一,计算源节点S所在器件层所有直接下游垂直连接有效的节点(包括源节点本身)至源节点的距离L1、至目的节点的距离L2,并计算两者之和L=L1+L2,得出满足L的值最小的节点子集合N’。需要指出的是,设N1(x1,y1,z1)和N2(x2,y2,z2)是三维片上网络的任意不同的两个节点。根据以下公式可计算N1和N2之间的距离:L=|x1-x2|+|y1-y2|+|z1-z2|,下同。
步骤S300:若步骤S200中的节点子集合N’元素唯一,该节点可直接确定为源节点所在器件层的中间节点Mi,直接进入步骤S400即可;若步骤S200中的节点集合N’元素不唯一,则在其中选择L1最小的节点子集合N”;若该子集合N”元素唯一,则该节点可直接确定为源节点所在器件层的中间节点Mi,直接进入步骤S400,否则,在该子集合N”中随机选择一个节点,确定为源节点所在器件层的中间节点Mi,进入步骤S400;
步骤S400:源节点S将数据包按照DyADM路由算法,结合端口选择机制NoP,路由至中间节点Mi,并通过直接下游垂直连接将数据包路由至下一器件层的首节点Fi±1
步骤S500:从i±1层开始,将特殊的首节点——源节点S转变为普通的首节点Fi±1,重复执行步骤S100-S500,直至数据包路由至目的节点所在器件层;
步骤S600:经过步骤S500,数据包路由至目的节点所在器件层,通过DyADM路由算法,结合端口选择机制NoP,将数据包由本层首节点Fj(j表示三维芯片第j器件层)路由至目的节点D。
举例而言,图6为本发明一具体实施例示意图,图6中的“X”表示该垂直连接故障,处于失效状态,不能使用。在一个4*2*3的三维片上网络中,节点2是源节点,即节点S,节点23是目的节点,即节点D。根据步骤S100,符合条件的中间节点有节点1和节点5,最终通过随机选择,节点1入选。数据包通过节点1,节点9,路由至第1层。该层的中间节点可选集合元素唯一,节点9入选,因此数据包通过节点17,顺利到达目的节点所在器件层——第2层。此时,使用DyADM路由算法直接路由至节点D即可。本发明方法执行完毕。
同时,由于本发明可以消除由单个或多个数据包路由路径形成的层间非法转向,因此,举出实例进行说明。以图7和图8为例。图7为本发明实施例由单个数据包路由路径形成层间非法转向示意图,图8为本发明实施例破坏层间非法转向示意图,在一个4*2*3的三维片上网络中,很容易出现两种情形下的层间非法转向:一种是由单个数据包路由路径形成的,另一种就是由多个个数据包路由路径叠加形成的。图7就是第一类情形,而图9是第二类情形。
以E、S、W和N分别表示东、西、南和北四个路由方向。
在图7中的节点2处,作为第0层的中间点,其输入端口方向是W,即发送方向是E,数据包经过节点第1层的节点10,由于该节点既是本层的首节点也是中间节点,因此第0层的E转向需要寄存后继续传递至第2层。而在节点18,数据包的输出方向是N,这就和之前的E结合,形成了EN转向。由于根据DyADM的规定,节点18的N输出端口是禁止的。因此,在图8中,选择了W作为输出端口,并将数据包路由至D1。至此,破坏了由单个源节点-目的节点对之间的路由路径形成的层间非法转向。
图9为本发明实施例多个数据包路由路径形成层间非法转向示意图,在图9中,也是在第0层的节点2和第2层的节点18形成了层间非法转向EN,只是这个转向是由两个源节点-目的节点对之间的路由路径叠加形成。此时,需要根据步骤S100的要求,在选取目的节点所在去器件层的直接上游层的中间节点时,不能选择节点10作为第1层的中间节点。那么剩下可选的节点有节点9和13,须随机选择。图10为本发明又一实施例破坏层间非法转向示意图,图10中以选择节点9为例说明。根据DyADM机制,路径P1,P2和P3都发生变化,至此,破坏了由两个源节点-目的节点对之间的路由路径叠加形成的层间非法转向。
本发明还提供一种三维集成电路片上网络路由系统,采用如上述片上网络路由方法,本方法应用于包含:源节点、首节点、中间节点和目的节点的片上网络,该三维集成电路包含多个水平器件层,图11为本发明系统结构示意图,如图11所示,系统包含:
路由选取模块100:通过节点不唯一时的随机选择策略,在器件层间确定从源节点到目的节点的最优路由,以确保数据包经过最优路由到达目的节点;
数据路由模块200:基于水平器件层的层间非法转向原则,以及垂直平面内转向限制的约束,采用路由策略,将数据包逐步由源节点经过中间节点路由到目的节点。
其中,如图11所示,路由选取模块100还包括:
同一器件层选取模块101:如果源节点与目的节点在同一器件层,则将数据包路由到目的节点;
不同器件层选取模块102:如果源节点与目的节点在不同器件层,则经过多次筛选,最终确定最佳路由。
其中,图12为本发明系统结构详细示意图,如图12所示,不同器件层选取模块102还包括:
直接下游选取模块1021:选取与目的节点所在器件层的直接下游垂直连接有效节点并且直接连接有效节点与目的节点为非直接上下垂直对应位置关系,形成直接连接有效节点集合N,如果直接连接有效节点集合N中的元素唯一,则根据数据路由模块进行数据包路由;
总路径距离选取模块1022:如果直接连接有效节点集合N中的元素为多个,则计算源节点所在器件层所有直接连接有效节点到源节点的距离L1,直接连接有效节点到目的节点的距离L2,并计算两者之和L=L1+L2,得到L值为最小的节点集合N’,如果L值为最小的节点集合N’中的元素唯一,则根据数据路由模块进行数据包路由;
至源节点距离选取模块1023:如果L值为最小的节点集合N’中的元素为多个,则从集合N中选取L1最小的节点集合N”,如果L1最小的节点集合N”中的元素唯一,则根据数据路由模块进行数据包路由,否则,在L1最小的节点集合N”中随机选择一个节点,根据数据路由模块进行数据包路由。
其中,数据路由模块2还包括:
路由至下一层模块201:源节点将数据包按照DyADM算法,及端口选择机制NoP,路由至中间节点,并通过直接下游垂直连接将数据包路由至下一器件层的首节点,将数据包逐跳路由,直至路由到目的节点所在器件层;
路由至所在层模块202:数据包路由至目的节点所在器件层,通过DyADM算法,及端口选择机制NoP,将数据包由本层首节点路由至目的节点。
综上所述,本发明的有益效果在于,本发明提供了一种三维集成电路片上网络的路由方法,可以在不使用昂贵的VC技术的基础之上,保证三维集成电路片上网络通信的高性能、高可靠性和低开销的特性。通过结合附图对本发明具体实施例的描述,本发明的其他方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (12)

1.一种三维集成电路片上网络的路由方法,应用于包含:源节点、首节点、中间节点和目的节点的片上网络,所述三维集成电路包含多个水平器件层,其特征在于,包含:
路由选取步骤:在所述器件层间确定从所述源节点到所述目的节点的最优路由,通过节点不唯一时的随机选择策略,以确保数据包经过所述最优路由到达所述目的节点;
数据路由步骤:基于所述水平器件层的层间非法转向原则,以及垂直平面内转向限制的约束,采用路由策略,将所述数据包逐步由所述源节点经过所述中间节点路由到所述目的节点。
2.根据权利要求1所述的三维集成电路片上网络的路由方法,其特征在于,所述层间非法转向原则还包括:所述目的节点所在器件层的直接上游器件层的所述中间节点与所述目的节点为非直接上下垂直对应的位置关系。
3.根据权利要求1所述的三维集成电路片上网络的路由方法,其特征在于,所述路由策略包含:DyADM路由算法和NoP端口选择机制,所述DyADM算法为基于DyAD算法,并且包含所述水平器件层,即X-Y平面的层间非法转向限制与垂直的Y-Z平面和X-Z平面的非法转向限制。
4.根据权利要求1所述的三维集成电路片上网络的路由方法,其特征在于,所述路由选取步骤还包括:
同一器件层选取步骤:如果所述源节点与所述目的节点在同一器件层,则执行所述数据路由步骤,将数据包路由到所述目的节点;
不同器件层选取步骤:如果所述源节点与所述目的节点在不同器件层,则经过多次筛选,最终确定所述最佳路由。
5.根据权利要求1所述的三维集成电路片上网络的路由方法,其特征在于,所述不同器件层选取步骤还包括:
直接下游选取步骤:选取与所述目的节点所在器件层的直接下游垂直连接有效节点并且所述直接连接有效节点与所述目的节点为非直接上下垂直对应位置关系,形成所述直接连接有效节点集合N,如果所述直接连接有效节点集合N中的元素唯一,则执行所述数据路由步骤;
总路径距离选取步骤:如果所述直接连接有效节点集合N中的元素为多个,则计算所述源节点所在器件层所有直接连接有效节点到所述源节点的距离L1,所述直接连接有效节点到所述目的节点的距离L2,并计算两者之和L=L1+L2,得到所述L值为最小的节点集合N’,如果所述L值为最小的节点集合N’中的元素唯一,则执行所述数据路由步骤;
至源节点距离选取步骤:如果所述L值为最小的节点集合N’中的元素为多个,则从所述集合N中选取所述L1最小的节点集合N”,如果所述L1最小的节点集合N”中的元素唯一,则执行所述数据路由步骤,否则,在所述L1最小的节点集合N”中随机选择一个节点,执行所述数据路由步骤。
6.根据权利要求1所述的三维集成电路片上网络的路由方法,其特征在于,所述数据路由步骤还包括:
路由至下一层步骤:所述源节点将数据包按照所述DyADM算法,及所述端口选择机制NoP,路由至所述中间节点,并通过直接下游垂直连接将所述数据包路由至下一器件层的所述首节点,将所述数据包逐跳路由,直至路由到所述目的节点所在器件层;
路由至所在层步骤:所述数据包路由至所述目的节点所在器件层,通过所述DyADM算法,及所述端口选择机制NoP,将所述数据包由本层所述首节点路由至所述目的节点。
7.一种三维集成电路片上网络路由系统,采用如权利要求1-6中任一项所述片上网络路由方法,所述方法应用于包含:源节点、首节点、中间节点和目的节点的片上网络,所述三维集成电路包含多个水平器件层,其特征在于,所述系统包含:
路由选取模块:通过节点不唯一时的随机选择策略,在所述器件层间确定从所述源节点到所述目的节点的最优路由,以确保数据包经过所述最优路由到达所述目的节点;
数据路由模块:基于所述水平器件层的层间非法转向原则,以及垂直平面内转向限制的约束,采用路由策略,将所述数据包逐步由所述源节点经过所述中间节点路由到所述目的节点。
8.根据权利要求7所述的三维集成电路片上网络的路由系统,其特征在于,所述层间非法转向原则还包括:所述目的节点所在器件层的直接上游器件层的所述中间节点与所述目的节点为非直接上下垂直对应的位置关系。
9.根据权利要求7所述的三维集成电路片上网络的路由系统,其特征在于,所述路由策略包含:DyADM路由算法和NoP端口选择机制,所述DyADM算法为基于DyAD算法,并且包含所述水平器件层,即X-Y平面的层间非法转向限制与垂直的Y-Z平面和X-Z平面的非法转向限制。
10.根据权利要求7所述的三维集成电路片上网络的路由系统,其特征在于,所述路由选取模块还包括:
同一器件层选取模块:如果所述源节点与所述目的节点在同一器件层,则将数据包路由到所述目的节点;
不同器件层选取模块:如果所述源节点与所述目的节点在不同器件层,则经过多次筛选,最终确定所述最佳路由。
11.根据权利要求10所述的三维集成电路片上网络的路由系统,其特征在于,所述不同器件层选取模块还包括:
直接下游选取模块:选取与所述目的节点所在器件层的直接下游垂直连接有效节点并且所述直接连接有效节点与所述目的节点为非直接上下垂直对应位置关系,形成所述直接连接有效节点集合N,如果所述直接连接有效节点集合N中的元素唯一,则根据所述数据路由模块进行数据包路由;
总路径距离选取模块:如果所述直接连接有效节点集合N中的元素为多个,则计算所述源节点所在器件层所有所述直接连接有效节点到所述源节点的距离L1,所述直接连接有效节点到所述目的节点的距离L2,并计算两者之和L=L1+L2,得到所述L值为最小的节点集合N’,如果所述L值为最小的节点集合N’中的元素唯一,则根据所述数据路由模块进行数据包路由;
至源节点距离选取模块:如果所述L值为最小的节点集合N’中的元素为多个,则从所述集合N中选取所述L1最小的节点集合N”,如果所述L1最小的节点集合N”中的元素唯一,则根据所述数据路由模块进行数据包路由,否则,在所述L1最小的节点集合N”中随机选择一个节点,根据所述数据路由模块进行数据包路由。
12.根据权利要求7所述的三维集成电路片上网络的路由系统,其特征在于,所述数据路由模块还包括:
路由至下一层模块:所述源节点将数据包按照所述DyADM算法,及所述端口选择机制NoP,路由至所述中间节点,并通过直接下游垂直连接将所述数据包路由至下一器件层的所述首节点,将所述数据包逐跳路由,直至路由到所述目的节点所在器件层;
路由至所在层模块:所述数据包路由至所述目的节点所在器件层,通过所述DyADM算法,及所述端口选择机制NoP,将所述数据包由本层所述首节点路由至所述目的节点。
CN201410240731.3A 2014-05-30 2014-05-30 一种三维集成电路片上网络的路由方法及其系统 Active CN104079480B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410240731.3A CN104079480B (zh) 2014-05-30 2014-05-30 一种三维集成电路片上网络的路由方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410240731.3A CN104079480B (zh) 2014-05-30 2014-05-30 一种三维集成电路片上网络的路由方法及其系统

Publications (2)

Publication Number Publication Date
CN104079480A true CN104079480A (zh) 2014-10-01
CN104079480B CN104079480B (zh) 2018-03-30

Family

ID=51600533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410240731.3A Active CN104079480B (zh) 2014-05-30 2014-05-30 一种三维集成电路片上网络的路由方法及其系统

Country Status (1)

Country Link
CN (1) CN104079480B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072032A (zh) * 2015-09-17 2015-11-18 浪潮(北京)电子信息产业有限公司 一种确定片上网络路由路径的方法及系统
CN105095148A (zh) * 2015-08-14 2015-11-25 浪潮(北京)电子信息产业有限公司 一种混合型三维片上网络
CN105577539A (zh) * 2016-01-27 2016-05-11 中国科学院计算技术研究所 一种面向非规则三维集成电路片上网络的路由方法及系统
CN111865782A (zh) * 2019-04-29 2020-10-30 清华大学 三维集成电路及路由方法
CN112073314A (zh) * 2020-08-07 2020-12-11 同济大学 容忍多故障的大规模三维片上网络确定性路径路由方法
CN115297060A (zh) * 2022-10-10 2022-11-04 荣耀终端有限公司 片上网络、数据转发方法和电子设备
CN116306457A (zh) * 2023-01-28 2023-06-23 上海合见工业软件集团有限公司 基于垂直交叉点约束的电路原理图路由规划系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335704A (zh) * 2008-04-18 2008-12-31 清华大学 三维torus网中的无死锁自适应路由方法
US20090070549A1 (en) * 2007-09-12 2009-03-12 Solomon Research Llc Interconnect architecture in three dimensional network on a chip
CN101483614A (zh) * 2008-10-20 2009-07-15 电子科技大学 三维片上网络架构方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070549A1 (en) * 2007-09-12 2009-03-12 Solomon Research Llc Interconnect architecture in three dimensional network on a chip
CN101335704A (zh) * 2008-04-18 2008-12-31 清华大学 三维torus网中的无死锁自适应路由方法
CN101483614A (zh) * 2008-10-20 2009-07-15 电子科技大学 三维片上网络架构方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
虞潇等: "一种面向功耗免死锁三维全动态3D NoC路由算法", 《电子学报》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095148A (zh) * 2015-08-14 2015-11-25 浪潮(北京)电子信息产业有限公司 一种混合型三维片上网络
CN105095148B (zh) * 2015-08-14 2018-07-13 浪潮(北京)电子信息产业有限公司 一种混合型三维片上网络
CN105072032A (zh) * 2015-09-17 2015-11-18 浪潮(北京)电子信息产业有限公司 一种确定片上网络路由路径的方法及系统
CN105072032B (zh) * 2015-09-17 2018-05-18 浪潮(北京)电子信息产业有限公司 一种确定片上网络路由路径的方法及系统
CN105577539A (zh) * 2016-01-27 2016-05-11 中国科学院计算技术研究所 一种面向非规则三维集成电路片上网络的路由方法及系统
CN105577539B (zh) * 2016-01-27 2018-08-10 中国科学院计算技术研究所 一种面向非规则三维集成电路片上网络的路由方法及系统
CN111865782A (zh) * 2019-04-29 2020-10-30 清华大学 三维集成电路及路由方法
CN111865782B (zh) * 2019-04-29 2021-08-06 清华大学 三维集成电路及路由方法
CN112073314A (zh) * 2020-08-07 2020-12-11 同济大学 容忍多故障的大规模三维片上网络确定性路径路由方法
CN112073314B (zh) * 2020-08-07 2021-09-03 同济大学 容忍多故障的大规模三维片上网络确定性路径路由方法
CN115297060A (zh) * 2022-10-10 2022-11-04 荣耀终端有限公司 片上网络、数据转发方法和电子设备
CN116306457A (zh) * 2023-01-28 2023-06-23 上海合见工业软件集团有限公司 基于垂直交叉点约束的电路原理图路由规划系统
CN116306457B (zh) * 2023-01-28 2024-02-20 上海合见工业软件集团有限公司 基于垂直交叉点约束的电路原理图路由规划系统

Also Published As

Publication number Publication date
CN104079480B (zh) 2018-03-30

Similar Documents

Publication Publication Date Title
CN104079480A (zh) 一种三维集成电路片上网络的路由方法及其系统
CN104092617B (zh) 一种三维集成电路片上网络路由方法及其系统
US11031385B2 (en) Standard cell for removing routing interference between adjacent pins and device including the same
KR101856437B1 (ko) 초전도 회로 물리적 레이아웃 시스템 및 방법
CN104539547B (zh) 一种用于三维集成电路片上网络的路由器及路由方法
US11568119B2 (en) Cell layout of semiconductor device
US9558312B2 (en) Electromigration resistant standard cell device
JP7071195B2 (ja) 異種コンタクトを具備する集積回路、及びそれを含む半導体装置
CN104579951B (zh) 片上网络中新颖的故障与拥塞模型下的容错方法
CN105577539B (zh) 一种面向非规则三维集成电路片上网络的路由方法及系统
CN106339350A (zh) 众核处理器片上访存距离优化的方法及其装置
CN107209793B (zh) 具有用于3d集成电路的折叠块及复制引脚的知识产权块设计
US7913219B2 (en) Orientation optimization method of 2-pin logic cell
Zhou et al. HARS: a high-performance reliable routing scheme for 3D NoCs
Yin et al. Explorations of honeycomb topologies for network-on-chip
CN107018071B (zh) 一种基于“包-电路”交换技术的路由模式切换配置器
CN104539533A (zh) 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用
Kurokawa et al. Xy based fault-tolerant routing with the passage of faulty nodes
Hsieh et al. Fault-tolerant mesh for 3D network on chip
JPH10173058A (ja) 配置配線方法
Li et al. Design methodology of fault-tolerant custom 3D network-on-chip
Lei et al. Vertical-mesh-conscious-dynamic routing algorithm for 3D NoCs
Ziaeeziabari et al. 3D-AMAP: a latency-aware task mapping onto 3D mesh-based NoCs with partially-filled TSVs
CN107078121B (zh) Io功率总线网格结构设计
Da Silva et al. Reflect3d: An Adaptive and Fault-Tolerant Routing Algorithm for Vertically-Partially-Connected 3D-NoC

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20141001

Assignee: Zhongke Jianxin (Beijing) Technology Co.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: X2022990000752

Denomination of invention: A routing method and system for 3d integrated circuit network on chip

Granted publication date: 20180330

License type: Exclusive License

Record date: 20221009