CN104679634A - 一种用于超大规模芯片仿真的自适应随机验证方法 - Google Patents
一种用于超大规模芯片仿真的自适应随机验证方法 Download PDFInfo
- Publication number
- CN104679634A CN104679634A CN201510099150.7A CN201510099150A CN104679634A CN 104679634 A CN104679634 A CN 104679634A CN 201510099150 A CN201510099150 A CN 201510099150A CN 104679634 A CN104679634 A CN 104679634A
- Authority
- CN
- China
- Prior art keywords
- excitation
- attribute vector
- coverage rate
- self
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012795 verification Methods 0.000 title claims abstract description 24
- 238000004088 simulation Methods 0.000 title claims abstract description 8
- 230000005284 excitation Effects 0.000 claims abstract description 69
- 239000013598 vector Substances 0.000 claims abstract description 59
- 238000005728 strengthening Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 description 11
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种用于超大规模芯片仿真的自适应随机验证方法,其具体实现过程为:定义用于表示每组激励的属性向量;随机生成若干属性向量,并以这些属性向量作为随机激励生成的参数,生成多组具有对应特征的随机激励序列;将多组随机激励序列进行仿真验证,统计仿真验证中对验证目标的覆盖率;对随机激励序列的覆盖率进行比对;结合多组随机激励序列的效率结果,将各个属性向量进行排序,通过排序后的结果,对属性向量的值进行加权的随机,生成新的属性向量;反复迭代,直到验证结束。该一种用于超大规模芯片仿真的自适应随机验证方法与现有技术相比,在提高了随机验证总体的效率的同时,减少了验证人员需要进行的工作,更有效地利用了资源。
Description
技术领域
本发明涉及计算机芯片技术领域,具体地说是一种实用性强、用于超大规模芯片仿真的自适应随机验证方法。
背景技术
随着服务器应用领域的不断发展,高端服务器的应用需求已经进入了一个重要阶段。复杂的体系结构实现支持高端服务器系统实现高性能指标、高安全性、高可用性、高可靠性等特点。这就需要网络控制类芯片控制多路处理器系统,使系统内部报文传输达到高效可靠、安全稳定。而对于该类控制芯片构建的多芯片系统的仿真验证来说,采用随机验证的方式必不可少,而随机的策略的选择和随着验证过程适当调整决定了随机验证的效率。
传统上,对于随机策略的选择,都是通过验证人员对于每次仿真的结果进行分析,人工地对随机策略进行取舍和调整,或者干脆直接盲目地选择多种甚至全部的随机策略进行轮流尝试。这两种做法都存在平均效率低下的问题,特别是在随着待验证系统变得庞大,待验证目标变得复杂的同时,对仿真所需的人力和计算资源的要求都会呈几何级数爆炸性增长。
基于此,现提供一种用于超大规模芯片仿真的自适应随机验证方法,将激励按组进行统一的参数化,参数的选择实际上就代表了随机策略的选择和调整,以验证目标规定的覆盖率作为评判标准,自动生成下一轮随机验证的随机策略,在提高了随机验证总体的效率的同时,减少了验证人员需要进行的工作,更有效地利用了资源。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、用于超大规模芯片仿真的自适应随机验证方法。
一种用于超大规模芯片仿真的自适应随机验证方法,其具体实现过程为:
首先定义用于表示每组激励的属性向量,以及对应每个值的取值范围;
随机生成若干属性向量,并以这些属性向量作为随机激励生成的参数,生成多组具有对应特征的随机激励序列;
将多组随机激励序列进行仿真验证,分别统计仿真验证中对验证目标的覆盖率;
对每组随机激励序列的覆盖率结果与之前总的覆盖率结果进行比对,以此作为评价这组随机激励的效率的标准;
结合多组随机激励序列的效率结果,将各个属性向量进行排序,通过排序后的结果,对属性向量的值进行加权的随机,生成新的属性向量;
反复迭代,直到验证目标充分覆盖或者覆盖率增长出现停滞,结束验证过程。
所述用属性向量来表示激励是指对于激励组的特征用量化的方式进行描述,这里的激励组特征包括激励个数、激励间隔时间、激励类型。
所述生成多组随机激励序列的详细过程为:属性向量中的各个值根据可能的取值范围进行随机,生成多个新的属性向量,并按照新的属性向量生成相对应的激励组。
所述覆盖率包括代码覆盖率、功能覆盖率和/或关键路径覆盖率。
所述覆盖率比对是指将多组随机激励序列的覆盖率结果分别与该多组随机激励序列仿真前的总的覆盖率进行比对,得出不同组激励对于当前覆盖率增长的贡献,从而作为评价该组激励的效率的标准。
对属性向量的值进行加权的随机是指加大高效率的激励组的属性向量值出现的概率,减小低效率的属性向量值的概率,随机生成多组新的属性向量,并按照新的属性向量生成想对应的激励组,进行下一轮的仿真验证。
本发明的一种用于超大规模芯片仿真的自适应随机验证方法,具有以下优点:
本发明提出的一种用于超大规模芯片仿真的自适应随机验证方法,用统一化的参数表示激励,参数的选择实际上就代表了随机策略的选择和调整,以验证目标规定的覆盖率作为评判标准,自动生成下一轮随机验证的随机策略;以上过程,包括对覆盖率的统计和记录比对,都可以尽可能地实现自动化,这样,在提高了随机验证总体的效率,减少了对计算资源的浪费的同时,减少了验证人员需要进行的工作,更有效地利用了人力资源,实用性强,易于推广。
附图说明
附图1为本发明的实现流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明考虑到对于超大规模芯片仿真验证的需求,采用自适应选择随机策略的方式进行随机验证。具体做法为在随机验证过程中,以不同的属性向量作为随机激励生成的参数,生成多组具有对应特征的随机激励序列。通过对每组随机激励序列的覆盖率结果与之前总的覆盖率结果进行比对,将各个属性向量进行排序,通过排序后的结果,对属性的值进行加权的随机,生成新的属性向量作为随机激励的参数。这样反复迭代,直到验证目标充分覆盖或者覆盖率增长出现停滞。
现提供一种用于超大规模芯片仿真的自适应随机验证方法,该方法中,考虑到在超大规模的芯片系统验证中对随机验证效率的要求,在随机验证过程中,基于对代码中覆盖率的统计和分析,自动调整随机激励生成策略,从而提高随机验证在超大规模芯片仿真中的效率。
如附图1所示,该方法的具体实现过程为:
首先定义用于表示每组激励的属性向量,以及对应每个值的取值范围;
随机生成若干属性向量,并以这些属性向量作为随机激励生成的参数,生成多组具有对应特征的随机激励序列;
将多组随机激励序列进行仿真验证,分别统计仿真验证中对验证目标的覆盖率;
对每组随机激励序列的覆盖率结果与之前总的覆盖率结果进行比对,以此作为评价这组随机激励的效率的标准;
结合多组随机激励序列的效率结果,将各个属性向量进行排序,通过排序后的结果,对属性向量的值进行加权的随机,生成新的属性向量;
反复迭代,直到验证目标充分覆盖或者覆盖率增长出现停滞,结束验证过程。
所述用属性向量来表示激励是指对于激励组的特征用量化的方式进行描述,这里的激励组特征包括激励个数、激励间隔时间、激励类型等信息,将这组量化的值放入统一化的向量中,可以用于表示特定的激励组。
所述生成多组随机激励序列的详细过程为:属性向量中的各个值根据可能的取值范围进行随机,生成多个新的属性向量,并按照新的属性向量生成相对应的激励组。
所述覆盖率包括代码覆盖率、功能覆盖率或者关键路径覆盖率等不同覆盖率的一种或多种,用于评判验证的充分程度。
所述覆盖率比对是指将多组随机激励序列的覆盖率结果分别与该多组随机激励序列仿真前的总的覆盖率进行比对,得出不同组激励对于当前覆盖率增长的贡献,从而作为评价该组激励的效率的标准。在明确定义了所需覆盖率的前提下,对覆盖率的统计和比对工作,均可以通过编写脚本等方式自动化完成。
对属性向量的值进行加权的随机是指加大高效率的激励组的属性向量值出现的概率,减小低效率的属性向量值的概率,随机生成多组新的属性向量,并按照新的属性向量生成想对应的激励组,进行下一轮的仿真验证。
所述覆盖率增长停滞,是指需要进行一定程度的分析,如果只剩少量用随机激励难以覆盖的待覆盖项,可分析场景并用定向测试完成覆盖。如果还有比较多的覆盖项,可重设属性向量重新进行上述的迭代的自适应随机测试。
实施例:
假设待验证目标需要覆盖100条内容,每组激励可以用属性向量{p0,p1,p2}来描述,p0取值范围为{0,1},p1取值范围为{10,11,12,13},p2取值范围为{20,21,22}。
为了方便说明,假设只需要加入三组激励,通过对p0,p1,p2在各自取值范围内的没有加权的随机(所有值的随机出现概率相同),得到三组属性向量v0 = {0,12,22},v1 = {0,11,20},v2 = {1,10,22}。通过仿真,统计出在待覆盖的100条内容v0覆盖了4条,v1覆盖了3条,v2覆盖1条,合并掉相同的条目,总共覆盖了5条。通过对于三组向量效率的排序,下一轮验证的随机会采取尽量靠近v0,远离v2的策略,具体来说,就是对属性值的随机进行加权,对p0的随机提高取0的概率,降低取1的概率,对p1的随机提高取12的概率,降低取10的概率,对p2的随机概率不变。用于下一轮的待覆盖内容调整为剩下的95条。
如此一轮一轮地迭代,如果当覆盖条数剩余50条就不再增加,去掉之前所有的加权操作,重新随机属性向量。如果当覆盖条数只剩5条时,则可以考虑用定向测试的方式继续进行验证,直到实现完全覆盖。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种用于超大规模芯片仿真的自适应随机验证方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (6)
1.一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,其具体实现过程为:
首先定义用于表示每组激励的属性向量,以及对应每个值的取值范围;
随机生成若干属性向量,并以这些属性向量作为随机激励生成的参数,生成多组具有对应特征的随机激励序列;
将多组随机激励序列进行仿真验证,分别统计仿真验证中对验证目标的覆盖率;
对每组随机激励序列的覆盖率结果与之前总的覆盖率结果进行比对,以此作为评价这组随机激励的效率的标准;
结合多组随机激励序列的效率结果,将各个属性向量进行排序,通过排序后的结果,对属性向量的值进行加权的随机,生成新的属性向量;
反复迭代,直到验证目标充分覆盖或者覆盖率增长出现停滞,结束验证过程。
2.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述用属性向量来表示激励是指对于激励组的特征用量化的方式进行描述,这里的激励组特征包括激励个数、激励间隔时间、激励类型。
3.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述生成多组随机激励序列的详细过程为:属性向量中的各个值根据可能的取值范围进行随机,生成多个新的属性向量,并按照新的属性向量生成相对应的激励组。
4.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述覆盖率包括代码覆盖率、功能覆盖率和/或关键路径覆盖率。
5.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,所述覆盖率比对是指将多组随机激励序列的覆盖率结果分别与该多组随机激励序列仿真前的总的覆盖率进行比对,得出不同组激励对于当前覆盖率增长的贡献,从而作为评价该组激励的效率的标准。
6.根据权利要求1所述的一种用于超大规模芯片仿真的自适应随机验证方法,其特征在于,对属性向量的值进行加权的随机是指加大高效率的激励组的属性向量值出现的概率,减小低效率的属性向量值的概率,随机生成多组新的属性向量,并按照新的属性向量生成想对应的激励组,进行下一轮的仿真验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510099150.7A CN104679634A (zh) | 2015-03-06 | 2015-03-06 | 一种用于超大规模芯片仿真的自适应随机验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510099150.7A CN104679634A (zh) | 2015-03-06 | 2015-03-06 | 一种用于超大规模芯片仿真的自适应随机验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104679634A true CN104679634A (zh) | 2015-06-03 |
Family
ID=53314720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510099150.7A Pending CN104679634A (zh) | 2015-03-06 | 2015-03-06 | 一种用于超大规模芯片仿真的自适应随机验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104679634A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260534A (zh) * | 2015-10-10 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 用于超大规模芯片验证的回归测试用例维护方法及系统 |
CN105631134A (zh) * | 2015-12-30 | 2016-06-01 | 山东海量信息技术研究院 | 一种用于芯片随机验证的分批随机机制 |
CN105653793A (zh) * | 2015-12-29 | 2016-06-08 | 山东海量信息技术研究院 | 一种随机验证的方法及装置 |
CN106777712A (zh) * | 2016-12-22 | 2017-05-31 | 盛科网络(苏州)有限公司 | 基于线性学习快速提高芯片验证随机回归覆盖率的方法 |
CN107273604A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 随机约束可选择的基于覆盖率驱动的随机验证方法 |
CN107908514A (zh) * | 2017-11-15 | 2018-04-13 | 北京中电华大电子设计有限责任公司 | 一种功耗自适应电路的仿真验证方法 |
CN109033540A (zh) * | 2018-07-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种芯片随机验证过程中的激励管理方法及系统 |
CN109522164A (zh) * | 2017-09-18 | 2019-03-26 | 展讯通信(上海)有限公司 | 一种同步多线程场景验证方法及装置 |
CN109992462A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 验证激励生成方法、装置、芯片验证方法及系统 |
CN109992461A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 激励生成装置的模板库构建方法、芯片验证方法及系统 |
CN115168241A (zh) * | 2022-09-08 | 2022-10-11 | 济南新语软件科技有限公司 | 一种基于组合功能覆盖率的测试方法和系统 |
CN118095160A (zh) * | 2024-04-23 | 2024-05-28 | 中诚华隆计算机技术有限公司 | 一种处理器的验证激励方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794330A (zh) * | 2009-12-30 | 2010-08-04 | 中国科学院计算技术研究所 | 集成电路验证方法及其系统 |
CN102436521A (zh) * | 2011-09-27 | 2012-05-02 | 浪潮(北京)电子信息产业有限公司 | 随机验证方法和系统 |
CN102542110A (zh) * | 2011-12-29 | 2012-07-04 | 北京时代民芯科技有限公司 | 一种应用于移动存储soc芯片的仿真验证方法 |
-
2015
- 2015-03-06 CN CN201510099150.7A patent/CN104679634A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794330A (zh) * | 2009-12-30 | 2010-08-04 | 中国科学院计算技术研究所 | 集成电路验证方法及其系统 |
CN102436521A (zh) * | 2011-09-27 | 2012-05-02 | 浪潮(北京)电子信息产业有限公司 | 随机验证方法和系统 |
CN102542110A (zh) * | 2011-12-29 | 2012-07-04 | 北京时代民芯科技有限公司 | 一种应用于移动存储soc芯片的仿真验证方法 |
Non-Patent Citations (2)
Title |
---|
XIAOXI XU ET ALL: "Positioning test-benches and testprograms", 《HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP》 * |
夏晓菲: "超大规模专用集成电路的功能仿真和验证", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260534A (zh) * | 2015-10-10 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 用于超大规模芯片验证的回归测试用例维护方法及系统 |
CN105260534B (zh) * | 2015-10-10 | 2019-06-18 | 浪潮(北京)电子信息产业有限公司 | 用于超大规模芯片验证的回归测试用例维护方法及系统 |
CN105653793B (zh) * | 2015-12-29 | 2019-03-05 | 山东海量信息技术研究院 | 一种随机验证的方法及装置 |
CN105653793A (zh) * | 2015-12-29 | 2016-06-08 | 山东海量信息技术研究院 | 一种随机验证的方法及装置 |
CN105631134A (zh) * | 2015-12-30 | 2016-06-01 | 山东海量信息技术研究院 | 一种用于芯片随机验证的分批随机机制 |
CN106777712A (zh) * | 2016-12-22 | 2017-05-31 | 盛科网络(苏州)有限公司 | 基于线性学习快速提高芯片验证随机回归覆盖率的方法 |
CN107273604B (zh) * | 2017-06-12 | 2020-09-22 | 苏州浪潮智能科技有限公司 | 随机约束可选择的基于覆盖率驱动的随机验证方法 |
CN107273604A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 随机约束可选择的基于覆盖率驱动的随机验证方法 |
CN109522164A (zh) * | 2017-09-18 | 2019-03-26 | 展讯通信(上海)有限公司 | 一种同步多线程场景验证方法及装置 |
CN107908514A (zh) * | 2017-11-15 | 2018-04-13 | 北京中电华大电子设计有限责任公司 | 一种功耗自适应电路的仿真验证方法 |
CN109992462A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 验证激励生成方法、装置、芯片验证方法及系统 |
CN109992461A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 激励生成装置的模板库构建方法、芯片验证方法及系统 |
CN109033540A (zh) * | 2018-07-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种芯片随机验证过程中的激励管理方法及系统 |
CN109033540B (zh) * | 2018-07-02 | 2022-03-04 | 郑州云海信息技术有限公司 | 一种芯片随机验证过程中的激励管理方法及系统 |
CN115168241A (zh) * | 2022-09-08 | 2022-10-11 | 济南新语软件科技有限公司 | 一种基于组合功能覆盖率的测试方法和系统 |
CN118095160A (zh) * | 2024-04-23 | 2024-05-28 | 中诚华隆计算机技术有限公司 | 一种处理器的验证激励方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679634A (zh) | 一种用于超大规模芯片仿真的自适应随机验证方法 | |
CN103812961B (zh) | 识别指定类别ip地址的方法及设备、防御方法及系统 | |
CN107315954A (zh) | 一种文件类型识别方法及服务器 | |
CN110929879A (zh) | 基于决策引擎和模型平台的业务决策逻辑更新方法 | |
CN110166344B (zh) | 一种身份标识识别方法、装置以及相关设备 | |
CN105739956B (zh) | 计算机系统的构建智能规则模型的方法及系统 | |
CN109194684A (zh) | 一种模拟拒绝服务攻击的方法、装置及计算设备 | |
CN112685787B (zh) | 应用于人工智能的大数据信息安全防护方法及云服务器 | |
CN109951846A (zh) | 无线网络识别方法、装置、存储介质及计算机设备 | |
CN108536846A (zh) | 风控引擎变量库规则适配方法、装置、设备及存储介质 | |
CN109743286A (zh) | 一种基于图卷积神经网络的ip类型标记方法及设备 | |
CN105718368A (zh) | 一种软件测试数据扩增方法 | |
CN111475402A (zh) | 程序功能的测试方法及相关装置 | |
CN110941829B (zh) | 一种基于生成对抗网络的大规模硬件木马库生成系统及方法 | |
CN105631134A (zh) | 一种用于芯片随机验证的分批随机机制 | |
CN109450880A (zh) | 基于决策树的钓鱼网站检测方法、装置及计算机设备 | |
CN109324958A (zh) | 一种rest统一校验方法、装置、设备及可读存储介质 | |
CN114511330A (zh) | 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统 | |
CN109002715B (zh) | 一种基于卷积神经网络的恶意软件识别方法及系统 | |
CN116841564B (zh) | 一种数据处理方法、装置、设备以及计算机可读存储介质 | |
CN110287118B (zh) | 测试用例的测试数据生成方法及软件测试方法 | |
CN104615679A (zh) | 一种基于人工免疫网络的多智能体数据挖掘方法 | |
JP7009971B2 (ja) | プロセススケジューリング装置およびプロセススケジューリング方法 | |
CN105701591A (zh) | 一种基于神经网络的电网业务分类方法 | |
Minku et al. | Using unreliable data for creating more reliable online learners |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150603 |