一种多目标NoC测试规划优化方法与流程

文档序号:12114561阅读:428来源:国知局
一种多目标NoC测试规划优化方法与流程

本发明涉及片上网络(Network-on-Chip,NoC)技术领域,具体涉及一种多目标NoC测试规划优化方法。



背景技术:

集成电路制造工艺的迅速发展使得单芯片上集成越来越多的IP(Intellectual Property)IP核,传统的基于总线架构的SoC(System-on-Chip)面临通信带宽低、时钟同步难、可扩展性差等难以突破的瓶颈问题。因此,一些研究人员采用以通信为中心的设计替代以计算为中心的设计,移植计算机网络的思想到芯片设计中,提出全新的NoC(Network-on-Chip)集成电路体系结构,用分组和路由交换通信技术代替传统的总线通信技术,从体系结构上彻底解决了传统总线式SoC通信的障碍。但NoC结构也变得更加复杂,故障更多,对其进行测试也愈难、测试成本更高。因此,如何对NoC进行高效经济的测试是目前亟待解决的问题。

很多学者在NoC测试规划方面做了大量的工作。但目前对NoC测试的研究主要集中在功耗约束下,采用不同的算法和测试策略进行时间优化。但是,由于测试过程中芯片产生较大的热效应会破坏芯片的可靠性,因此不仅是测试时间,测试功耗的优化也是尤为重要。



技术实现要素:

本发明所要解决的技术问题是提供一种多目标NoC测试规划优化方法,其能够达到测试时间和测试功耗的多目标优化的目标。

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

一种多目标NoC测试规划优化方法,包括如下步骤:

步骤1)随机生成个体个数为n的初代量子种群Q(0),并通过观测初代量子种群Q(0)产生初代观测种群P(0);

步骤2)根据初代观测种群P(0),对NoC中IP核进行测试调度;

步骤3)计算步骤2)所进行的测试调度的测试时间和测试功耗,并据此评估初代观测种群P(0);

步骤4)判断当前代是否达到设定最大迭代次数;如果达到设定最大迭代次数,则转步骤15);如果未达到设定最大迭代次数,则当前代加1,并继续迭代;

步骤5)通过观测上一代量子种群Q(t-1)得到当前代观测种群P(t);

步骤6)根据当前代观测种群P(t),对NoC中IP核进行测试调度;

步骤7)计算步骤6)所进行的测试调度的测试时间和测试功耗,并据此评估当前代观测种群P(t);

步骤8)求取当前代观测种群P(t)与上一代观测种群P(t-1)的并集;

步骤9)对步骤8)所得并集进行快速非支配排序,将并集中的所有个体进行分组;

步骤10)计算步骤9)所得并集的所有个体的调和距离,并根据调和距离对并集中的每一组个体分别进行排序;

步骤11)将步骤10)所得并集的所有个体中选出前n个个体构成当前代观测种群P(t);

步骤12)对上一代量子种群Q(t-1)进行快速非支配排序,将上一代量子种群Q(t-1)的所有个体进行分组,并选择其中一组作为最佳组;

步骤13)采用混沌策略动态更新旋转角△θ;

步骤14)以最佳组作参考准则,利用更新操作更新上一代量子种群Q(t-1),得到当前代种群Q(t),转步骤4);

步骤15)将当前代观测种群P(t)所对应的NoC中IP核测试调度作为结果输出。

上述步骤10)中,个体j的调和距离dj

式中,dj,k是与个体j就最近邻的k个个体,k-1为并集中每一组个体的个数。

上述步骤12)中,将上一代量子种群Q(t-1)的所有个体进行分组后的第一组作为最佳组。

上述步骤13)中,旋转角△θ的更新公式为:

式中,t为代数,min为旋转角的最小值,max为旋转角的最大值,x(t)为混沌变量,a为大于0的常数。

上述步骤14)中,更新操作的具体过程为:

当时,则

当时,则

式中,为上一代量子种群Q(t-1)的非最佳组中的个体,为当前代量子种群Q(t)的非最佳组中的个体,为上一代量子种群Q(t-1)的最佳组中的个体,为当前代量子种群Q(t)的最佳组中的个体,△θ为旋转角。

与现有技术相比,本发明提出了一种基于调和距离量子多目标进化算法(Harmonic distance quantum-inspired multiobjective evolutionary algorithm,HQMEA)的NoC测试规划优化方法。采用重用NoC作为测试存取机制(Test access mechanism,TAM)的并行测试方法,对NoC中的IP核进行测试,节省测试资源,提高测试效率。提出的算法在量子多目标进化算法(Quantum-inspired multiobjective evolutionary algorithm,QMEA)的基础上,采用多进制概率角编码替代二进制概率幅编码,更好的适应NoC测试规划问题;采用调和距离替代拥挤距离(Crowding distance)能更好的衡量拥挤程度;采用混沌策略动态更新旋转角,能很好地兼顾了算法的探索和发掘能力。在ITC’02test benchmarks测试集上进行对比实验,结果表明相比量子多目标进化算法,提出的算法不仅提升了算法的收敛性,而且保证了Pareto解集良好的分布性。

附图说明

图1为在2D Mesh NoC结构中的测试d965系统的示意图。

图2为一种多目标NoC测试规划优化方法的流程图。

图3为观测操作的示意图。

图4为更新操作的示意图。

具体实施方式

本发明所涉及的NoC主要由路由器(router)、网络适配器(Network Interface)和连接相邻路由器之间的数据传输线(Link)构成。由拓扑结构、路由算法,交换机制等描述。图1给出了ITC’02SoC test benchmarks中d965系统在2D Mesh结构中的测试示例,路由算法采用XY路由算法,图1有3个测试端口,每个端口都和ATE(Automatic Test Equipment)的测试引脚相连。因此,在图1中,有三组I/O端口对产生测试矢量和接收测试响应。当测试一个IP核时,必须给这个IP核分配一个端口对。例如:(C5,C4)是一组I/O端口对,如果C10(core 10)被分配给(C5,C4)I/O端口对,测试矢量需要从ATE输入到C5(core 5),然后再路由到C10(core 10)。C10(core 10)的测试响应经过C4(core 4)输出到ATE。图1中的虚线箭头线代表一条测试路由路径。

假定NoC采用2D mesh结构,XY路由和虫洞交换。为了实现并行测试,搭建一个M*N的系统,重用NoC作为TAM,采用基于IP核调度模式。此外,测试还必须满足以下条件:(1)每个IP核在电路中仅测试一次,一个IP核在一旦开始测试就不许终止直至完成;(2)一旦测试路径分配给一个IP核,这条测试路径上的所有的资源都被占用直至完成。

把基本的量子位扩展到多进制,使用作为多进制编码。一个新的Q-bit表示如下:

是在第t代的量子个体种群,n表示种群大小。一个个体描述如下:

式中:m表示为量子位的数量,B表示为个体的进制数。

一种多目标NoC测试规划优化方法,即基于HQMEA的测试规划方法包含基本的HQMEA结构以及NoC规划问题的相应处理过程,其流程图如图2所示,方法具体步骤如下:

步骤1)当前代数t=0。根据IP核的数量,设定解空间的维数m,设定TAMs的个数B和旋转角△θ初值,设定NoC的拓扑结构和路由算法,设定IP核的坐标以及每对I/O对的坐标,设定是NoC通道和路由器的时延和功耗,设定种群大小n,设定最大迭代次数GenTimes。

i∈[1,m],j∈[1,B],初始种群中个体是所有状态的等概率线形叠加。即

步骤2)通过观测Q(0)产生多进制解P(0),表示t=0代。一个多进制解是一个长度为m的多进制串,通过观测的形成。观测操作如下:

观测操作得到的是确定的B进制整数。其具体操作如下:产生一个随机数r∈[0,45×B],根据r所在的位置([0,45×B])确定观测值。以B=5为例,随机产生r=138,由于φ123<r<φ1234,r落在了φ3区域内,故此时观测值为3,如图4所示。

步骤3)进行NoC中IP核的测试调度。对于每个生成的IP核到TAM分配,在没有路径冲突的情况下,调度各个IP核进行测试。

假设有m个待测IP核,B条TAMs,第t代的种群为n是种群的大小,公式(2)表示的使用量子编码的一种测试数据分配方案,也就是个体编码,量子位是个体的基因。m个量子位表示一种m个IP核分配给B条TAMs的分配方案。每个量子位有B个量子态,和B条TAMs相对应。例如:待测IP的个数m=10,TAMs的条数B=3,通过观察量子编码的个体,得到长度为10的3进制数“1001221021”,表示2,3,8分配给TAM0,1,4,7,10分配给TAM1,5,6,9分配给TAM2。

步骤4)计算测试时间和测试功耗,评估多进制解P(0)。

步骤5)判断迭代次数是否达到设定的最大迭代次数GenTimes:如果满足结束条件则转步骤15),如果不满足,则继续迭代,当前代数t=t+1。

步骤6)通过观测种群Q(t-1)得到状态P(t)。

步骤7)进行NoC中IP核的测试调度。对于每个生成的IP核到TAM分配,在没有路径冲突的情况下,调度各个IP核进行测试。

步骤8)计算测试时间和测试功耗,评估多进制解P(t)。

步骤9)对P(t)∪P(t-1)的所有解进行快速非支配排序。快速非支配排序能够将P(t)∪P(t-1)分为几个层次。

步骤10)计算P(t)∪P(t-1)中所有解的调和距离,并根据调和距离进行排序。调和距离排序能够将P(t)∪P(t-1)分层后的每一层进行再次排序。

QMEA中的采用拥挤距离达到均匀分布的目的,然而这种拥挤距离反映个体间疏密程度有欠缺。研究表明,相比与QMEA算法中的拥挤距离,调和平均距离(简称调和距离)评价种群个体间的疏密程度效果更好;再者,由于原先方法不考虑淘汰个体对其领域个体的拥挤距离的影响,当拥挤距离较小的个体被删除后会导致周围个体的拥挤距离变大,如果按照原先的方法操作很可能会删除拥挤距离较小的个体,达不到均匀分布的目的,而调和距离策略考虑的淘汰个体对其领域个体的拥挤距离的影响。鉴于此,本发明提出调和距离评估目标空间解的疏密程度,采用一个解的所有最邻近的个体计算。

个体j的调和距离d定义为

式中dj,k是与个体就最近邻的k个个体,k为总的个体数减1。

步骤11)在已排完序的2n个个体中选出前n个个体构成P(t)。

步骤12)把Q(t-1)分成几个组。

步骤13)采用混沌策略动态更新旋转角△θ。旋转角是影响QMEA收敛性的关键参数,增大的旋转角更有利于搜索新的区域,增强了探索能力,减小的旋转角有利于细粒度搜索,增强了发掘能力。但在传统的QMEA中旋转角△θ是一个常数,这就很容易让算法陷入局部最优。由于混沌具有随机性,遍历性,规律性和对初始条件敏感性的特点,基于混沌的函数能帮助优化算法增加多样性和避免早熟收敛。混沌映射已经成功应用到多种智能优化算法中。因此本发明把混沌映射应用到旋转角的更新中,使算法在探索能力和发掘能力间取的平衡,跳出局部最优,增强全局收敛性。

与最常用混沌映射Logistic map相比,无限折叠迭代混沌映射(Iterative chaotic map with infinite collapses,ICMIC)的Lyapunov指数比Logistic map大,混沌性更明显。本发明采用ICMIC混沌映射,其函数式如下

由于旋转角△θ的建议取值范围为[0.15,1.5],那么旋转角△θ就由以下公式更新

△θ=0.15+(1.5-0.15)/2*(chaos(t)+1) (6)

这里chaos(t)就是采用的混沌映射xn,t表示迭代次数。

步骤14)以最佳组作参考准则,利用更新操作更新Q(t-1),得到子代种群Q(t),转步骤5)。更新操作具体如下:

当执行更新操作时,如果观测值对应的概率角减小△θ,最优解对应的概率角增加△θ,还需确保更新后角度非负。可表示如下:

如果则

如果则

式中:和分别表示此前非支配解和当代非支配解的概率角。表示观测值的概率角。旋转角△θ由个体观测值和最优个体改变,大小由经验值确定。

例如某一概率角所在个体的观测个体被此个体当前非支配解的支配,并且此概率角观测值为2,中这一位为0,则将2对应的减小△θ,1对应的增大△θ,如图3所示。图4为更新操作的示意图。

步骤15)输出结果。

为了验证本发明的有效性,从国际标准ITC’02test benchmarks中选取了典型系统d695。为了比较本算法与经典的量子多目标算法的优劣,采用覆盖度量(Coverage Metric,CM)评估解的收敛性和前沿广度度量(Front Spread Metric,FSM)评估解分布多样性。对于d695,与普通的量子多目标进化算法相比,解的收敛性(CM度量)提高了约100%,解的分布多样性(FSM度量)提高了约8%。

本发明针对2D Mesh结构的NoC,重用NoC作为TAM,基于调和距离量子多目标进化算法完成IP核的测试数据分配优化,以最大限度地实施并行传输和测试,提高并行测试效率,达到测试时间和测试功耗的多目标优化的目标。

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