随机验证方法和系统的制作方法

文档序号:6434446阅读:218来源:国知局
专利名称:随机验证方法和系统的制作方法
技术领域
本发明涉及集成电路设计领域,具体涉及芯片的功能验证中提高验证效率的方法。
背景技术
随着集成电路设计的复杂度不断提高,功能验证正日渐成为集成电路设计面临的重要挑战。纳米工艺使得单芯片中晶体管密度达到每平方厘米包含百亿至千亿,对于验证工程师来说,这一数字意味着工作难度的进一步加大。事实上,随着集成电路设计日趋复杂,功能验证已经成为集成电路设计的瓶颈。随机测试生成技术是当今大规模集成电路仿真验证流程中的重要支撑技术。在集成电路验证领域,特别是微处理器功能验证领域,它具有重要地位。但是,大量随机产生的测试向量也会造成验证功能点的重复覆盖,并且测试向量的无谓重复只会延长功能验证的收敛时间,降低验证效率。因此,合理地精简随机生成的测试向量是减少重复测试向量、加速功能验证收敛的重要目标。

发明内容
本发明提供一种随机验证方法和系统,要解决的技术问题是如何提高随机验证的效率。为解决上述技术问题,本发明提供了如下技术方案一种随机验证方法,包括在使用随机产生的测试激励验证测试对象的功能点过程中,记录在每个测试激励在运行前后所述测试对象的功能点的覆盖率,将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中;基于朴素贝叶斯模型,按照测试激励的属性,对所述有效激励信息中的测试激励进行分类,得到属性的分类模型;采用聚类分析方法得到分类模型中各类属性对提高所述测试对象的功能点覆盖率的概率信息;根据所述概率关系,选择所述分类模型中的至少一类属性作为随机生成测试激励的约束条件;根据新确定的约束条件随机生成新的测试激励。优选的,所述方法还具有如下特点所述将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中之后,还包括获取有效测试中各测试激励对象引发的状态转移操作信息;如果有效激励信息中有至少两个测试激励的状态转移操作信息相同,则仅保留其中一条测试激励在有效激励信息中,得到简化后的有效激励信息,将该简化后的有效测试激励作为待分类的有效激励信息。
优选的,所述方法还具有如下特点所述状态转移操作信息包括引发该测试结果的输入消息、接收该输入消息时测试对象所在系统中的寄存器取值、处理该输入消息后的寄存器取值以及系统处理该输入消息后所产生的输出消息。优选的,所述方法还具有如下特点所述对所述有效激励信息中的测试激励进行分类,得到属性的分类模型,包括将引发所述有效测试信息中状态转移操作的全部测试激励划分成M个部分;基于朴素贝叶斯模型对第j部分中的测试激励进行分类,得到第j部分的分类模型;判断第j + Ι部分中的测试激励是否第j部分的分类模型;采用第j + Ι部分中不属于第j部分的分类模型的测试激励对第j部分的分类模型进行更新,得到第j+Ι部分的分类模型;直到得到第M部分的分类模型,将第M部分的分类模型作为所需的测试激励的分类模型;其中j为大于或等于1的整数,M为大于或等于2的整数。优选的,所述方法还具有如下特点在生成测试激励过程中,如果测试激励中访存事物处理过程中会产生至少两条消息,则测试激励中访问事物的延时属性是一取值范围, 该取值范围是传输该访问事物的消息的信道的延时信息。一种随机验证系统,包括保存装置,用于在使用随机产生的测试激励验证测试对象的功能点过程中,记录在每个测试激励在运行前后所述测试对象的功能点的覆盖率,将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中;分类装置,用于基于朴素贝叶斯模型,按照测试激励的属性,对所述有效激励信息中的测试激励进行分类,得到属性的分类模型;第一处理装置,用于采用聚类分析方法得到分类模型中各类属性对提高所述测试对象的功能点覆盖率的概率信息;确定装置,用于根据所述概率关系,选择所述分类模型中的至少一类属性作为随机生成测试激励的约束条件;生成装置,用于根据新确定的约束条件随机生成新的测试激励。优选的,所述系统还具有如下特点所述系统还包括获取装置,用于获取有效测试中各测试激励对象引发的状态转移操作信息;第二处理装置,用于如果有效激励信息中有至少两个测试激励的状态转移操作信息相同,则仅保留其中一条测试激励在有效激励信息中,得到简化后的有效激励信息,将该简化后的有效测试激励作为待分类的有效激励信息。优选的,所述系统还具有如下特点所述获取装置所获取的状态转移操作信息包括引发该测试结果的输入消息、接收该输入消息时测试对象所在系统中的寄存器取值、处理该输入消息后的寄存器取值以及系统处理该输入消息后所产生的输出消息。优选的,所述系统还具有如下特点所述分类装置包括划分模块,用于将引发所述有效测试信息中状态转移操作的全部测试激励划分成 M个部分;
5
分类模块,用于基于朴素贝叶斯模型对第j部分中的测试激励进行分类,得到第j 部分的分类模型;判断模块,用于判断第j + Ι部分中的测试激励是否第j部分的分类模型;更新模块,用于采用第j + Ι部分中不属于第j部分的分类模型的测试激励对第j 部分的分类模型进行更新,得到第j+Ι部分的分类模型;直到得到第M部分的分类模型,将第M部分的分类模型作为所需的测试激励的分类模型;其中j为大于或等于1的整数,M为大于或等于2的整数。优选的,所述方法还具有如下特点所述生成装置在生成测试激励过程中,如果测试激励中访存事物处理过程中会产生至少两条消息,则测试激励中访问事物的延时属性是一取值范围,该取值范围是传输该访问事物的消息的信道的延时信息。与现有技术相比,本发明根据验证结果,得出了一套与其比较符合的分类模型以及对应的识别体系,在没有过多地增加系统开销的情况下实现了对随机验证系统的优化, 以及随机验证效率的提升,在实际的验证实验中也能观察到该结论。这也决定了本发明具有很高的实际价值和技术研究价值。


图1为本发明提供的一种随机验证方法实施例的流程示意图;图2为本发明提供的一种随机验证系统实施例的结构示意图;图3为图2所示系统实施例中分类装置202的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。对于覆盖率驱动的随机验证来说,最大的问题在于随机产生的大量激励中必然会包含大量的重复或者是无效的激励,这样带来的问题是会极大地影响随机验证的效率,表现在覆盖率之上就是随着输入随机激励的数量越来越多,覆盖率的增长会越来越慢,甚至趋近于停滞。尤其在大规模的系统验证中,由于需要覆盖的功能点数量庞大,随机验证的规模和开销将会无法控制。因此,对于覆盖率驱动的随机验证而言,其缺陷或者说需要优化的方面就在于需要在随机产生的激励加入约束使得验证收敛速度加快。而加约束的算法也就决定了验证的好坏和验证效率的高低,在这个方面行业内已经有了很多的研究,包括一些基于形式化的验证方法、基于演化算法的验证方法、基于机器学习的验证方法等等,而在实际使用中针对不同的验证对象不同的验证方法的效果也可能会有很大的差别。图1为本发明实施例提供的随机验证方法实施例的结构示意图。图1所示方法实施,包括步骤101、在使用随机产生的测试激励验证测试对象的功能点过程中,记录在每个测试激励在运行前后所述测试对象的功能点的覆盖率,将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中;其中某一测试激励如果能引起覆盖率发生变化,则表示该测试激励为有效的测试激励。步骤102、基于朴素贝叶斯模型,按照测试激励的属性,对所述有效激励信息中的测试激励进行分类,得到属性的分类模型;对于相关性低的测试用例,采用朴素贝叶斯模型的的特点是有着坚实的数学基础,以及稳定的分类效率,同时,所需估计的参数很少,对缺失数据不太敏感,算法也比较简步骤103、采用聚类分析方法得到分类模型中各类属性对提高所述测试对象的功能点覆盖率的概率信息;具体来说,就是分析某一类属性能使覆盖率增加的可能性。步骤104、根据所述概率关系,选择所述分类模型中的至少一类属性作为随机生成测试激励的约束条件;具体的,如果某一类属性所对应的概率信息大于某一阈值,则可以后续生成的测试激励中增加该类属性,作为一约束条件。进一步的,该可以控制该属性在后续生成的测试激励中所出现的概率;举个最简单的例子,假如一个属性提高覆盖率的概率是60%,那随机中约束对应的该属性出现概率就为60%。步骤105、根据新确定的约束条件随机生成新的测试激励。通过增加约束条件,可以新生成的随机测试激励可以更高效率的覆盖功能点。可选的,在上述步骤101之后还可以包括如下步骤步骤A、获取有效测试中各测试激励对象引发的状态转移操作信息;其中,所述状态转移操作信息包括引发该测试结果的输入消息、接收该输入消息时测试对象所在系统中的寄存器取值、处理该输入消息后的寄存器取值以及系统处理该输入消息后所产生的输出消息。以大规模系统下的高速缓冲存储器(Cache) —致性协议验证进行说明,对协议条目的覆盖是本次验证的基础,因此对协议条目采用统一、规范并利于覆盖率统计的描述方式也是搭建验证环境的基础。验证中采用的协议基本描述方式是协议表,该协议表由若干行构成,每行代表了芯片的一个状态转换操作,包含了当前状态和下一状态两部分。其中当前状态包括引发该协议表项的输入消息和当前的系统寄存器取值;下一状态包括收到消息后各寄存器的新的取值和一条或者多条输出消息。具体参见下表
权利要求
1.一种随机验证方法,其特征在于,包括在使用随机产生的测试激励验证测试对象的功能点过程中,记录在每个测试激励在运行前后所述测试对象的功能点的覆盖率,将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中;基于朴素贝叶斯模型,按照测试激励的属性,对所述有效激励信息中的测试激励进行分类,得到属性的分类模型;采用聚类分析方法得到分类模型中各类属性对提高所述测试对象的功能点覆盖率的概率信息;根据所述概率关系,选择所述分类模型中的至少一类属性作为随机生成测试激励的约束条件;根据新确定的约束条件随机生成新的测试激励。
2.根据权利要求1所述的方法,其特征在于,所述将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中之后,还包括获取有效测试中各测试激励对象引发的状态转移操作信息;如果有效激励信息中有至少两个测试激励的状态转移操作信息相同,则仅保留其中一条测试激励在有效激励信息中,得到简化后的有效激励信息,将该简化后的有效测试激励作为待分类的有效激励信息。
3.根据权利要求2所述的方法,其特征在于,所述状态转移操作信息包括引发该测试结果的输入消息、接收该输入消息时测试对象所在系统中的寄存器取值、处理该输入消息后的寄存器取值以及系统处理该输入消息后所产生的输出消息。
4.根据权利要求1所述的方法,其特征在于,所述对所述有效激励信息中的测试激励进行分类,得到属性的分类模型,包括将引发所述有效测试信息中状态转移操作的全部测试激励划分成M个部分;基于朴素贝叶斯模型对第j部分中的测试激励进行分类,得到第j部分的分类模型;判断第j+Ι部分中的测试激励是否第j部分的分类模型;采用第j+Ι部分中不属于第j部分的分类模型的测试激励对第j部分的分类模型进行更新,得到第j+Ι部分的分类模型;直到得到第M部分的分类模型,将第M部分的分类模型作为所需的测试激励的分类模型;其中j为大于或等于1的整数,M为大于或等于2的整数。
5.根据权利要求1所述的方法,其特征在于,在生成测试激励过程中,如果测试激励中访存事物处理过程中会产生至少两条消息,则测试激励中访问事物的延时属性是一取值范围,该取值范围是传输该访问事物的消息的信道的延时信息。
6.一种随机验证系统,其特征在于,包括保存装置,用于在使用随机产生的测试激励验证测试对象的功能点过程中,记录在每个测试激励在运行前后所述测试对象的功能点的覆盖率,将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中;分类装置,用于基于朴素贝叶斯模型,按照测试激励的属性,对所述有效激励信息中的测试激励进行分类,得到属性的分类模型;第一处理装置,用于采用聚类分析方法得到分类模型中各类属性对提高所述测试对象的功能点覆盖率的概率信息;确定装置,用于根据所述概率关系,选择所述分类模型中的至少一类属性作为随机生成测试激励的约束条件;生成装置,用于根据新确定的约束条件随机生成新的测试激励。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括获取装置,用于获取有效测试中各测试激励对象引发的状态转移操作信息;第二处理装置,用于如果有效激励信息中有至少两个测试激励的状态转移操作信息相同,则仅保留其中一条测试激励在有效激励信息中,得到简化后的有效激励信息,将该简化后的有效测试激励作为待分类的有效激励信息。
8.根据权利要求7所述的系统,其特征在于,所述获取装置所获取的状态转移操作信息包括引发该测试结果的输入消息、接收该输入消息时测试对象所在系统中的寄存器取值、处理该输入消息后的寄存器取值以及系统处理该输入消息后所产生的输出消息。
9.根据权利要求6所述的系统,其特征在于,所述分类装置包括划分模块,用于将引发所述有效测试信息中状态转移操作的全部测试激励划分成M个部分;分类模块,用于基于朴素贝叶斯模型对第j部分中的测试激励进行分类,得到第j部分的分类模型;判断模块,用于判断第j+Ι部分中的测试激励是否第j部分的分类模型;更新模块,用于采用第j+Ι部分中不属于第j部分的分类模型的测试激励对第j部分的分类模型进行更新,得到第j+Ι部分的分类模型;直到得到第M部分的分类模型,将第M 部分的分类模型作为所需的测试激励的分类模型;其中j为大于或等于1的整数,M为大于或等于2的整数。
10.根据权利要求6所述的系统,其特征在于,所述生成装置在生成测试激励过程中, 如果测试激励中访存事物处理过程中会产生至少两条消息,则测试激励中访问事物的延时属性是一取值范围,该取值范围是传输该访问事物的消息的信道的延时信息。
全文摘要
本发明提供一种随机验证方法和系统;所述方法,包括在使用随机产生的测试激励验证测试对象的功能点过程中,记录在每个测试激励在运行前后所述测试对象的功能点的覆盖率,将使得覆盖率发生变化的测试激励保存到预先设置的有效激励信息中;基于朴素贝叶斯模型,按照测试激励的属性,对所述有效激励信息中的测试激励进行分类,得到属性的分类模型;采用聚类分析方法得到分类模型中各类属性对提高所述测试对象的功能点覆盖率的概率信息;根据所述概率关系,选择所述分类模型中的至少一类属性作为随机生成测试激励的约束条件;根据新确定的约束条件随机生成新的测试激励。
文档编号G06F17/50GK102436521SQ201110294369
公开日2012年5月2日 申请日期2011年9月27日 优先权日2011年9月27日
发明者李拓 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1