CN105631134A - 一种用于芯片随机验证的分批随机机制 - Google Patents
一种用于芯片随机验证的分批随机机制 Download PDFInfo
- Publication number
- CN105631134A CN105631134A CN201511010452.9A CN201511010452A CN105631134A CN 105631134 A CN105631134 A CN 105631134A CN 201511010452 A CN201511010452 A CN 201511010452A CN 105631134 A CN105631134 A CN 105631134A
- Authority
- CN
- China
- Prior art keywords
- random
- excitation
- batches
- verification
- chip
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种用于芯片随机验证的分批随机机制,将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。本发明解决了随机验证中需要对特定随机约束分别确定合适的激励数目的问题,既不会出现激励数目太多而造成的资源大量浪费,也不会出现因为激励数目太小而造成的验证不充分。对于加快验证收敛,控制芯片研发周期有着重大的意义。
Description
技术领域
本发明涉及芯片验证技术领域,具体涉及一种用于芯片随机验证的分批随机机制。
背景技术
随着工艺技术以及应用领域的不断发展,芯片的复杂度不断提高,相对应的,验证工作的复杂度也不断提高。随机验证的重要性也越来越高,提高随机验证的效率,也成为提高验证效率的一个关键步骤。
随机验证的应用中都会用到随机约束,不同随机约束代表了随机验证的不同特征,它与验证用到的验证效果评估标准(一般是覆盖率)相辅相成,保证了随机验证不会因为过于发散而效率太低。
但用传统的方式,一次随机验证(仿真)采用一组随机约束,结束后用评估验证效果,会存在该如何确定验证规模(随机激励的数目)的问题。如果一次随机验证的激励数太少,那很可能很多应该能覆盖到的场景都无法覆盖到;如果激励太多,因为用的是同一组随机约束,产生的场景的多样性随着时间呈指数下降。再加上“合适的激励数目”是会随着目前的验证程度以及特定的随机约束变化而不断改变的,无法靠分析和以往经验得到确切数字。当前普遍的做法是在牺牲效率的情况下尽可能地保证验证效果,即选用尽可能大的随机验证激励规模。
发明内容
本发明要解决的技术问题是:本发明提出了一种用于芯片随机验证的分批随机机制。
本发明所采用的技术方案为:
一种用于芯片随机验证的分批随机机制,将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。
所述随即机制实现过程如下:
1)对随机激励的生成约束进行量化;保证能通过程序或者脚本自动完成对随机约束的修改;
2)随机激励分批生成;每次只根据当前的随机约束生成一部分(一批)激励;
3)在验证环境中包含监测每批随机激励是否全部完成的功能;保证不同批次的随机激励得到的验证效率评估彼此独立;
4)确定一套明确的、可量化的评价随机验证效率的评价标准;
5)在一批激励完成之后到下一批激励生成之前,提供一套根据随机验证效率评估来修改随机约束和随机激励规模的机制。
所述验证效率的评价标准:通过定义的覆盖率来进行评估。
对不同的功能点或者模块的覆盖率数据进行不同的权重运算。
每批激励开始前对验证效率数据进行记录,以作为该批激励完成之后验证效率的对比。
所述修改随机约束的机制,是通过验证人员对验证效率数据的分析,对随机约束和随机激励规模进行手动修改,并通过输入文件的方式让验证环境读入。
所述修改随机约束的机制,是通过算法让验证环境自动进行修改。
本发明的有益效果为:
本发明解决了随机验证中需要对特定随机约束分别确定合适的激励数目的问题,既不会出现激励数目太多而造成的资源大量浪费,也不会出现因为激励数目太小而造成的验证不充分。对于加快验证收敛,控制芯片研发周期有着重大的意义。
附图说明
图1为传统随机验证基本流程示意图;
图2为分批随机验证基本流程示意图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
一种用于芯片随机验证的分批随机机制,考虑到芯片随机验证中,在特定的随机约束下,随机激励数目可能给验证效率带来的影响,超大规模芯片验证中随机验证的效率会随着仿真时间增加而呈指数型下降,而将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。也就是说,在验证效率降低到一定程度之前,随机验证将在特定的随机约束下运行,否则,验证环境将自动切换随机约束。
对比于原有的随机验证流程,本发明的实施方式最大的区别是将原本的一次仿真验证分成了多批来执行。不同批次之间的随机激励,可以采用不同的随机约束,也可以采用不同的激励规模。为了支持这一变化,原本通常在一次仿真验证结束时才会进行的对激励完成情况和验证目标达成情况进行的分析,改在不同批次的随机验证之间进行,并需要提供在不同批次间修改随机约束和激励规模的方式。
实施例2:
如图2所示,在实施例1的基础上,本实施例所述随即机制实现过程如下:
1)对随机激励的生成约束进行量化;保证能通过程序或者脚本自动完成对随机约束的修改;
2)随机激励分批生成;分批生成随机激励,区别于在同一时间或者以同一套随机约束生成所有的随机激励,每次只根据当前的随机约束生成一部分(一批)激励;每批的激励数目可以固定,也可以不固定;固定激励数目的好处在于易于控制,而如果用一些合适的算法来控制不同批次间的激励数目,能更灵活地实现分批的随机验证,采用哪种方式需要根据具体的验证目标来进行评估;
3)在验证环境中包含监测每批随机激励是否全部完成的功能;保证不同批次的随机激励得到的验证效率评估彼此独立;根据验证对象不同,具体实现有多种方式;
4)确定一套明确的、可量化的评价随机验证效率的评价标准;
5)在一批激励完成之后到下一批激励生成之前,提供一套根据随机验证效率评估来修改随机约束和随机激励规模的机制。
实施例3:
在实施例2的基础上,本实施例所述验证效率的评价标准:通过定义的覆盖率(代码覆盖率或者功能点覆盖率)来进行评估。
实施例4:
在实施例3的基础上,本实施例如果要想实现更灵活的控制,可以对不同的功能点或者模块的覆盖率数据进行不同的权重运算。
实施例5:
在实施例3或4的基础上,本实施例每批激励开始前对验证效率数据进行记录,以作为该批激励完成之后验证效率的对比。
实施例6:
在实施例2的基础上,本实施例所述修改随机约束的机制,是通过验证人员对验证效率数据的分析,对随机约束和随机激励规模进行手动修改,并通过输入文件的方式让验证环境读入。
实施例7:
在实施例2的基础上,本实施例所述修改随机约束的机制,是通过算法让验证环境自动进行修改。
在理想情况下(在分批随机验证的基础上采用了合适的方式修改随机约束、验证环境在长时间的仿真下不会出现异常或错误问题、在验证过程中不会出现资源耗尽等等),分批随机验证的一次仿真验证就可以长时间运行,直到验证目标达成或者直到验证目标出错。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (7)
1.一种用于芯片随机验证的分批随机机制,其特征在于:将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。
2.根据权利要求1所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述随即机制实现过程如下:
1)对随机激励的生成约束进行量化,保证能通过程序或者脚本自动完成对随机约束的修改;
2)随机激励分批生成;每次只根据当前的随机约束生成一部分激励;
3)在验证环境中包含监测每批随机激励是否全部完成的功能;保证不同批次的随机激励得到的验证效率评估彼此独立;
4)确定一套明确的、可量化的评价随机验证效率的评价标准;
5)在一批激励完成之后到下一批激励生成之前,提供一套根据随机验证效率评估来修改随机约束和随机激励规模的机制。
3.根据权利要求2所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述验证效率的评价标准:通过定义的覆盖率来进行评估。
4.根据权利要求3所述的一种用于芯片随机验证的分批随机机制,其特征在于:对不同的功能点或者模块的覆盖率数据进行不同的权重运算。
5.根据权利要求3或4所述的一种用于芯片随机验证的分批随机机制,其特征在于:每批激励开始前对验证效率数据进行记录,以作为该批激励完成之后验证效率的对比。
6.根据权利要求2所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述修改随机约束的机制,是通过验证人员对验证效率数据的分析,对随机约束和随机激励规模进行手动修改,并通过输入文件的方式让验证环境读入。
7.根据权利要求2所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述修改随机约束的机制,是通过算法让验证环境自动进行修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511010452.9A CN105631134A (zh) | 2015-12-30 | 2015-12-30 | 一种用于芯片随机验证的分批随机机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511010452.9A CN105631134A (zh) | 2015-12-30 | 2015-12-30 | 一种用于芯片随机验证的分批随机机制 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105631134A true CN105631134A (zh) | 2016-06-01 |
Family
ID=56046063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511010452.9A Pending CN105631134A (zh) | 2015-12-30 | 2015-12-30 | 一种用于芯片随机验证的分批随机机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105631134A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273604A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 随机约束可选择的基于覆盖率驱动的随机验证方法 |
CN109033540A (zh) * | 2018-07-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种芯片随机验证过程中的激励管理方法及系统 |
CN109992461A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 激励生成装置的模板库构建方法、芯片验证方法及系统 |
CN109992804A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 激励生成装置、芯片验证装置及系统 |
CN111796975A (zh) * | 2020-07-07 | 2020-10-20 | 云知声智能科技股份有限公司 | 芯片的随机化验证方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408252A (zh) * | 2014-11-25 | 2015-03-11 | 深圳市国微电子有限公司 | 一种电路器件的可靠性评估方法及装置 |
CN104679634A (zh) * | 2015-03-06 | 2015-06-03 | 浪潮电子信息产业股份有限公司 | 一种用于超大规模芯片仿真的自适应随机验证方法 |
US20150310159A1 (en) * | 2014-03-05 | 2015-10-29 | Vayavya Labs Private. Limited | Computer-implemented verification system for performing a functional verification of an integrated circuit |
-
2015
- 2015-12-30 CN CN201511010452.9A patent/CN105631134A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150310159A1 (en) * | 2014-03-05 | 2015-10-29 | Vayavya Labs Private. Limited | Computer-implemented verification system for performing a functional verification of an integrated circuit |
CN104408252A (zh) * | 2014-11-25 | 2015-03-11 | 深圳市国微电子有限公司 | 一种电路器件的可靠性评估方法及装置 |
CN104679634A (zh) * | 2015-03-06 | 2015-06-03 | 浪潮电子信息产业股份有限公司 | 一种用于超大规模芯片仿真的自适应随机验证方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273604A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 随机约束可选择的基于覆盖率驱动的随机验证方法 |
CN107273604B (zh) * | 2017-06-12 | 2020-09-22 | 苏州浪潮智能科技有限公司 | 随机约束可选择的基于覆盖率驱动的随机验证方法 |
CN109992461A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 激励生成装置的模板库构建方法、芯片验证方法及系统 |
CN109992804A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 激励生成装置、芯片验证装置及系统 |
CN109992804B (zh) * | 2017-12-29 | 2020-01-14 | 中科寒武纪科技股份有限公司 | 激励生成装置、芯片验证装置及系统 |
CN109033540A (zh) * | 2018-07-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种芯片随机验证过程中的激励管理方法及系统 |
CN109033540B (zh) * | 2018-07-02 | 2022-03-04 | 郑州云海信息技术有限公司 | 一种芯片随机验证过程中的激励管理方法及系统 |
CN111796975A (zh) * | 2020-07-07 | 2020-10-20 | 云知声智能科技股份有限公司 | 芯片的随机化验证方法及装置 |
CN111796975B (zh) * | 2020-07-07 | 2024-01-30 | 云知声智能科技股份有限公司 | 芯片的随机化验证方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105631134A (zh) | 一种用于芯片随机验证的分批随机机制 | |
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
Wang et al. | Combining multiobjective optimization with differential evolution to solve constrained optimization problems | |
EP2894564A1 (en) | Job scheduling based on historical job data | |
EP3468095A1 (en) | Transaction selection device for selecting blockchain transactions | |
CN104679634A (zh) | 一种用于超大规模芯片仿真的自适应随机验证方法 | |
US9632921B1 (en) | Validation using scenario runners | |
US20190369585A1 (en) | Method for determining a physical connectivity topology of a controlling development set up for a real-time test apparatus | |
CN111090401B (zh) | 存储设备性能预测方法及装置 | |
CN105718368A (zh) | 一种软件测试数据扩增方法 | |
CN115237592A (zh) | 隐私感知的混合云服务流程调度方法 | |
CN115437351A (zh) | 自动化测试系统、方法、电子设备及存储介质 | |
EP4290419A1 (en) | Quantum computer operating system, quantum computer, and readable storage medium | |
US9355377B2 (en) | Carbon dioxide emissions optimized secure cloud computing | |
Bhatnagar et al. | Stochastic algorithms for discrete parameter simulation optimization | |
CN109522086B (zh) | 对窗口的操作方法和装置、计算机装置及可读存储介质 | |
CN110717315B (zh) | 系统数据批量修改方法、装置、存储介质及电子设备 | |
CN110971478B (zh) | 云平台服务性能的压测方法、装置及计算设备 | |
CN105022661A (zh) | 一种多处理器系统可调度性验证方法 | |
US9892010B2 (en) | Persistent command parameter table for pre-silicon device testing | |
Zhang et al. | Test case prioritization for regression testing based on function call path | |
CN115220707A (zh) | 一种基于区块链的软件开发管理方法及系统 | |
KR102385706B1 (ko) | 가상 네트워크 장치의 적합성 검증 장치 및 평가 방법 | |
EP2597600A1 (en) | Apparatus and method for automatic status check of an aircraft | |
US12001326B2 (en) | Fast operating system configuration option space exploration via cross-OS grafting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160601 |
|
RJ01 | Rejection of invention patent application after publication |