本发明涉及集成电路测试技术领域,具体涉及一种3dnoc测试规划中的并行测试方法。
背景技术:
由于集成电路的设计与测试是密不可分的,因此测试技术成为片上网络发展过程中的重要环节。随着三维集成电路技术的不断发展,三维片上网络(threedimensionalnetwork-on-chip,3dnoc)应运而生。然而,伴随着系统中嵌入内核数量和复杂性的持续增长,如何提高系统的测试效率将是一项重大挑战,要求对被测核的测试数据进行合理分配,有效利用信道带宽以及测试接口的数量和位置,如何在有限的资源下最大化的提高测试效率成为一个np难题。有报告显示,noc的测试成本已经超过其制造成本,而测试成本中测试消耗的时间软成本占据测试总成本的80%~90%。由此可见,提高测试效率降低测试成本对于提高芯片制造过程中的产量起着至关重要的作用,具有很高的研究价值。
随着集成电路规模越来越大,系统中集成的ip核数量也随之增多,片上网络中会出现同构核和异构核并存的现象。目前对于片上网络的测试研究大多都是针对于异构核进行测试优化,但对于一些大规模的集成系统中通常同时存在同构核和异构核,先前的方法不能充分利用大量多核系统的同质性,造成相同的测试数据包重复传输,这样大大地增加了测试时间的问题。
技术实现要素:
本发明所要解决的是现有三维片上网络的测试方法存在测试时间长的问题,提供一种3dnoc测试规划中的并行测试方法。
为解决上述问题,本发明是通过以下技术方案实现的:
3dnoc测试规划中的并行测试方法,包括步骤如下:
步骤1、对于所有待测ip核,将其中同构的待测ip核划分到同构核集合中,将异构的待测ip核划分异构核集合中;
步骤2、对同构核集合中的同构的待测ip核采用多播流水线路由进行并行测试;
步骤3、对异构核集合中的异构的待测ip核采用单播改进xyz路由进行并行测试。
上述步骤2的具体过程如下:
步骤2.1、分别对同构核集合中属于同一条tam的同构的待测ip核,构建一个多播数据包,该多播数据包的源地址为该条tam的输入节点的三维坐标,该多播数据包的各个目的地址为该条tam的上的各个同构的待测ip核的三维坐标;
步骤2.2、将多播数据包从tam的输入节点输入到3dnoc中,并将输入节点视为当前传输节点;
步骤2.3、判断当前传输节点与多播数据包的各个目的地址是否位于同一层:
若当前传输节点与多播数据包的至少一个目的地址位于同一层即z轴坐标相同,则当前传输节点不变,并执行步骤2.4;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的z轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.3;
步骤2.4、判断当前传输节点的x轴坐标是否与多播数据包的各个目的地址的x轴坐标相同:
若当前传输节点与多播数据包的至少一个目的地址的x轴坐标相同,则当前传输节点不变,并执行步骤2.5;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的x轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.4;
步骤2.5、判断当前传输节点的y轴坐标是否与多播数据包的各个目的地址的y轴坐标相同:
若当前传输节点与多播数据包的至少一个目的地址的y轴坐标相同,则当前传输节点不变,并执行步骤2.6;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的y轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.5;
步骤2.6、重复步骤2.1-2.5,直到完成同构核集合中每一条tam的所有同构的待测ip核的测试。
上述步骤3的具体过程如下:
步骤3.1、分别对异构核集合中的每个异构的待测ip核,构建一个单播数据包,该单播数据包的源地址为该异构的待测ip核所属tam的输入节点的三维坐标,该单播数据包的目的地址为该异构的待测ip核的三维坐标;
步骤3.2、分别将单播数据包从tam的输入节点输入到3dnoc中,并将输入节点视为当前传输节点;
步骤3.3、判断当前传输节点与单播数据包的目的地址的三维坐标是否相等:
若相等,则向将单播数据包传输至当前传输节点,完成当前异构的待测ip核的测试;
否则,转到步骤3.4;
步骤3.4、判断当前传输节点的z轴坐标是否小于单播数据包的目的地址的z轴坐标:
若是,则执行步骤3.4.1a-步骤3.4.1c:
步骤3.4.1a,判断当前传输节点到单播数据包的目的地址的z轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.1b;否则,将单播数据包从当前传输节点向单播数据包的目的地址的z轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.1b;
步骤3.4.1b,判断当前传输节点到单播数据包的目的地址的x轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.1c;否则,将单播数据包从当前传输节点向单播数据包的目的地址的x轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.1c;
步骤3.4.1c,判断当前传输节点到单播数据包的目的地址的y轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.3;否则,将单播数据包从当前传输节点向单播数据包的目的地址的y轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.3;
否则,则执行步骤3.4.2a-步骤3.4.2c:
步骤3.4.2a,判断当前传输节点到单播数据包的目的地址的x轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.2b;否则,将单播数据包从当前传输节点向单播数据包的目的地址的x轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.2b;
步骤3.4.2b,判断当前传输节点到单播数据包的目的地址的y轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.2c;否则,将单播数据包从当前传输节点向单播数据包的目的地址的y轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.2c;
步骤3.4.2c,判断当前传输节点到单播数据包的目的地址的z轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.3;否则,将单播数据包从当前传输节点向单播数据包的目的地址的z轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.3;
步骤3.5、重复步骤3.1-3.4,直到完成异构核集合中所有异构的待测ip核的测试。
与现有技术相比,本发明通过减少相同的测试数据包重复传输时间以及减少路由冲突的发生,缓解拥塞现象导致数据包等待时间从而减少ip核的测试时间,降低测试成本,提高测试效率。在相同的核或相同类型的同构核存在的情况下,可以使用多播流水线路由算法将测试数据包同时路由到相同的核,在多播路由中,测试数据从一个源节点发送到多个目标节点,且测试数据分成若干微片(flit)以流水线形式在网络中传输。对于异构核采取单播通信方式,并设计了具有部分自适应的xyz路由算法(改进xyz路由算法)以减少数据传输时间,达到最小化测试时间与测试功耗的目的。
附图说明
图1为3dnoc测试规划方法的流程图。
图2为多播流水线路由方法的流程图。
图3为单播改进xyz路由方法的流程图。
图4为多播测试数据包格式。
图5为层内区域划分图,其中(a)为源节点位于边角分布图,(b)为源节点位于边缘分布图,(c)为源节点位于中心分布图。
图6为同构核测试示意图。
图7为多播流水线并行测试数据时序图。
图8为单播测试数据包格式。
图9为路由算法传输路径对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例(以3×3×3的3dmesh拓扑结构为例),对本发明进一步详细说明。
参见图1,现有3dnoc测试规划方法主要包括以下几个步骤:
(1)参数初始化:设置tam数目并标号,确定i/o端口的数量和位置坐标,给定系统的最大允许总功耗与各层的功耗约束,并初始化ip核的数目与相关参数信息。
(2)测试数据的分配:首先确定各条tam上分配的ip核数量,然后将每个ip核相应的测试数据合理分配至各条tam上。
(3)并行测试:首先检测是否存在测试空闲的tam,并对该条tam上的未测ip核进行判断,查找满足此条tam要求的带宽以及功耗约束的ip核,并且此待测核的测试路径不会和此时正测ip核的测试路径发生冲突,则将此ip核加入测试并标记其为正在测试状态,同理依次判断此条tam上未测ip核,重复上述步骤,不间断地循环查看每个tam上的空闲位置是否可以加入待测ip核的过程。
(4)ip核测试信息更新:若检测到有ip核满足此时测试条件,对此核进行标记,记录下该核所在这条tam上的此时测试时间,也就是此核的开始测试时间,并对功耗、时间等相关信息进行实时更新。当该核测试结束时,将此ip核标记成已测状态,同时记下此核的测试结束时间。并更新当前这条tam上的相关信息,同时释放该核测试时所占用的通信资源,例如路由、带宽信息等。
(5)计算测试时间:若测试所有ip核均测试完成,则对所有ip核的总测试时间进行计算。
为了减少相同的测试数据包重复传输时间以及减少路由冲突的发生,缓解拥塞现象导致数据包等待时间,从而减少ip核的测试时间,降低测试成本,提高测试效率。本发明在并行测试的过程中,采取同构核多播流水线路由与异构核单播改进xyz路由相结合的并行测试测试策略,实现对当前待测的各个ip核的测试。具体来说,本发明所提出的一种3dnoc测试规划中的并行测试方法,其具体包括步骤如下:
步骤1、对于当前所有待测ip核,将其中同构的待测ip核划分到同构核集合中,将异构的待测ip核划分异构核集合中;
步骤2、对同构核集合进行多播流水线路由进行并行测试,如图2所示,即:
步骤2.1、分别对同构核集合中属于同一条tam的同构的待测ip核,构建一个多播数据包,该多播数据包的源地址为该条tam的输入节点的三维坐标,该多播数据包的各个目的地址为该条tam的上的各个同构的待测ip核的三维坐标;
步骤2.2、将多播数据包从tam的输入节点输入到3dnoc中,并将输入节点视为当前传输节点;
步骤2.3、判断当前传输节点与多播数据包的各个目的地址是否位于同一层:
若当前传输节点与多播数据包的至少一个目的地址位于同一层即z轴坐标相同,则当前传输节点不变,并执行步骤2.4;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的z轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.3;
步骤2.4、判断当前传输节点的x轴坐标是否与多播数据包的各个目的地址的x轴坐标相同:
若当前传输节点与多播数据包的至少一个目的地址的x轴坐标相同,则当前传输节点不变,并执行步骤2.5;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的x轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.4;
步骤2.5、判断当前传输节点的y轴坐标是否与多播数据包的各个目的地址的y轴坐标相同:
若当前传输节点与多播数据包的至少一个目的地址的y轴坐标相同,则当前传输节点不变,并执行步骤2.6;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的y轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.5;
步骤2.6、重复步骤2.1-2.5,直到完成同构核集合中每一条tam的所有同构的待测ip核的测试;
步骤3、对异构核集合进行单播改进xyz路由进行并行测试,如图3所示,即:
步骤3.1、分别对异构核集合中的每个异构的待测ip核,构建一个单播数据包,该单播数据包的源地址为该异构的待测ip核所属tam的输入节点的三维坐标,该单播数据包的目的地址为该异构的待测ip核的三维坐标;
步骤3.2、分别将单播数据包从tam的输入节点输入到3dnoc中,并将输入节点视为当前传输节点;
步骤3.3、判断当前传输节点与单播数据包的目的地址的三维坐标是否相等:
若相等,则向将单播数据包传输至当前传输节点,完成当前异构的待测ip核的测试;
否则,转到步骤3.4;
步骤3.4、判断当前传输节点的z轴坐标是否小于单播数据包的目的地址的z轴坐标:
若是,则执行步骤3.4.1a-步骤3.4.1c:
步骤3.4.1a,判断当前传输节点到单播数据包的目的地址的z轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.1b;否则,将单播数据包从当前传输节点向单播数据包的目的地址的z轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.1b;
步骤3.4.1b,判断当前传输节点到单播数据包的目的地址的x轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.1c;否则,将单播数据包从当前传输节点向单播数据包的目的地址的x轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.1c;
步骤3.4.1c,判断当前传输节点到单播数据包的目的地址的y轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.3;否则,将单播数据包从当前传输节点向单播数据包的目的地址的y轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.3;
否则,则执行步骤3.4.2a-步骤3.4.2c:
步骤3.4.2a,判断当前传输节点到单播数据包的目的地址的x轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.2b;否则,将单播数据包从当前传输节点向单播数据包的目的地址的x轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.2b;
步骤3.4.2b,判断当前传输节点到单播数据包的目的地址的y轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.2c;否则,将单播数据包从当前传输节点向单播数据包的目的地址的y轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.2c;
步骤3.4.2c,判断当前传输节点到单播数据包的目的地址的z轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.3;否则,将单播数据包从当前传输节点向单播数据包的目的地址的z轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.3;
步骤3.5、重复步骤3.1-3.4,直到完成异构核集合中所有异构的待测ip核的测试。
1)同构核多播流水线路由并行测试
图4为多播数据包格式,一条消息可分成多个数据包,一个数据包又包含头微片、数据为片和尾微片。其中头微片中包括传输数据时所用的路由算法以及源节点与多个目的节点的位置坐标。
多播通信可以通过将多播消息的目的地核心分到不同的分区来优化,如图5所示根据3dnoc每层源节点的不同分布进行了不同的区域划分。其中黑色实心圆圈为源节点,虚线将目的节点划分在不同的区域。将每层网状拓扑分成四个区域:(1)东区域:该区域中所有节点的x坐标均大于源节点的x坐标。(2)西区域:该区域中所有的节点的x坐标均小于源节点的x坐标。(3)南区域:该区域中所有节点的x坐标与源节点x坐标相等,y坐标小于源节点的y坐标。(4)北区域:该区域中所有节点的x坐标与源节点x坐标相等,y坐标大于源节点的y坐标。对于包含至少一个多播目的地的每个区域,生成初始分组,其目的地是该区域中相对于源节点最远的多播目的地,这些数据包分别称为东方包、西方包、南方包和北方包。每个初始包携带相应区域所有目的节点的地址存放在多播有效负载字段,然后数据包在相应的区域内传输。根据每个区域内最远目的地位置,东方包和西方包会基于xy路由算法进行x和y方向的移动,而南方包和北方包只有y方向的移动,因为该区域仅限于一列。
对于源节点和目的节点在同一层时:东方包和西方包每次传输到下一节点时都将当前节点x坐标和有效负载字段中所有的目的节点x坐标相比较,判断此列是否有目的节点,若相同则将初始包复制向此列目的节点传输,否则不对初始包进行复制,然后继续向下一节点传输。对于南方包和北方包只进行y方向传输,直至将测试数据包传输到最远目的地。对于源节点和目的节点在不同层时:每个区域内的数据包每传输到下一节点时都将此节点的z坐标与有效负载字段中目的节点的z坐标进行比较,若不同则复制数据包向z方向传输,否则不进行复制,继续向此区域内下一节点传输。
假设在一个m×n×l的3dmesh结构的noc中,核5、12、13、15、23为一类同构核,它们的分布如图6所示,分布在不同的区域。假设多播测试数据包从路由器r4传入网络中,图中黑色实心箭头代表每个ip核测试数据的传输路径,以核23为例,基于上述多播包在网络中的传输方式它的测试数据的传输路径为r4—r5—r14—r23,其中r4表示核心4所连接的路由器其他的以此类推。
为了表示多播流水线并行测试过程,tam中的测试数据时序图如图7所示,图中横轴表示时钟周期,以核心5为例,测试数据先后经由r4和r5,每个矩形的长度表示数据包经过每个路由器的路由时间。由图可知对同质核进行测试时,可将测试核的路径分成经由几个路由器,即可看作将多播测试数据传输到一类同构核这一任务分解成数据包经由路由器的若干子任务,实现流水线数据并行传输,此过程有效缩短了测试数据在网络中的传输时间。
2)异构核改进xyz路由并行测试
图8为单播数据包格式,与多播数据包不同的是单播数据包头微片中只有一个目的节点的位置坐标。
本发明对xyz路由算法进行改进,提出部分自适应xyz路由算法对单播包进行路由。首先输入源节点和目的节点三维坐标并判断二者坐标是否相等,若相等说明此节点所连接的ip核为待测核则向此节点ip核传输测试数据;否则对源节点与目的节点的z坐标进行判断,若源节点z坐标zs大于目的节点z坐标zd,说明源节点位于目的节点上侧,为了让数据包尽量靠近底层传输,则数据包先沿z方向后沿xy方向传输,否则同理。然后判断下一节点数据包当前传输的维度是否出现拥塞现象,若无拥塞则向此节点传输,否则判断下一节点的下一维度是否拥塞,以此类推,逐维判断,直至将测试数据传输到待测ip核。改进的xyz路由算法可以克服xyz路由算法中因某一维度出现拥塞而造成的等待延迟问题,根据当时的网络状态调整数据包路由方向。
按照上述改进路由算法,在规模为3×3×3的3dmesh结构的片上网络中对待测ip核2的路由路径进行计算,如图9所示。其中,虚线箭头为按传统的xyz路由算法进行计算得到的测试路径,三实线箭头为改进后路由算法计算得到的路由路径;二实线箭头表示xyz路由算法计算得到的ip核1的测试路径。采用xyz路由算法时ip核1与ip核2不能同时进行进行测试,由于在r3处出现资源冲突现象,只能等到其中一方测试完成后将其所占用的通信资源释放,另一方才能够进行测。这种方式大大增加了等待时间,测试效率低下,增加了系统的总测试时间。当采用改进xyz路由算法后,由于其具有部分自适应性,ip核2的测试数据包路由到r4经判断到r3的这条链路发生拥塞现象,则向下一维度方向进行数据传输,因此向z方向路由至r5,由于后续没有发生资源冲突现象,则按照xyz路由算法进行测试数据的路由。
通过改进xyz路由算法的计算方式,可以有效地避免发生资源冲突的现象,降低网络拥塞程度,因而消除由此产生的等待时间,提高了资源内核并行测试的效率,最终达到系统测试时间最小化的目的。
按照每层核的测试功耗、测试时间大致相等的原则将ip核映射到3dmesh结构中,具体分布如表1所示:
表1核的分布
改进路由算法方案有效性验证实验
为验证本发明所提出的改进xyz路由算法对3dnoc测试时间的优化效果,将其与xyz路由算法进行比较。表2为在满足tam数量为3以及系统设定的50%功耗约束下针对以下几种测试基准电路进行30次仿真实验的平均结果。
表2路由算法对比实验结果
由表2观察可知,在四中不同规模的电路上改进xyz路由算法与xyz路由算法相比在测试时间上都有不同程度的提高,尤其在3*d695电路上提升效果最为明显,测试时间由43665.2降为37613。由于改进后的xyz路由算法具有部分自适应性,实时根据网络状态调整数据包路由路径,减少路由冲突的发生,缓解拥塞现象导致数据包等待时间,因此将其应用到测试规划中可以提高并行测试效率,缩短测试时间。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
1.3dnoc测试规划中的并行测试方法,其特征是,包括步骤如下:
步骤1、对于所有待测ip核,将其中同构的待测ip核划分到同构核集合中,将异构的待测ip核划分异构核集合中;
步骤2、对同构核集合中的同构的待测ip核采用多播流水线路由进行并行测试;
步骤3、对异构核集合中的异构的待测ip核采用单播改进xyz路由进行并行测试。
2.根据权利要求1所述的3dnoc测试规划中的并行测试方法,其特征是,所述步骤2的具体过程如下:
步骤2.1、分别对同构核集合中属于同一条tam的同构的待测ip核,构建一个多播数据包,该多播数据包的源地址为该条tam的输入节点的三维坐标,该多播数据包的各个目的地址为该条tam的上的各个同构的待测ip核的三维坐标;
步骤2.2、将多播数据包从tam的输入节点输入到3dnoc中,并将输入节点视为当前传输节点;
步骤2.3、判断当前传输节点与多播数据包的各个目的地址是否位于同一层:
若当前传输节点与多播数据包的至少一个目的地址位于同一层即z轴坐标相同,则当前传输节点不变,并执行步骤2.4;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的z轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.3;
步骤2.4、判断当前传输节点的x轴坐标是否与多播数据包的各个目的地址的x轴坐标相同:
若当前传输节点与多播数据包的至少一个目的地址的x轴坐标相同,则当前传输节点不变,并执行步骤2.5;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的x轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.4;
步骤2.5、判断当前传输节点的y轴坐标是否与多播数据包的各个目的地址的y轴坐标相同:
若当前传输节点与多播数据包的至少一个目的地址的y轴坐标相同,则当前传输节点不变,并执行步骤2.6;
否则,先复制多播数据包,并将多播数据包从当前传输节点向多播数据包的各个目的地址的y轴坐标方向的相连节点进行传输,更新当前传输节点,并对每个当前传输节点重复执行步骤2.5;
步骤2.6、重复步骤2.1-2.5,直到完成同构核集合中每一条tam的所有同构的待测ip核的测试。
3.根据权利要求1所述的3dnoc测试规划中的并行测试方法,其特征是,所述步骤3的具体过程如下:
步骤3.1、分别对异构核集合中的每个异构的待测ip核,构建一个单播数据包,该单播数据包的源地址为该异构的待测ip核所属tam的输入节点的三维坐标,该单播数据包的目的地址为该异构的待测ip核的三维坐标;
步骤3.2、分别将单播数据包从tam的输入节点输入到3dnoc中,并将输入节点视为当前传输节点;
步骤3.3、判断当前传输节点与单播数据包的目的地址的三维坐标是否相等:
若相等,则向将单播数据包传输至当前传输节点,完成当前异构的待测ip核的测试;
否则,转到步骤3.4;
步骤3.4、判断当前传输节点的z轴坐标是否小于单播数据包的目的地址的z轴坐标:
若是,则执行步骤3.4.1a-步骤3.4.1c:
步骤3.4.1a,判断当前传输节点到单播数据包的目的地址的z轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.1b;否则,将单播数据包从当前传输节点向单播数据包的目的地址的z轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.1b;
步骤3.4.1b,判断当前传输节点到单播数据包的目的地址的x轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.1c;否则,将单播数据包从当前传输节点向单播数据包的目的地址的x轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.1c;
步骤3.4.1c,判断当前传输节点到单播数据包的目的地址的y轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.3;否则,将单播数据包从当前传输节点向单播数据包的目的地址的y轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.3;
否则,则执行步骤3.4.2a-步骤3.4.2c:
步骤3.4.2a,判断当前传输节点到单播数据包的目的地址的x轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.2b;否则,将单播数据包从当前传输节点向单播数据包的目的地址的x轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.2b;
步骤3.4.2b,判断当前传输节点到单播数据包的目的地址的y轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.4.2c;否则,将单播数据包从当前传输节点向单播数据包的目的地址的y轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.4.2c;
步骤3.4.2c,判断当前传输节点到单播数据包的目的地址的z轴坐标方向的相连节点是否存在拥塞:若存在,则直接执行步骤3.3;否则,将单播数据包从当前传输节点向单播数据包的目的地址的z轴坐标方向的相连节点进行传输,并更新当前传输节点,并执行步骤3.3;
步骤3.5、重复步骤3.1-3.4,直到完成异构核集合中所有异构的待测ip核的测试。
技术总结