一种用于芯片仿真的遍历型用例验证方法、系统及电子设备技术方案

技术编号:34783236 阅读:21 留言:0更新日期:2022-09-03 19:41
本发明专利技术公开了一种用于芯片仿真的遍历型用例验证方法、系统及电子设备,该方法包括:基于待验证块的数量产生控制序列以根据控制序列控制待验证块的用例执行;生成用例测试矩阵,根据二维数据结构对每个待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应置1,当控制序列执行完成时形成验证矩阵;根据验证矩阵生成二维数据结构中的控制字索引的子集,计算子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。的元素的置信度减1。的元素的置信度减1。

【技术实现步骤摘要】
一种用于芯片仿真的遍历型用例验证方法、系统及电子设备


[0001]本专利技术属于芯片验证领域,具体涉及一种用于芯片仿真的遍历型用例验证方法、系统及电子设备。

技术介绍

[0002]芯片验证一直是随着芯片设计不断发展的一个行业,功能验证在芯片的整体设计周期中占据很多时间。
[0003]在进行功能验证时,需要通过预先生成的测试用例进行验证。直接测试用例和随机测试用例是目前主流的两种测试用例,对于有穷个数的验证目标集合,其数量值的大小如果用直接测试用例覆盖会造成大量的用例集合的产生,增加用例的维护成本。若用随机测试用例覆盖将需要较多的用例执行次数,才能到达一定意思的100%覆盖率。计算一个极端的例子,如果使用随机测试用例覆盖2种验证目标,对于一共执行该用例x次,计算得其中能够实现100%功能覆盖的概率值为1

1/2
(x

2)
,其中x≥2。可见随着验证目标数值增大,用例需要执行的次数将急剧增加且要达到100%的功能覆盖率会慢慢变得越来越艰难。
[0004]随着芯片规模的增加片上系统涵盖的模块和子系统越来越多,无论是从用例的选择还是功能覆盖率的角度均进一步加剧的验证过程的复杂化。

技术实现思路

[0005]为了解决现有技术中存在的上述问题,本专利技术提供了一种用于芯片仿真的遍历型用例验证方法、系统及电子设备。本专利技术要解决的技术问题通过以下技术方案实现:
[0006]一种用于芯片仿真的遍历型用例验证方法,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元,该方法包括步骤:
[0007]S1、基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
[0008]S2、生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
[0009]S3、根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;
[0010]S4、将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。
[0011]在一个具体实施方式中,根据所述二维数据结构对每个所述待验证块依次执行相应的用例生成用例测试矩阵,还包括:
[0012]S21、控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
[0013]S22、当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
[0014]S23、将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则继续执行S22,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。
[0015]在一个具体实施方式中,若所有待验证块序列号均删除,则将该二维数据结构中的所有控制字索引在控制字集合中的元素的置信度均加1。
[0016]在一个具体实施方式中,根据置信度从控制字集合中抽取元素包括:
[0017]使置信度较高的元素被抽取的优先级大于置信度较低的元素被抽取的优先级。
[0018]在一个具体实施方式中,所述置信度范围为0≤K≤5,置信度阈值为1,其中,K为整数;相应的,依次从置信度由大到小的顺序进行抽取,使置信度为0的元素不被抽取,且在信度较高的元素数量足够多时,使置信度较高的元素被抽取的数量大于置信度较低的元素被抽取的数量。
[0019]在一个具体实施方式中,所述控制字集合中元素对应的用例包括直接测试用例数据和随机测试用例数据,所述直接测试用例数据的置信度初始化值为5,所述随机测试用例数据的置信度初始化值为3。
[0020]在一个具体实施方式中,步骤S1之前还包括:将置信度低于置信度阈值的元素从所述控制字集合中删除,并用相应的直接测试用例数据和随机测试用例数据进行补充。
[0021]本专利技术同时提供一种用于芯片仿真的遍历型用例验证系统,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元;
[0022]该系统包括:
[0023]用例序列产生模块,用于基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
[0024]验证矩阵生成模块,用于生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
[0025]验证结果输出模块,用于根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例
阈值时,输出第一结果;
[0026]置信度更新模块,用于将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。
[0027]在一个具体实施方式中,验证矩阵生成模块包括:
[0028]用例验证单元,用于控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
[0029]置信度控制单元,用于当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
[0030]验证矩阵生成单元,将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则迭代至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于芯片仿真的遍历型用例验证方法,其特征在于,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元,该方法包括步骤:S1、基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;S2、生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;S3、根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;S4、将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。2.根据权利要求1所述的用于芯片仿真的遍历型用例验证方法,其特征在于,根据所述二维数据结构对每个所述待验证块依次执行相应的用例生成用例测试矩阵,还包括:S21、控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;S22、当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;S23、将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则继续执行S22,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。3.根据权利要求1所述的用于芯片仿真的遍历型用例验证方法,其特征在于,若所有待验证块序列号均删除,则将该二维数据结构中的所有控制字索引在控制字集合中的元素的置信度均加1。4.根据权利要求1所述的用于芯片仿真的遍历型用例验证方法,其特征在于,根据置信度从控制字集合中抽取元素包括:使置信度较高的元素被抽取的优先级大于置信度较低的元素被抽取的优先级。5.根据权利要求4所述的用于芯片仿真的遍历型用例验证方法,其特征在于,所述置信度范围为0≤K≤5,置信度阈值为1,其中,K为整数;相应的,依次从置信度由大到小的顺序进行抽取,使置信度为0的元素不被抽取,且在信度较高的元素数量足够多时,使置信度较高的元素被抽取的数量大于置信度较低的元素被抽取的数量。6.根据权利要求5所述的用于芯片仿真的遍历型用例验证...

【专利技术属性】
技术研发人员:梅张雄郭涛
申请(专利权)人:北京联盛德微电子有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1