一种测试激励优化回归验证方法、系统及介质

文档序号:28077670发布日期:2021-12-18 01:02阅读:121来源:国知局
一种测试激励优化回归验证方法、系统及介质

1.本发明涉及计算机辅助设计领域,具体涉及一种测试激励优化回归验证方法、系统及介质,用于复杂芯片如众核处理器、高阶路由芯片设计的回归测试激励集的优化。


背景技术:

2.随着集成电路实现技术发展,系列芯片的研发升级换代更快。在芯片开发的任何阶段,只要对电路的缺陷进行修改,回归测试作为芯片验证的重要手段,在芯片设计过程中将被频繁的执行,用来确保芯片的修改不会影响芯片原有的功能和引入新的错误。巨大的测试用例集使得回归测试的运行代价非常昂贵。如何提高回归测试的效率是一个重要问题。
3.复杂芯片设计的功能回归验证集合是最复杂、最耗时间和资源的,回归测试集合包括了成千上万个功能点的测试激励,回归测试集合一般划分多类功能点测试集合,同一类功能点集合是按照功能的相似性或者部件划分的,测试过程发现的缺陷数量也多达百、千、万级别,当设计有改进或升级时,回归测试集合需要重新运行,发现是否引入新的问题,及时发现缺陷是回归测试的重点,回归验证需要通过所有功能点覆盖。因此,如何实现复杂芯片如众核处理器、高阶路由芯片敏捷设计的回归测试激励集的优化,已成为一项亟待解决的技术问题。


技术实现要素:

4.本发明要解决的技术问题:针对现有技术的上述问题,提供一种测试激励优化回归验证方法、系统及介质,本发明能够实现复杂芯片如众核处理器、高阶路由芯片设计的回归测试激励集的优化,实现缺陷检测率、功能点覆盖率的优化目标,可提高回归测试的效率。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种测试激励优化回归验证方法,包括:
7.1)针对芯片设计的回归测试集合,分别计算各个功能点集合的所有测试激励的测试激励指标集合以及各个功能点集合的功能点指标;
8.2)将各个功能点集合按照功能点指标降序;将各个功能点集合的所有测试激励按照测试激励指标集合中的测试激励指标排序;
9.3)采用预设的调度策略,从排序优化后的功能点集合中选取测试激励,生成新的测试激励序列,直至排序优化后的功能点集合为空。
10.可选地,步骤1)中的功能点指标是指功能点集合的检错率和功能点覆盖率;步骤2)中将各个功能点集合按照功能点指标降序是指按照检错率、功能点覆盖率的优先级顺序进行排序。
11.可选地,步骤1)中的测试激励指标集合包括测试激励的检错率、功能点覆盖率和近似度;步骤2)中按照测试激励指标集合中的测试激励指标排序是指依次按照检错率、功
能点覆盖率和近似度的优先级顺序进行排序。
12.可选地,步骤1)中的测试激励指标集合包括测试激励的运行时间、功能点覆盖率和近似度;步骤2)中按照测试激励指标集合中的测试激励指标排序是指依次按照运行时间、功能点覆盖率和近似度的优先级顺序进行排序。
13.可选地,功能点集合的检错率的计算函数表达式为:
[0014][0015]
上式中,e
ratec
表示功能点集合c的检错率,m为功能点集合c包括测试激励的数量,r表示测试激励i发现的设计缺陷数目,s表示回归测试集合发现的设计缺陷数目;
[0016]
测试激励的检错率的计算函数表达式为:
[0017]
e
ratei
=r/s,
[0018]
上式中,e
ratei
表示测试激励i的检错率,r表示测试激励i发现的设计缺陷数目,s表示回归测试集合发现的设计缺陷数目;
[0019]
所述测试激励的功能点覆盖率以cov[i,j]表示测试激励i对功能j的功能点覆盖率,如果测试激励i覆盖功能j则cov[i,j]取值为1,如果测试激励i不覆盖功能j则cov[i,j]取值为0;
[0020]
所述功能点集合的功能点覆盖率的计算函数表达式为:
[0021][0022]
上式中,coverc表示功能点集合c的功能点覆盖率,max表示取最大值,n为功能点数量,w
j
为第j个功能点的权重,cov[j]为第j个功能点的覆盖率,且有:
[0023]
cov[j]=|(cov[i,j]),for,i=1,2,

,m,
[0024]
上式中,|表示或运算,m为功能点集合c的测试激励数量;
[0025]
所述近似度的计算函数表达式为:
[0026][0027]
上式中,dist(i,k)表示测试激励i和测试激励k的近似度,cov[i,j]表示测试激励i是否覆盖功能j,cov[k,j]表示测试激励k是否覆盖功能j,为异或运算,n为功能点数量。
[0028]
可选地,步骤1)中的芯片设计是指实现目录cache协议的多核微处理器,所述回归测试集合的各个功能点集合的类型包括:对特定地址的cache转换操作、目录协议测试、随机cache替换、随机地址、随机访存粒度测试、随机存储类型测试、随机访存、io一致性混合测试、测试片上网络、核和l2cache、访存之间通路以及出错中断处理。
[0029]
可选地,步骤2)中的排序是指降序排序。
[0030]
可选地,步骤3)中预设的调度策略是指轮转调度。
[0031]
此外,本发明还提供一种测试激励优化回归验证系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述测试激励优化回归验证方法的步骤。
[0032]
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述测试激励优化回归验证方法的计算机程序。
[0033]
和现有技术相比,本发明具有下述优点:本发明包括针对芯片设计的回归测试集合,分别计算各个功能点集合的所有测试激励的测试激励指标集合、以及各个功能点集合
的功能点指标;将各个功能点集合按照功能点指标降序;将各个功能点集合的所有测试激励按照测试激励指标集合中的测试激励指标排序;采用预设的调度策略,从排序优化后的功能点集合中选取测试激励,生成新的测试激励序列,直至排序优化后的功能点集合为空。本发明能够实现复杂芯片如众核处理器、高阶路由芯片设计的回归测试激励集的优化,实现缺陷检测率、功能点覆盖率的优化目标,可提高回归测试的效率。本发明基于多目标优化对测试激励进行优先排序,具有很好的测试有效性,在实际工程应用中获得较好的回归测试效率。
附图说明
[0034]
图1为本发明实施例方法的基本流程示意图。
[0035]
图2为本发明实施例方法的详细流程示意图。
具体实施方式
[0036]
实施例一:
[0037]
如图1和图2所示,本实施例测试激励优化回归验证方法包括:
[0038]
1)针对芯片设计的回归测试集合,分别计算各个功能点集合的所有测试激励的测试激励指标集合以及各个功能点集合的功能点指标;
[0039]
2)将各个功能点集合按照功能点指标降序;将各个功能点集合的所有测试激励按照测试激励指标集合中的测试激励指标排序;
[0040]
3)采用预设的调度策略,从排序优化后的功能点集合中选取测试激励,生成新的测试激励序列,直至排序优化后的功能点集合为空。
[0041]
复杂芯片设计的回归测试集合包括了覆盖成千上万个功能点的测试激励,回归测试集合一般分为若干类功能点测试集合,同一个功能点集合是按照功能的相似性或者部件划分的。本实施例中,步骤1)中的功能点指标是指功能点集合的检错率和功能点覆盖率;步骤2)中将各个功能点集合按照功能点指标降序是指按照检错率、功能点覆盖率的优先级顺序进行排序。
[0042]
本实施例中,步骤1)中的测试激励指标集合包括测试激励的检错率、功能点覆盖率和近似度;步骤2)中按照测试激励指标集合中的测试激励指标排序是指依次按照检错率、功能点覆盖率和近似度的优先级顺序进行排序。
[0043]
本实施例中,功能点集合的检错率的计算函数表达式为:
[0044][0045]
上式中,e
ratec
表示功能点集合c的检错率,m为功能点集合c包括测试激励的数量,r表示测试激励i发现的设计缺陷数目,s表示回归测试集合发现的设计缺陷数目;
[0046]
测试激励的检错率的计算函数表达式为:
[0047]
e
ratei
=r/s,
[0048]
上式中,e
ratei
表示测试激励i的检错率,r表示测试激励i发现的设计缺陷数目,s表示回归测试集合发现的设计缺陷数目;芯片设计的验证过程中,记录每一个测试激励运行发现的设计缺陷,功能点集合发现设计缺陷的概率,可以应用于回归测试的预测报错,某个
功能点集合c测试激励i发现设计缺陷数目是r,回归测试集合c发现的设计缺陷总数目是s,测试激励i的检错率e_rate
i
=r/s,功能点集合c的检错率即:m是功能点集合c包括的测试激励数目。
[0049]
测试激励的功能点覆盖率以cov[i,j]表示测试激励i对功能j的功能点覆盖率,如果测试激励i覆盖功能j则cov[i,j]取值为1,如果测试激励i不覆盖功能j则cov[i,j]取值为0;可表示为:
[0050][0051]
所述功能点集合的功能点覆盖率的计算函数表达式为:
[0052][0053]
上式中,coverc表示功能点集合c的功能点覆盖率,max表示取最大值,n为功能点数量,w
j
为第j个功能点的权重,cov[j]为第j个功能点的覆盖率,且有:
[0054]
cov[j]=|(cov[i,j]),for,i=1,2,

,m,
[0055]
上式中,|表示或运算,m为功能点集合c的测试激励数量;其中,权重w
j
的值可以根据被测试的设计特征进行调整,例如:当删除或跳过某个功能点j,可以将权重w
j
的功能点权重设置为0。ieee标准推出的system verilog语言专门定义了覆盖组(coverage group)和覆盖属性(cover property)用于功能覆盖率的统计。主流的eda仿真工具也都支持这一语法结构,自动采集并生成覆盖率报告。systemverilog语言中内置直接编程接口(dpi,direct programming interface)的方法,在动态模拟验证中可以使用dpi直接编程接口把systemverilog的程序和用c/c++编写的测试用例结合起来,通过导入(import)/导出(export)的操作来实现测试用例和systemverilog的程序相互调用,也可以在c/c++的测试用例中调用systemverilog语言中的有关覆盖率的方法,实现功能覆盖组的定义和在模拟仿真过程中收集功能点的覆盖率信息。
[0056]
本实施例中,近似度的计算函数表达式为:
[0057][0058]
上式中,dist(i,k)表示测试激励i和测试激励k的近似度,cov[i,j]表示测试激励i是否覆盖功能j,cov[k,j]表示测试激励k是否覆盖功能j,为异或运算,n为功能点数量。
[0059]
本实施例中,步骤2)中的排序是指降序排序。步骤2)包括:其一,所有类型的功能点集合的优先级排序。功能点集合的优先级排序规则,是按照每类功能点集合的检错率的大小排序,如果检错率相同,则按照功能点集合的功能点覆盖率的大小排序。其二,功能点集合内部的测试激励排序,测试激励按照检错率的大小排序,如果测试激励的检错率为零,则是按照功能点覆盖率最大值优先,如果几个测试激励检错率和功能点覆盖率相同,则随机挑选一个测试激励,再后续排序的规则是按功能相似度越小的越优先排列。
[0060]
本实施例中,步骤3)中预设的调度策略是指轮转调度,即采用轮转的方式从排好序的功能点集合依次选择测试激励,生成优化的回归测试序列:按照轮转的方式从排好序的功能点集合选择测试激励,加入优化的测试序列,某类功能点集合为空,则从下一个功能点集合选择测试激励,直到所有测试激励抽取完毕,得到最终的回归测试序列。回归测试在
芯片设计的验证中非常重要,回归测试首要保证最大化测试用例集的错误检测速率,使得在持续集成开发环境中,优先执行错误探测能力强的测试用例,确保错误快速得到反馈,从而提高开发人员的效率。同时,保证功能的正确完备、安全,保证电路的某些变动如设计代码、配置文件或电路的器件结构等不会对原有功能正确的电路造成影响,引入新的错误。
[0061]
本实施例中,步骤1)中的芯片设计是指实现目录cache协议的多核微处理器,所述回归测试集合的各个功能点集合的类型包括:对特定地址的cache转换操作、目录协议测试、随机cache替换、随机地址、随机访存粒度测试、随机存储类型测试、随机访存、io一致性混合测试、测试片上网络、核和l2cache、访存之间通路以及出错中断处理。复杂芯片设计的回归测试集合包括了覆盖成千上万个功能点的测试激励,回归测试集合一般分为若干类功能点测试集合,同一个功能点集合是按照功能的相似性或者部件划分的。举例说明,实现目录cache协议的目录部件是多核微处理器的最关键部件之一,回归验证也是最复杂、最耗时间和资源的,回归测试集合包括了覆盖两千个功能点的测试激励,回归测试集合可以分为六类功能点测试集合:对特定地址的cache转换操作、目录协议测试、随机cache替换、随机地址、随机访存粒度测试、随机存储类型测试、随机访存、io一致性混合测试、测试片上网络、核和l2cache、访存之间通路、出错中断处理,同一个功能点集合是按照功能的相似性划分的,测试发现的错误数量三百多个,当设计有改进或升级时,回归测试集合需要重新运行,发现是否引入新的问题,及时发现缺陷是回归测试的重点,回归验证需要通过所有功能点覆盖。目录协议验证周期耗时较长,研究如何高效地提高回归测试的效率具有重要的理论意义和重大的实用价值。
[0062]
综上所述,本实施例测试激励优化回归验证方法在芯片设计的验证过程中,计算每一个测试激励收集功能点的覆盖信息,记录每一个测试激励运行发现的设计缺陷。根据测试激励的覆盖率,统计每一类型功能点集合的功能点覆盖率;计算所有功能点集合包括的测试激励的相似度;统计每一类型功能点集合的检错率;所有类型的功能点集合的优先级排序,按照每类功能点集合的检错率的大小排序;每个功能点集合内部的测试激励排序,按照每个测试激励的检错率排序,如果测试激励检错率为零,则是按照测试激励的功能覆盖率最大值优先,如果几个测试激励检错率和功能覆盖率相同,则随机挑选一个测试激励,再后续排序的规则是按功能相似度越小的越优先排列;本发明能够实现复杂芯片如众核处理器、高阶路由芯片设计的回归测试激励集的优化,实现缺陷检测率、功能点覆盖率的优化目标,可提高回归测试的效率。本发明基于多目标优化对测试激励进行优先排序,具有很好的测试有效性,在实际工程应用中获得较好的回归测试效率。
[0063]
此外,本实施例还提供一种测试激励优化回归验证系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述测试激励优化回归验证方法的步骤。
[0064]
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述测试激励优化回归验证方法的计算机程序。
[0065]
实施例二:
[0066]
本实施例与实施例一基本相同,其主要不同点为:将测试激励指标集合中的指标检错率替换为运行时间。基于运行时间、功能覆盖率为优化目标对测试用例优先级排序,可应用于对于时间敏感的回归测试,如在有限时间实现回归验证,排序的测试激励序列删除优先级低的测试激励。
[0067]
本实施例中,步骤1)中的测试激励指标集合包括测试激励的运行时间、功能点覆盖率和近似度;步骤2)中按照测试激励指标集合中的测试激励指标排序是指依次按照运行时间、功能点覆盖率和近似度的优先级顺序进行排序。按照运行时间进行排序是指功能点集合c的运行时间占比率排序。某个功能点集合c测试激励i运行时间是r,回归测试集合c运行总时间是s,测试激励i的运行时间占比率r_rate
i
=r/s,功能点集合c的运行时间占比率的计算函数表达式为:
[0068]
其中,m是功能点集合c包括的测试激励数目。
[0069]
此外,本实施例还提供一种测试激励优化回归验证系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述测试激励优化回归验证方法的步骤。
[0070]
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述测试激励优化回归验证方法的计算机程序。
[0071]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0072]
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1