一种用于超大规模芯片仿真的自适应随机验证方法_2

文档序号:8361329阅读:来源:国知局
定的激励组。
[0019]所述生成多组随机激励序列的详细过程为:属性向量中的各个值根据可能的取值范围进行随机,生成多个新的属性向量,并按照新的属性向量生成相对应的激励组。
[0020]所述覆盖率包括代码覆盖率、功能覆盖率或者关键路径覆盖率等不同覆盖率的一种或多种,用于评判验证的充分程度。
[0021]所述覆盖率比对是指将多组随机激励序列的覆盖率结果分别与该多组随机激励序列仿真前的总的覆盖率进行比对,得出不同组激励对于当前覆盖率增长的贡献,从而作为评价该组激励的效率的标准。在明确定义了所需覆盖率的前提下,对覆盖率的统计和比对工作,均可以通过编写脚本等方式自动化完成。
[0022]对属性向量的值进行加权的随机是指加大高效率的激励组的属性向量值出现的概率,减小低效率的属性向量值的概率,随机生成多组新的属性向量,并按照新的属性向量生成想对应的激励组,进行下一轮的仿真验证。
[0023]所述覆盖率增长停滞,是指需要进行一定程度的分析,如果只剩少量用随机激励难以覆盖的待覆盖项,可分析场景并用定向测试完成覆盖。如果还有比较多的覆盖项,可重设属性向量重新进行上述的迭代的自适应随机测试。
[0024]实施例:
假设待验证目标需要覆盖100条内容,每组激励可以用属性向量{p0,pl,p2}来描述,PO取值范围为{O, 1},Pl取值范围为{10,11,12,13},p2取值范围为{20,21,22}。
[0025]为了方便说明,假设只需要加入三组激励,通过对PO,pl,p2在各自取值范围内的没有加权的随机(所有值的随机出现概率相同),得到三组属性向量v0 = {0,12,22},vl ={O, 11,20},v2 = {I, 10,22}。通过仿真,统计出在待覆盖的100条内容vO覆盖了 4条,vl覆盖了 3条,v2覆盖I条,合并掉相同的条目,总共覆盖了 5条。通过对于三组向量效率的排序,下一轮验证的随机会采取尽量靠近vO,远离v2的策略,具体来说,就是对属性值的随机进行加权,对PO的随机提高取O的概率,降低取I的概率,对pi的随机提高取12的概率,降低取10的概率,对P2的随机概率不变。用于下一轮的待覆盖内容调整为剩下的95条。
[0026]如此一轮一轮地迭代,如果当覆盖条数剩余50条就不再增加,去掉之前所有的加权操作,重新随机属性向量。如果当覆盖条数只剩5条时,则可以考虑用定向测试的方式继续进行验证,直到实现完全覆盖。
[0027]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的一种用于超大规模芯片仿真的自适应随机验证方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
1.一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,其具体实现过程为: 首先定义用于表示每组激励的属性向量,以及对应每个值的取值范围; 随机生成若干属性向量,并以这些属性向量作为随机激励生成的参数,生成多组具有对应特征的随机激励序列; 将多组随机激励序列进行仿真验证,分别统计仿真验证中对验证目标的覆盖率; 对每组随机激励序列的覆盖率结果与之前总的覆盖率结果进行比对,以此作为评价这组随机激励的效率的标准; 结合多组随机激励序列的效率结果,将各个属性向量进行排序,通过排序后的结果,对属性向量的值进行加权的随机,生成新的属性向量; 反复迭代,直到验证目标充分覆盖或者覆盖率增长出现停滞,结束验证过程。
2.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述用属性向量来表示激励是指对于激励组的特征用量化的方式进行描述,这里的激励组特征包括激励个数、激励间隔时间、激励类型。
3.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述生成多组随机激励序列的详细过程为:属性向量中的各个值根据可能的取值范围进行随机,生成多个新的属性向量,并按照新的属性向量生成相对应的激励组。
4.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述覆盖率包括代码覆盖率、功能覆盖率和/或关键路径覆盖率。
5.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述覆盖率比对是指将多组随机激励序列的覆盖率结果分别与该多组随机激励序列仿真前的总的覆盖率进行比对,得出不同组激励对于当前覆盖率增长的贡献,从而作为评价该组激励的效率的标准。
6.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,对属性向量的值进行加权的随机是指加大高效率的激励组的属性向量值出现的概率,减小低效率的属性向量值的概率,随机生成多组新的属性向量,并按照新的属性向量生成想对应的激励组,进行下一轮的仿真验证。
【专利摘要】本发明公开了一种用于超大规模芯片仿真的自适应随机验证方法,其具体实现过程为:定义用于表示每组激励的属性向量;随机生成若干属性向量,并以这些属性向量作为随机激励生成的参数,生成多组具有对应特征的随机激励序列;将多组随机激励序列进行仿真验证,统计仿真验证中对验证目标的覆盖率;对随机激励序列的覆盖率进行比对;结合多组随机激励序列的效率结果,将各个属性向量进行排序,通过排序后的结果,对属性向量的值进行加权的随机,生成新的属性向量;反复迭代,直到验证结束。该一种用于超大规模芯片仿真的自适应随机验证方法与现有技术相比,在提高了随机验证总体的效率的同时,减少了验证人员需要进行的工作,更有效地利用了资源。
【IPC分类】G06F11-263
【公开号】CN104679634
【申请号】CN201510099150
【发明人】李拓, 童元满, 李仁刚
【申请人】浪潮电子信息产业股份有限公司
【公开日】2015年6月3日
【申请日】2015年3月6日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1