CN105279062A - 调整随机权重的方法 - Google Patents
调整随机权重的方法 Download PDFInfo
- Publication number
- CN105279062A CN105279062A CN201410354126.9A CN201410354126A CN105279062A CN 105279062 A CN105279062 A CN 105279062A CN 201410354126 A CN201410354126 A CN 201410354126A CN 105279062 A CN105279062 A CN 105279062A
- Authority
- CN
- China
- Prior art keywords
- function coverage
- excitation
- random
- weight
- random weight
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种调整随机权重的方法,利用随机权重分布产生随机激励,通过建立对应的功能覆盖率点来收集功能覆盖率,用以判定权重值的合理性。本发明能够使随机激励有量化参照,对特定的功能有更高的验证覆盖率。
Description
技术领域
本发明涉及一种验证中产生激励的方法,特别是涉及一种调整随机权重的方法。
背景技术
验证是保证芯片功能正确的必要条件,而充分的验证更能保证芯片在各种极端激励条件下工作正常,除了最基本的正常激励外,异常的激励,边缘条件激励的灌入也是验证的一个重点,随机验证方法能够提供大量的异常激励和极端条件激励,但是激励的质量需要有个量化指标进行监控,同时激励的产生必须有约束控制。
发明内容
本发明要解决的技术问题是提供一种调整随机权重的方法,能够使随机激励有量化参照,对特定的功能有更高的验证覆盖率。
为解决上述技术问题,本发明的调整随机权重的方法是采用如下技术方案实现的:利用随机权重分布产生随机激励,通过建立对应的功能覆盖率点来收集功能覆盖率,用以判定权重值的合理性。
本发明以SystemVerilog(硬件设计验证语言,IEEEP1800规范)验证分支语言作为基础,利用有权重分配的约束产生随机激励,利用功能覆盖点收集功能覆盖率;通过功能覆盖率的收集,分析覆盖率结果,进而调整随机权重,得到合适的随机激励。
所述收集功能覆盖率可以直接针对产生的激励进行功能覆盖率收集,或是针对最终逻辑输出结果进行功能覆盖率收集。
通过所述功能覆盖率收集,来修改激励的随机权重值,通过多次仿真收集功能覆盖率,最终得到合理的激励。
本发明与传统的随机验证方法相比,能够使随机激励有量化参照,并调整随机权重,对特定的功能有更高的验证覆盖率。
本发明能快速的产生更有意义的验证激励,提高验证效率,降低验证时间,在有限的回归验证中,更多的触及边缘极端情况,并且产生激励效率的量化结果,以达到验证需要,更快的完成逻辑验证。
本发明使用SystemVerilog验证分支语言作为验证描述语言,适用于逻辑激励有一定要求,并且对逻辑仿真结果产生影响有一定延续性和累计效果的项目。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是覆盖率收集结果报表。
具体实施方式
下面是本发明的一实施例,可以更好的理解本发明的技术方案和效果。
SystemVerilog验证分支语言中提供了随机数的产生方法,并且在此基础上可以通过约束加以限制,比如带权重的随机约束:
Input_datadist{[1:2]:/1,0:=2,3:=5}
可以通过:=以及:/后面设置的权重值,来调整激励产生的概率。SystemVerilog验证分支语言中除了随机约束可以设置权重,还有randcase(随机判例),以及randsequence(随机序列)都可以通过加权重来产生随机激励,权重值的设置也适用于本发明的描述。
上例中权重值越大对应的出现概率也就越大,输入数据本身意义不大,而且输入很容易遍历,但是输出是影响验证的关键,因为输入的数据对最终输出有个累计的效果。比如:
输入1,2输出保持,在这里出现概率为“1/8”,输入0输出立刻升为7,在这里出现概率为“2/8”,输入连续n个3输出减1,在这里出现概率为“5/8”,输出的最大值为0,这里的逻辑仅作为例子,并不局限于这个应用。在这里比较关心输出为0~7的值,主要是输出为0~6并且跳变为7的这个过程,目标是产生足够0~6跳变为7的状态转换过程,并且所有状态转换过程出现概率相同。
在本例中通过SystemVerilog验证分支语言中状态转换功能覆盖率收集的方式来收集从0~6跳变为7的状态转换过程:
通过上面语句产生了7个功能覆盖率点,通过逻辑仿真可以得到7个功能覆盖率点最后的统计情况。如附图所示,Bins代表一组功能覆盖率点,这里已经将结果通过数字量化出来;其中NAME代表每个功能覆盖率点的名字,所以101代表功能覆盖点TR;因为使用“[]”描述功能覆盖点,即按实际仿真情况生成功能覆盖点,所以102为实际0~6跳变为7的描述。图中COUNT代表功能覆盖率点的收集次数,所以103为仿真中对应的102跳变出现的次数。图中ATLEAST代表最少需要收集的次数,所以104为要求的最少次数。如果从0到7的跳变太少,表示输入3的出现概率太低,同时也表示输入0的概率太高,可以把3的权重值“5”改为“10”,或者把0的权重值改为“1”。反之从0到7的跳变太多,表示输入3的出现概率太高,而且输入0的概率太低,可以把3的权重值“5”改为“2”,或者把0的权重值改为“4”,可以通过调整输入随机约束的权重值最后达到需要的激励。
功能覆盖率可以有很多描述方式,除了前面例子所描述的状态转换,也可以描述单纯的状态,还可以多个功能覆盖点进行相交,以通过功能覆盖率来描述最终要求的功能。
设置权重值之后,可以通过在功能覆盖率描述选项中设置最少覆盖量:
option.at_least=number;
后续的仿真就可以只看总的功能覆盖率百分比就可以知道随机激励的分布情况是否达标,如果之后的仿真覆盖率没有达到预期的100%,说明在大量的随机过程中,前面设置的权重还有进一步调整的需要。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (3)
1.一种调整随机权重的方法,其特征在于:利用随机权重分布产生随机激励,通过建立对应的功能覆盖率点来收集功能覆盖率,用以判定权重值的合理性。
2.如权利要求1所述的方法,其特征在于:所述收集功能覆盖率可以直接针对产生的激励进行功能覆盖率收集,或是针对最终逻辑输出结果进行功能覆盖率收集。
3.如权利要求1所述的方法,其特征在于:通过所述功能覆盖率收集,来修改激励的随机权重值,通过多次仿真收集功能覆盖率,最终得到合理的激励。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410354126.9A CN105279062A (zh) | 2014-07-24 | 2014-07-24 | 调整随机权重的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410354126.9A CN105279062A (zh) | 2014-07-24 | 2014-07-24 | 调整随机权重的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105279062A true CN105279062A (zh) | 2016-01-27 |
Family
ID=55148108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410354126.9A Pending CN105279062A (zh) | 2014-07-24 | 2014-07-24 | 调整随机权重的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105279062A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202650A (zh) * | 2016-06-30 | 2016-12-07 | 芯海科技(深圳)股份有限公司 | 一种dwrr以及wfq权重验证方法 |
CN115168241A (zh) * | 2022-09-08 | 2022-10-11 | 济南新语软件科技有限公司 | 一种基于组合功能覆盖率的测试方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795948B2 (en) * | 2000-12-27 | 2004-09-21 | Intel Corporation | Weighted random pattern test using pre-stored weights |
CN1873625A (zh) * | 2005-08-19 | 2006-12-06 | 华为技术有限公司 | 一种基于功能覆盖率的随机激励的自动产生方法 |
US20090177876A1 (en) * | 2000-02-17 | 2009-07-09 | Albert Ren-Rui Wang | Automated processor generation system and method for designing a configurable processor |
CN103049363A (zh) * | 2013-02-01 | 2013-04-17 | 山东华芯半导体有限公司 | 一种NAND Flash控制器的验证方法 |
-
2014
- 2014-07-24 CN CN201410354126.9A patent/CN105279062A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090177876A1 (en) * | 2000-02-17 | 2009-07-09 | Albert Ren-Rui Wang | Automated processor generation system and method for designing a configurable processor |
US6795948B2 (en) * | 2000-12-27 | 2004-09-21 | Intel Corporation | Weighted random pattern test using pre-stored weights |
CN1873625A (zh) * | 2005-08-19 | 2006-12-06 | 华为技术有限公司 | 一种基于功能覆盖率的随机激励的自动产生方法 |
CN103049363A (zh) * | 2013-02-01 | 2013-04-17 | 山东华芯半导体有限公司 | 一种NAND Flash控制器的验证方法 |
Non-Patent Citations (1)
Title |
---|
陈星: "视频格式转换芯片图像处理引擎的功能与时序验证", 《中国优秀硕士学位论文全文数据库(电子期刊) 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202650A (zh) * | 2016-06-30 | 2016-12-07 | 芯海科技(深圳)股份有限公司 | 一种dwrr以及wfq权重验证方法 |
CN106202650B (zh) * | 2016-06-30 | 2019-07-02 | 芯海科技(深圳)股份有限公司 | 一种dwrr以及wfq权重验证方法 |
CN115168241A (zh) * | 2022-09-08 | 2022-10-11 | 济南新语软件科技有限公司 | 一种基于组合功能覆盖率的测试方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Regional allocation of CO2 emissions allowance over provinces in China by 2020 | |
CN112003277B (zh) | 一种输配协同负荷恢复优化控制方法及系统 | |
US20150294037A1 (en) | System and method for automated substation design and configuration | |
CN102411106A (zh) | 电力变压器故障监测方法及装置 | |
CN102982208B (zh) | 一种基于Bayes因子优化的动态可靠性模型更新方法 | |
CN103714401A (zh) | 一种电网配变故障次数预测的方法 | |
CN110390467A (zh) | 一种基于关键场景辨别的虚拟电厂随机自适应鲁棒优化调度方法 | |
CN103646294A (zh) | 一种考虑闸门操作规则的水电站洪水优化调度方法 | |
CN105574032A (zh) | 规则匹配运算方法及装置 | |
CN103882827A (zh) | 基于径流集合预报的水库防洪风险率预测方法 | |
CN103971175A (zh) | 一种多级变电站的短期负荷预测方法 | |
CN104635669A (zh) | 一种仪控系统验证方法 | |
CN105305468A (zh) | 基于粒子群算法的火力发电机组一次调频参数优化方法 | |
CN106355308A (zh) | 一种基于决策树辨识风电接入系统关键设备的方法 | |
CN108416067A (zh) | 工业过程中海量数据处理和存储过程的优化执行估算方法 | |
CN101017508A (zh) | 一种基于离散Hopfield神经网络的SoC软/硬件划分方法 | |
CN105678402A (zh) | 一种基于季节分区的光伏功率预测方法 | |
CN105279062A (zh) | 调整随机权重的方法 | |
CN103995873A (zh) | 一种数据挖掘方法及数据挖掘系统 | |
CN108108883B (zh) | 一种基于聚类算法的车辆调度网络弹性简化方法 | |
CN104978450A (zh) | 一种直升机振动主动控制位置优选方法 | |
CN103049609A (zh) | 一种风功率多阶段场景模拟方法 | |
CN104572296B (zh) | 一种预测云平台存储资源增长量的方法 | |
CN103914740A (zh) | 一种基于数据驱动的输电线路覆冰预测与自校正方法 | |
CN113126583B (zh) | 一种数字孪生纺织成套装备实时交互控制方法及系统 |
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: 20160127 |