一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种结合约束随机的仿真方法、验证方法及系统与流程

2023-09-15 13:00:54 来源:中国专利 TAG:


1.本发明属于ic验证技术领域,具体涉及一种结合约束随机的仿真方法、验证方法及系统。


背景技术:

2.现有技术中,进行ic验证特别是模块验证时,对于待验证对象进行相关功能点覆盖,通常是利用约束随机特性生成不同的配置参数,分别用于对待验证硬件进行驱动、仿真、比较结果,对每组配置参数对应的仿真结果对应的覆盖率进行分析,比如通过合并各组仿真输出的覆盖率报告文件,进行覆盖率统计,然后人为分析是否达到覆盖率目标。
3.然而,上述仿真方法的缺点首先是仿真时间较长,一般前期各组配置参数的仿真对覆盖率目标的提高有较快的速度,然而当达到了一定的覆盖率之后,这种提高覆盖率的速度开始下降,以至于后期的各组配置参数需要较长的仿真时间才完成覆盖率目标;其次是每次仿真结束后需要人为不断的合并前面仿真输出的覆盖率收集报告、统计覆盖率结果、与覆盖率目标作比较,如果还没达到覆盖率目标,才让仿真器对随机用例继续往下仿真;由此可见,现有的常规仿真方法不但导致验证效率较低,还需要人为经常性的操作配合,增加了验证复杂性。


技术实现要素:

4.本发明的目的在于提供一种结合约束随机的仿真方法、验证方法及系统,用于解决现有技术中的仿真方法的验证效率较低且验证复杂性较高的问题。
5.为了实现上述目的,本发明提供了一种结合约束随机的仿真方法,包括如下步骤:
6.1)通过约束随机特性生成一组配置参数;
7.2)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则利用该组能提高当前覆盖率的配置参数对待验证硬件进行驱动仿真,以对待验证硬件进行验证;
8.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤1),继续通过约束随机生成下一组配置参数。
9.上述技术方案的有益效果为:能够在进行仿真时,仅采用提前判断出的能够提高当前覆盖率的配置参数进行仿真,若配置参数对提高覆盖率不会做出贡献则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,可供各个验证环境参考调用。
10.进一步地,所述覆盖率收集方法为systemverilog的covergroup方法。
11.本发明还提供了一种结合约束随机的仿真系统,包括处理器,所述处理器用于执行程序指令,以实现如下的结合约束随机的仿真方法步骤:
12.1)通过约束随机特性生成一组配置参数;
13.2)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则利用该组能提高当前覆盖率的配置参数对待验证硬件进行驱动仿真,以对待验证硬件进行验证;
14.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤1),继续通过约束随机生成下一组配置参数。
15.上述技术方案的有益效果为:能够在进行仿真时,仅采用提前判断出的能够提高当前覆盖率的配置参数进行仿真,若配置参数对提高覆盖率不会做出贡献则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,能够适应各个验证环境的参考调用。
16.进一步地,所述覆盖率收集方法为systemverilog的covergroup方法。
17.本发明还提供了一种结合约束随机的验证方法,包括如下步骤:
18.1)对需要覆盖的功能点进行描述,得到覆盖率目标;
19.2)通过约束随机特性生成一组配置参数;
20.3)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则继续进行步骤4);
21.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤2),继续通过约束随机生成下一组配置参数;
22.4)利用该组能提高当前覆盖率的配置参数,对待验证硬件进行驱动仿真,以对待验证硬件进行验证;
23.5)收集统计当前覆盖率,并比较当前覆盖率是否达到覆盖率目标,如果达到覆盖率目标,则停止仿真,否则继续进行步骤2)-5)。
24.上述技术方案的有益效果为:能够在进行仿真前,先判断出一组配置参数是否能提高当前覆盖率,若不能则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,仅根据能够提高当前覆盖率的配置参数进行仿真,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,可供各个验证环境参考调用。
25.进一步地,所述覆盖率收集方法为systemverilog的covergroup方法。
26.本发明还提供了一种结合约束随机的验证系统,包括处理器,所述处理器用于执行程序指令,以实现如下的结合约束随机的验证方法步骤:
27.1)对需要覆盖的功能点进行描述,得到覆盖率目标;
28.2)通过约束随机特性生成一组配置参数;
29.3)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则继续进行步骤4);
30.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤2),继续通过约束随机生成下一组配置参数;
31.4)利用该组能提高当前覆盖率的配置参数,对待验证硬件进行驱动仿真,以对待
验证硬件进行验证;
32.5)收集统计当前覆盖率,并比较当前覆盖率是否达到覆盖率目标,如果达到覆盖率目标,则停止仿真,否则继续进行步骤2)-5)。
33.上述技术方案的有益效果为:能够在进行仿真前,先判断出一组配置参数是否能提高当前覆盖率,若不能则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,仅根据能够提高当前覆盖率的配置参数进行仿真,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,可适用于各个验证环境的参考调用。
34.进一步地,所述覆盖率收集方法为systemverilog的covergroup方法。
附图说明
35.图1为本发明结合约束随机的仿真方法实施例中仿真方法的流程框图。
具体实施方式
36.为了使本发明的目的、技术方案及优点更加清楚明了,以下结合附图及实施例,对本发明进行进一步详细说明。
37.结合约束随机的验证方法实施例
38.本实施例给出了一种结合约束随机的验证方法,参照图1,包括如下步骤:
39.1)对需要覆盖的功能点进行描述,得到覆盖率目标;
40.本实施例中,利用覆盖率收集方法,即systemverilog的covergroup方法对需要覆盖的功能点进行描述,设置覆盖率目标;覆盖率目标通常设置为100%,即需要完成所有功能点的覆盖。
41.2)通过约束随机特性生成一组配置参数;
42.该步骤利用systemverilog的约束随机特性进行配置参数的随机化以及约束,定义所有配置参数的取值范围以及相关权重。
43.3)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则继续进行步骤4);
44.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤2),继续通过约束随机生成下一组配置参数;
45.本实施例中,同样采用覆盖率收集方法covergroup对该组配置参数进行采样,该步骤能够在对待验证硬件进行仿真前,先分析随机约束生成的当前配置是否对覆盖率有所提高,这个操作不占用仿真时间,并能够通过舍弃没用的配置参数,快速寻找有用的配置参数,从而避免浪费冗余的仿真时间,最终输出一组对覆盖率有贡献的配置参数进行仿真。
46.4)利用该组能提高当前覆盖率的配置参数,对待验证硬件进行驱动仿真,以对待验证硬件进行验证;
47.本实施例中,该步骤在常规的验证平台,利用步骤3)筛选出的有用的配置参数(即能提高当前覆盖率的配置参数),对于待验证硬件进行激励驱动、仿真、收集结果和比较结果。
48.5)收集统计当前覆盖率,并比较当前覆盖率是否达到覆盖率目标,如果达到覆盖率目标,则停止仿真,否则继续进行步骤2)-5)。
49.本实施例中,该步骤主要提供仿真结束条件,当经过多组对覆盖率有贡献的配置参数的仿真之后,最终的覆盖率达到目标,从而停止仿真,完成对待验证硬件的验证。
50.由此可见,本实施例中的结合约束随机的验证方法,能够在进行仿真前,先判断出一组配置参数是否能提高当前覆盖率,若不能则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,仅根据能够提高当前覆盖率的配置参数进行仿真,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,可供各个验证环境参考调用。
51.结合约束随机的验证系统实施例
52.本实施例给出了一种结合约束随机的验证系统,该验证系统包括处理器,处理器用于执行程序指令,以实现如上述结合约束随机的验证方法实施例中的结合约束随机的验证方法步骤:
53.1)对需要覆盖的功能点进行描述,得到覆盖率目标;
54.本实施例中,利用覆盖率收集方法,即systemverilog的covergroup方法对需要覆盖的功能点进行描述,设置覆盖率目标;覆盖率目标通常设置为100%,即需要完成所有功能点的覆盖。
55.2)通过约束随机特性生成一组配置参数;
56.该步骤利用systemverilog的约束随机特性进行配置参数的随机化以及约束,定义所有配置参数的取值范围以及相关权重。
57.3)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则继续进行步骤4);
58.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤2),继续通过约束随机生成下一组配置参数;
59.本实施例中,同样采用覆盖率收集方法covergroup对该组配置参数进行采样,该步骤能够在对待验证硬件进行仿真前,先分析随机约束生成的当前配置是否对覆盖率有所提高,这个操作不占用仿真时间,并能够通过舍弃没用的配置参数,快速寻找有用的配置参数,从而避免浪费冗余的仿真时间,最终输出一组对覆盖率有贡献的配置参数进行仿真。
60.4)利用该组能提高当前覆盖率的配置参数,对待验证硬件进行驱动仿真,以对待验证硬件进行验证;
61.本实施例中,该步骤在常规的验证平台,利用步骤3)筛选出的有用的配置参数(即能提高当前覆盖率的配置参数),对于待验证硬件进行激励驱动、仿真、收集结果和比较结果。
62.5)收集统计当前覆盖率,并比较当前覆盖率是否达到覆盖率目标,如果达到覆盖率目标,则停止仿真,否则继续进行步骤2)-5)。
63.本实施例中,该步骤主要提供仿真结束条件,当经过多组对覆盖率有贡献的配置参数的仿真之后,最终的覆盖率达到目标,从而停止仿真,完成对待验证硬件的ic验证。
64.由此可见,本实施例中的结合约束随机的验证系统,能够在进行仿真前,先判断出
一组配置参数是否能提高当前覆盖率,若不能则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,仅根据能够提高当前覆盖率的配置参数进行仿真,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,可适用于各个验证环境的参考调用。
65.结合约束随机的仿真方法实施例
66.本实施例给出了一种结合约束随机的仿真方法,包括如下步骤:
67.1)通过约束随机特性生成一组配置参数;
68.本实施例中,该步骤利用systemverilog的约束随机特性进行配置参数的随机化以及约束,定义所有配置参数的取值范围以及相关权重。
69.2)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则利用该组能提高当前覆盖率的配置参数对待验证硬件进行驱动仿真,以对待验证硬件进行验证;
70.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤1),继续通过约束随机生成下一组配置参数。
71.本实施例中,利用覆盖率收集方法,即systemverilog的covergroup方法对该组配置参数进行采样,该步骤能够在对待验证硬件进行仿真前,先分析随机约束生成的当前配置是否对覆盖率有所提高,这个操作不占用仿真时间,并能够通过舍弃没用的配置参数,快速寻找有用的配置参数,从而避免浪费冗余的仿真时间,最终输出一组对覆盖率有贡献的配置参数进行仿真。判定若配置参数能提高当前覆盖率,则在常规的验证平台,利用该组有用的配置参数(即该组能提高当前覆盖率的配置参数),对于待验证硬件进行激励驱动、仿真、收集结果和比较结果,以对待验证硬件进行ic验证。
72.由此可见,本实施例中的结合约束随机的仿真方法,能够在进行仿真时,仅采用提前判断出的能够提高当前覆盖率的配置参数进行仿真,若配置参数对提高覆盖率不会做出贡献则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,可供各个验证环境参考调用。
73.结合约束随机的仿真系统实施例
74.本实施例给出了一种结合约束随机的仿真系统,该仿真系统包括处理器,处理器用于执行程序指令,以实现如上述结合约束随机的仿真方法实施例中的结合约束随机的仿真方法步骤:
75.1)通过约束随机特性生成一组配置参数;
76.本实施例中,该步骤利用systemverilog的约束随机特性进行配置参数的随机化以及约束,定义所有配置参数的取值范围以及相关权重。
77.2)通过覆盖率收集方法对该组配置参数进行采样统计,判断当前配置参数是否能提高当前覆盖率;如果当前配置参数能提高当前覆盖率,则利用该组能提高当前覆盖率的配置参数对待验证硬件进行驱动仿真,以对待验证硬件进行验证;
78.如果当前配置参数不能提高当前覆盖率,则舍弃当前配置参数,重新进行步骤1),
继续通过约束随机生成下一组配置参数。
79.本实施例中,利用覆盖率收集方法,即systemverilog的covergroup方法对该组配置参数进行采样,该步骤能够在对待验证硬件进行仿真前,先分析随机约束生成的当前配置是否对覆盖率有所提高,这个操作不占用仿真时间,并能够通过舍弃没用的配置参数,快速寻找有用的配置参数,从而避免浪费冗余的仿真时间,最终输出一组对覆盖率有贡献的配置参数进行仿真。判定若配置参数能提高当前覆盖率,则在常规的验证平台,利用该组有用的配置参数(即该组能提高当前覆盖率的配置参数),对于待验证硬件进行激励驱动、仿真、收集结果和比较结果,以对待验证硬件进行ic验证。
80.由此可见,本实施例中的结合约束随机的仿真系统,能够在进行仿真时,仅采用提前判断出的能够提高当前覆盖率的配置参数进行仿真,若配置参数对提高覆盖率不会做出贡献则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省掉了冗余配置参数的仿真时间,因此能够加速功能覆盖率收敛,提高验证效率;并且,能够自动化比对覆盖率是否达到覆盖率目标,自动判断是否继续进行仿真,更加简单易行,可复用性高,能够适应各个验证环境的参考调用。
81.本发明具有以下特点:
82.1)在进行仿真前,先判断当前的一组配置参数是否能提高当前覆盖率,若不能则该组配置参数不会参与仿真过程,在不影响仿真效果的基础上节省了冗余配置参数的仿真时间,仅根据能够提高当前覆盖率的配置参数进行仿真,因此能够加速功能覆盖率收敛,提高验证效率。
83.2)自动化比对覆盖率是否达到覆盖率目标,并自动判断是否继续进行仿真或继续进行配置参数的筛选,更加简单易行,可复用性高,可供各个验证环境参考调用。
84.应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表