三维片上网络中基于Petri网的测试规划方法与流程

文档序号:12825697阅读:195来源:国知局
三维片上网络中基于Petri网的测试规划方法与流程

本发明涉及三维片上网络(threedimensionalnetwork-on-chip,3dnoc)技术领域,具体涉及一种三维片上网络中基于petri网的测试规划方法。



背景技术:

随着集成电路规模的大幅度扩展,传统的片上网络受到了平面结构布局条件的限制,互连线较长,导致数据传输的时延和功耗都会随之增加。3dic技术的出现打破了平面结构的局限性,该技术通过硅通孔将二维noc进行层间堆叠,增加了垂直方向的扩展。融合了3dic和noc技术的3dnoc吸引了研究人员的关注。3dnoc的优势主要表现在:1、垂直方向的互连线缩短了全局互联线的长度,具有更低的传输功耗和时延,进一步提升了系统性能。2、多层硅晶片在同一平面上堆叠,增加了芯片封装密度,有利于控制芯片面积。3、三维多层堆叠拓扑结构更易实现多种网络拓扑结构的混合。

测试规划问题的本质就是构建合理的测试模型,充分利用有限的测试资源,无冲突的调度ip核,最大限度的降低测试时间,然而同时需要考虑测试系统的软硬件约束条件如测试功耗和硬件开销等。因此,合理的构建测试模型以及选取适当的优化算法是测试规划的两个关键点。然而,随着3dnoc芯片中集成的资源内核数量的增多和逻辑结构复杂度的提高导致芯片的测试成本提高,花费的时间更长。因此,如何设计行之有效的测试规划策略,对3dnoc进行高效经济的测试是目前亟待解决的问题。



技术实现要素:

本发明所要解决的技术问题是现有的测试规划模型的适用范围受到限制,测试规划算法优化效果不足的问题,提供一种三维片上网络中基于petri网的测试规划方法。

为解决上述问题,本发明是通过以下技术方案实现的:

一种三维片上网络中基于petri网的测试规划方法,包括如下步骤:

步骤1、建立ttpn模型,并根据测试要求确定初始标识m0、终止标识mf和变迁时延集si;

步骤2、初始化蝙蝠种群的最大发生频率fmax和最小发生频率fmin,响度以及脉冲发生率;初始化惯性权重关联至各变迁;

步骤3、随机生成当前代的测试路径分配种群和对应的测试顺序调度种群;其中测试路径分配种群表示ip核的测试数据包被分配到tam的编号,测试顺序调度种群表示每条tam上分配的ip核的测试顺序;

步骤4、将当前代的测试路径分配种群和对应的测试顺序调度种群转换成当前代的变迁激发序列;

步骤5、判断当前代的变迁激发序列是否可触发;若该变迁激发序列的所有变迁均可触发,则继续执行步骤6;若该变迁激发序列中的任意一个变迁不可触发,则返回步骤3;

步骤6、运行petri网,根据当前的变迁激发序列实施变迁,并计算出系统当前标识m,当m=mf时,petri网运行终止;

步骤7、以测试时间作为测试规划的目标函数,根据变迁激发序列与适应度值函数的映射关系,计算当前代的种群适应度值;

步骤8、利用改进的蝙蝠算法更新规则,分别对当前代的测试路径分配种群和对应的测试顺序调度种群进行两级递阶更新;

步骤8.1、由当前种群确定路径分配方案,基于该方案对下代种群迭代更新寻找最优测试顺序;在第k代,蝙蝠位置和频率按如下公式更新:

f1k=fmin+(fmax-fmin)exp(-|tavg(k)-tbest(k)|)

f2k=1-f1k

式中,k为当前代数,i为ip核标号,为第k代蝙蝠种群的位置,f1k为念旧频率,f2k为嫉妒频率,ωk为第k代蝙蝠种群的惯性权重,pgd为全局最优位置,pid为个体经历的最优位置,fmin为蝙蝠最小发生频率,fmax为蝙蝠最大发生频率,tavg(k)和tbest(k)分别为第k代蝙蝠种群的平均适应度值和最优适应度值;

步骤8.2、最优顺序种群确定后,相应的测试路径分配种群接收各顺序种群搜索到的最优解,并对蝙蝠位置进行下一代寻优;

步骤9、将更新后的最优测试路径分配种群和对应的测试顺序调度种群转换成更新后的变迁激发序列;

步骤10、判断更新后的变迁激发序列是否可触发;若该变迁激发序列的所有变迁均可触发,则继续执行步骤11;若该变迁激发序列中的任意一个变迁不可触发,则返回步骤8;

步骤11、以测试时间作为测试规划的目标函数,根据变迁激发序列与适应度值函数的映射关系,计算更新后的种群适应度值;

步骤12、判断更新后的种群是否可接受;对每一只蝙蝠产生一个随机数,若该随机数小于当前代蝙蝠种群的平均音量,且更新后的种群适应度值小于当前代的种群适应度值,则更新当前代的种群适应度值所对应的变迁激发序列、以及更新当前代的测试路径分配种群和对应的测试顺序调度种群;否则,当前代的种群适应度值所对应的变迁激发序列、以及当前代的测试路径分配种群和对应的测试顺序调度种群保持不变;

步骤13、判断更新代数是否达到设定代数阈值kmax;若达到设定代数阈值,则将当前代的种群适应度值所对应的变迁激发序列解码后作为最优测试规划方案输出;若没有达到设定阈值,则返回步骤8。

上述步骤8.1中,每代的惯性权重ωk始终相同或采用预定的规则进行每代更新。

上述步骤8.1中,惯性权重采用如下规则进行每代更新:

ωk+1=1-((1-ρ)ωk+ρ(1/tbest(k)))

式中,ωk+1为第k+1代蝙蝠种群的惯性权重,ωk为第k代蝙蝠种群的惯性权重,ρ∈[0,1]为随机数,tbest(k)为第k代蝙蝠种群的最优适应度值。

上述步骤8与步骤9之间,还进一步包括如下步骤,即:当蝙蝠随机数rand1满足rand1≥rik时,采用以下公式非线性的调整蝙蝠的响度和脉冲发生率:

式中,为初代蝙蝠种群的响度,ri0为初代蝙蝠种群的脉冲发生率,rik+1为第k代蝙蝠种群的响度,rik为第k代蝙蝠种群的脉冲发生率,rik+1为第k+1代蝙蝠种群的响度,rik+1为第k+1代蝙蝠种群的脉冲发生率,k为当前代数,kmax为设定的代数阈值。

与现有技术相比,本发明具有如下特点:

1、引入petri网模型,以ttpn模型为中介,将3dnoc的测试规划问题转化为求解相应ttpn的最优变迁激发序列,无需考虑ip核位置映射、互连方式等对模型的影响,可以兼容不同拓扑结构的3dnoc;

2、采用改进的蝙蝠算法(improvedbatalgorithm,iba)对模型进行求解。蝙蝠频率会随着种群最优和平均适应度值的变化而自适应地变化,并对测试路径和顺序调度进行两级递阶寻优。可以增加种群的多样性,保证搜索方向,扩大搜索范围,从而快捷、高效的搜索到测试总时间最小的变迁序列;

3、将蝙蝠种群寻优规则融合到petri网的进化规则中,提出基于惯性权重的蝙蝠位置更新过程,并设置惯性权重与变迁实施支持度相关联;

4、具有测试结构简单、资源利用率高、测试时间短和功耗低的特点。

附图说明

图1为一种三维片上网络的拓扑结构示意图。

图2为ip核7在不同测试路径下的资源需求。

图3为ttpn子模型示意图。

图4为图2中变迁的含义。

图5为图2中各库所的含义。

图6为p93791电路的核分布情况。

具体实施方式

下面结合附图和实施例对本发明进行阐述,但不是对本发明内容的限定。

本发明优选实施例所涉及的3dnoc为3dmesh拓扑结构,如图1所示,采用多个平面结构的二维芯片通过硅通孔技术进行垂直互连而成,即主要由ip核、路由节点、网络接口以及通信链路组成。其中通信链路包括水平方向的互连线和竖直方向的tsv(硅通孔)。测试访问机制(testaccessmechanism,tam)作为测试数据传输和交换的媒介,本质上等同于传输信号线,本发明将tam视为一对输入/输出端口下的测试路径。为了减小硬件开销,降低测试成本,本发明复用noc的路由节点和通信链路等资源作为tam。

3dnoc测试过程中,多个测试数据包并行传输,并发的申请路由节点和通信链路等资源,noc的重复使用不可避免的受到路由、通信链路等资源的限制,需要考虑多任务并行引起的路径冲突和ip核测试数据最优调度等问题。ip核测试调度的顺序不同,使得测试资源的利用率有所差异,系统测试完成的时间也不同。由于3dnoc测试规划的首要目的是优化测试时间,因此本发明采用时间变迁petri网(timedtransitionpetrinet,ttpn)建模。在此基础上,将测试规划问题分为两级:首先,确定测试路径,即为每个待测ip核分配tam。然后,在给定测试路径的前提下,调度分配在同一条tam上的各ip核的测试顺序。为了减少拥塞,降低测试模型的复杂度,采用基于ip核的优先权调度方式,即一旦某个ip核被调度时,将独占tam直至该ip核测试完毕,其他待测ip核不得抢占该ip核所占用的资源。图1给出了3个ip核在xyz路由方式下,同时进行并行测试的传输路径。

针对3dnoc测试的ttpn模型,利用蝙蝠算法求解最优变迁激发序列,主要步骤如下:

1、建立ttpn模型:

数据包在tam中采用确定性维序xyz路由算法传输,由此为3dnoc中每个ip核确定其被分配给不同tam进行测试时所需要的测试资源,从而建立时间petri网模型,并根据测试要求确定模型的前向关联矩阵pre、后向关联矩阵post、初始标识m0、终止标识mf以及变迁时延集si。为了直观的说明,以10个待测ip核、3条tam为例,针对ip核7建立了子模型。建模在visualobjectnet++平台上完成,图2描述了ip核7在不同测试路径下的资源需求,针对这些需求,建立ip核7的ttpn子模型,如图3所示,其库所和变迁的详细说明见图4和图5。

2、改进的两级递阶蝙蝠算法对ttpn变迁序列的求解:

1)种群初始化:

假设3dnoc有n个待测ip核,b条tam。第k代蝙蝠位置种群为:其中n为搜索空间维度即待测ip核个数。根据公式对蝙蝠位置种群离散化,分别为用于路径分配和顺序调度的蝙蝠位置种群,其中为向下取整。

①路径分配种群取位置种群的整数部分,表示核的测试数据包被分配到tam的编号。即,其中,di表示第i个ip核的测试数据在第di条tam上传输,1≤i≤n,d的蝙蝠位置应满足:di∈[1,b]。

②顺序调度种群用于表示每条tam上分配的ip核的测试顺序。由于调度子种群的位置矢量无法表示ip核的测试顺序,采用随机键最大序列值(largestordervalue,lov)映射规则,将位置分量转换成测试顺序,从而使调度问题的计算可行。采用lov规则,将位置分量的小数部分按由小到大的顺序依次赋予lov值1到n,将转换成ip核测试顺序。

式中,sbi表示分配到tamb上的第i个ip核的测试顺序标号,1≤sbi≤n,1≤b≤b,1≤i≤n,顺序调度是在路径分配的基础上进行的,所以s中每行的非零蝙蝠个体数目以及蝙蝠个体所代表的ip核标号是确定的,且蝙蝠位置需满足:sbi∈[0,1]。

2)生成变迁激发序列:

针对3dnoc测试的ttpn模型,将ip核的测试路径分配种群和对应的顺序调度种群转换成petri网变迁激发序列编码:σ=t1,1t2,2…tb,n。变迁激发序列σ包含了每一个ip核唯一的测试路径分配和调度顺序信息,且在一次运行中每个变迁只能引发一次。其中,变迁tb,i∈t表示第i个ip核在第b条tam上测试,1≤i≤n。

3)判定可触发的变迁向量:

若变迁tb,i满足式pre(tb,i)≤m,则变迁tb,i在当前代标识m下是使能的。当变迁tb,i触发后,更新当前代标识m,即根据转移更新方程m=m-pre(tb,i)+post(tb,i)计算出系统当前代标识m,当m=mf时,petri网运行终止。

4)适应度值计算:

测试规划以测试时间作为目标函数,即求解所有tam最大完成测试时间的最小值。根据下式计算所有变迁序列完成一次所需要的时间即种群适应度值:

式中,sib,j为ip核i分配到第b条tam上所需的测试时间,wb,i表示在当前测试节点处,分配到第b条tam上的ip核i由于不满足条件(如功耗限制或路径冲突)所需的空闲等待时间,tb,i表示第i个ip核在第b条tam上测试,n为待测ip核个数,b为tam条数。

5)种群更新:

应用于求解复杂优化问题时,基本蝙蝠算法中蝙蝠种群频率和速度的更新无法保证算法的收敛速度,仍存在易于陷入局部最优、后期收敛较慢的缺陷。因此,本发明对更新方程进行了修改,去除速度项,改进蝙蝠位置和频率的更新方式,使其具有更强的全局优化能力。

①分别对分配种群和顺序种群进行更新。

在thba中,对所有ip核的路径分配和测试顺序进行两级递阶寻优,故更新过程分为两步。

第一步:由种群确定路径分配方案,基于该方案对第二级种群迭代更新寻找最优测试顺序,每只蝙蝠都在n维空间中以位置x和频率f随机飞行,在第k代,蝙蝠位置和频率按如下公式更新:

f1k=fmin+(fmax-fmin)exp(-|tavg(k)-tbest(k)|)

f2k=1-f1k

其中,k为迭代次数,pid为个体经历的最优位置,pgd为全局最优位置,f1k为“念旧”频率,f2k为“嫉妒”频率,分别影响着蝙蝠个体“自我认知”和“群体学习”的行为。tavg(k)和tbest(k)分别为第k代蝙蝠种群的平均适应度值和最优适应度值。由于蝙蝠会根据猎物的接近程度自动调整它们发出脉冲的频率,因此在解决问题时,通过调整频率来调整蝙蝠的搜索范围,限制频率在[fmin,fmax]的作用是避免蝙蝠偏离最优解太远。

ω为惯性权重,决定着下一代蝙蝠的飞行方向和动力,初始值设为:设置其与变迁的时延相关联并分配到每个变迁上,当所有蝙蝠完成一次迭代后,ω按如下规则更新:

ωk(ti)=1-((1-ρ)ωk-1(ti)+ρ(1/tbest(k)))

其中,ρ∈[0,1]是一个随机数。初始时,较大的ω便于蝙蝠种群进行全局探索,算法在逐次迭代后,拥有较小权值的蝙蝠位置对于下一代的位置选择具有更高的影响程度。时延较小的变迁将获得更高的支持度(即更小的权值),蝙蝠种群将在拥有较高支持度的变迁附近进行更精细的挖掘,提高发现最优解的概率。

第二步:最优顺序种群确定后,相应的测试路径分配种群接收各顺序种群搜索到的最优解,并对蝙蝠位置进行下一代寻优。

搜索过程中为了避免蝙蝠飞离搜索空间,将所有蝙蝠的位置变化限定在[xmin,xmax]内,同时速度变化也限定在[-vmax,vmax]内。路径分配种群d的蝙蝠位置应满足:基于路径分配的顺序种群s中每行的非零蝙蝠个体数目以及蝙蝠个体所代表的ip核标号是确定的,且蝙蝠位置需满足:

②基于评估的位置更新。

搜索过程中,蝙蝠种群的响度ai和脉冲发生率ri控制着全局寻优和局部挖掘的切换。当蝙蝠随机数满足rand1<rik时,蝙蝠种群接受按照①所述更新规则进行全局搜索的解;否则,该蝙蝠在最优解附近按照式xnew=x*+εak局部游走产生新解,其中x*为当前蝙蝠种群最优位置,ε∈[-1,1]是一个随机数,ak是蝙蝠种群的平均响度。改进新解后,蝙蝠的音量和脉冲发生率都将更新,采用以下公式非线性的调整蝙蝠的响度和脉冲发生率:

6)判定是否接受更新的解。

由蝙蝠种群的音量和其适应度值共同决定是否接受新解。对每一只蝙蝠产生一个随机数rand2,若满足且新解的适应度值优于旧解的适应度值,则更新最优解、蝙蝠种群及相应参数。否则,最优解和蝙蝠种群不变。

7)终止条件判断:

判断迭代次数是否达到分配种群的设定值,若满足则输出最优测试规划方案,否则转5)。

以itc'02基准电路中结构较为复杂的p93791电路为例,在tam=3时,基于petri网的iba在第193代搜索到最优解,为480299个时钟周期,与一般的测试规划方案相比,本例的测试时间减少约10%,并且在收敛速度方面也有所优化。参见图6。

本发明公开了一种基于iba优化变权时间petri网的3dnoc测试规划方法。结合3dnoc测试的特点建立一种时间petri网模型,将蝙蝠权值更新机制引入到petri网变迁选择规则中,使得该模型不仅能够清晰地描述测试过程中的资源约束及状态变化关系,而且可以通过权值对变迁选择进行智能控制,实现了静态建模与动态优化的统一。采用改进的蝙蝠算法,通过频率的自适应变化,可以增加种群的多样性,扩大搜索范围,准确地找到最优测试方案,缩短测试时间,降低测试成本。本发明的测试规划方法提供了一种通用性模型,能够推广应用到不同拓扑结构的3dnoc。

上述实施例,仅为对本发明的目的、技术方案和有益效果进一步详细说明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1