System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种加速验证覆盖率收敛的数字集成电路验证系统技术方案_技高网

一种加速验证覆盖率收敛的数字集成电路验证系统技术方案

技术编号:41287600 阅读:4 留言:0更新日期:2024-05-11 09:36
本申请涉及数字集成电路验证技术领域,特别是涉及一种加速验证覆盖率收敛的数字集成电路验证系统,系统包括:待测试单元、验证IP、输入代理模块、输出代理模块、参考模型、比较单元、处理器和存储有计算机程序的存储器,当计算机程序被处理器执行时,实现以下步骤:由验证IP形成第一验证环境进行迭代仿真,根据激励覆盖率对序列对象产生序列项的约束进行调整,直至激励覆盖率满足第一预设条件,由待测试单元形成第二验证环境进行迭代仿真,直至待测试单元的代码覆盖率满足第二预设条件,完成验证,可知,使用验证IP代替待测试单元,使激励覆盖率能够快速收敛,在对待测试单元验证,将记录有效随机种子下来,提高代码覆盖率的收敛效率。

【技术实现步骤摘要】

本专利技术涉及数字集成电路验证,特别是涉及一种加速验证覆盖率收敛的数字集成电路验证系统


技术介绍

1、验证覆盖率是集成电路验证阶段对设计验证程度的一种度量,能够反映验证计划的执行程度,以及数字集成电路对应的rtl代码中是否还有没执行过的分支结构或语句,验证覆盖率通常可以分为功能覆盖率和代码覆盖率。

2、目前,在进行rtl代码验证时,通常直接将rtl代码作为待测试单元进行验证,但rtl代码的仿真速度较慢,且在激励不够全面时,使用rtl代码进行仿真验证会使得验证覆盖率收敛的效率更低,另外,在收集代码覆盖率时可能存在很难覆盖到的覆盖点,现有技术通常需要通过大量的迭代回归对其进行覆盖,如果仍然无法覆盖,就需要通过构造定向用例甚至对接口信号进行强制操作来实现覆盖率的收敛,也导致覆盖率收敛的效率较低。

3、因此,如何提高数字集成电路验证系统中验证覆盖率收敛的效率成为了亟待解决的问题。


技术实现思路

1、针对上述技术问题,本专利技术采用的技术方案为:

2、一种加速验证覆盖率收敛的数字集成电路验证系统,所述系统包括:待测试单元、验证ip、输入代理模块、输出代理模块、参考模型、比较单元、处理器和存储有计算机程序的存储器,其中,所述输入代理模块包括序列发生器、驱动器和第一监视器,所述输出代理模块包括第二监视器,当所述计算机程序被处理器执行时,实现以下步骤:

3、s101,由所述验证ip、所述输入代理模块、所述输出代理模块、所述参考模型和所述比较单元形成第一验证环境。

4、s102,在所述第一验证环境下进行迭代仿真,对所述驱动器发送给所述验证ip的激励进行收集,确定激励覆盖率,根据所述激励覆盖率对所述序列发生器对应的序列对象产生序列项时的约束进行迭代调整,直至所述激励覆盖率满足第一预设条件。

5、s103,由所述待测试单元、所述输入代理模块、所述输出代理模块、所述参考模型和所述比较单元形成第二验证环境。

6、s104,在所述第二验证环境下进行迭代仿真,直至所述待测试单元的代码覆盖率满足第二预设条件,完成验证,其中,步骤s104还包括以下步骤:

7、s1041,初始化迭代轮次i=1。

8、s1042,设置m(i)个随机种子{ai1,ai2,…,aim(i),…,aim(i)},aim(i)为第i个迭代轮次下设置的第m(i)个随机种子,m(i)为[1,m(i)]范围内的整数,根据aim(i)生成对应的激励bim(i),使用bim(i)对所述第二验证环境进行仿真,得到bim(i)对应所述待测试单元的代码覆盖范围cim(i)。

9、s1043,从ci1,ci2,…,cim(i),…,cim(i)中选择n(i)个代码覆盖范围作为参考范围,其他代码覆盖范围作为非参考范围,n(i)为[1,m(i)]范围内的整数,对所有参考范围取交集,得到基准范围。

10、s1044,遍历每个非参考范围,将所述非参考范围与所述基准范围取交集,得到中间范围,若所述中间范围大于所述基准范围,则将所述非参考范围对应的随机种子作为参考种子,得到r(i)个参考种子,将所述迭代轮次i增加1。

11、s1045,返回执行步骤s1042至步骤s1044,在步骤s1042中,所设置的m(i)个随机种子中包括所有参考种子,在步骤s1043中,各个参考种子对应的代码覆盖范围均作为所述参考范围,直至ci1,ci2,…,cim(i),…,cim(i)的交集对应的代码覆盖率满足所述第二预设条件。

12、本专利技术与现有技术相比具有明显的有益效果,借由上述技术方案,本专利技术提供的一种加速验证覆盖率收敛的数字集成电路验证系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:

13、本专利技术提供了一种一种加速验证覆盖率收敛的数字集成电路验证系统,所述系统包括:待测试单元、验证ip、输入代理模块、输出代理模块、参考模型、比较单元、处理器和存储有计算机程序的存储器,其中,所述输入代理模块包括序列发生器、驱动器和第一监视器,所述输出代理模块包括第二监视器,当所述计算机程序被处理器执行时,实现以下步骤:

14、s101,由所述验证ip、所述输入代理模块、所述输出代理模块、所述参考模型和所述比较单元形成第一验证环境。

15、s102,在所述第一验证环境下进行迭代仿真,对所述驱动器发送给所述验证ip的激励进行收集,确定激励覆盖率,根据所述激励覆盖率对所述序列发生器对应的序列对象产生序列项时的约束进行迭代调整,直至所述激励覆盖率满足第一预设条件。

16、s103,由所述待测试单元、所述输入代理模块、所述输出代理模块、所述参考模型和所述比较单元形成第二验证环境。

17、s104,在所述第二验证环境下进行迭代仿真,直至所述待测试单元的代码覆盖率满足第二预设条件,完成验证,其中,步骤s104还包括以下步骤:

18、s1041,初始化迭代轮次i=1。

19、s1042,设置m(i)个随机种子{ai1,ai2,…,aim(i),…,aim(i)},aim(i)为第i个迭代轮次下设置的第m(i)个随机种子,m(i)为[1,m(i)]范围内的整数,根据aim(i)生成对应的激励bim(i),使用bim(i)对所述第二验证环境进行仿真,得到bim(i)对应所述待测试单元的代码覆盖范围cim(i)。

20、s1043,从ci1,ci2,…,cim(i),…,cim(i)中选择n(i)个代码覆盖范围作为参考范围,其他代码覆盖范围作为非参考范围,n(i)为[1,m(i)]范围内的整数,对所有参考范围取交集,得到基准范围。

21、s1044,遍历每个非参考范围,将所述非参考范围与所述基准范围取交集,得到中间范围,若所述中间范围大于所述基准范围,则将所述非参考范围对应的随机种子作为参考种子,得到r(i)个参考种子,将所述迭代轮次i增加1。

22、s1045,返回执行步骤s1042至步骤s1044,在步骤s1042中,所设置的m(i)个随机种子中包括所有参考种子,在步骤s1043中,各个参考种子对应的代码覆盖范围均作为所述参考范围,直至ci1,ci2,…,cim(i),…,cim(i)的交集对应的代码覆盖率满足所述第二预设条件。

23、可知,在验证前期使用验证ip代替待测试单元,从而加速仿真,使得验证过程能够快速迭代,进而不断调整序列项生成的约束,使得验证计划中的激励覆盖率能够快速收敛,以便于为后期待测试单元的验证提供更为丰富和完备的激励,在对待测试单元进行验证时,将随机种子中对代码覆盖率起到增益效果的随机种子记录下来,使得后续回归时能够有效提高难以覆盖到的覆盖点的收集效率,提高代码覆盖率的收敛效率,从而提高数字集成电路验证系统中验证覆盖率收敛的效率。

本文档来自技高网...

【技术保护点】

1.一种加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述系统包括:待测试单元、验证IP、输入代理模块、输出代理模块、参考模型、比较单元、处理器和存储有计算机程序的存储器,其中,所述输入代理模块包括序列发生器、驱动器和第一监视器,所述输出代理模块包括第二监视器,当所述计算机程序被处理器执行时,实现以下步骤:

2.根据权利要求1所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述系统还包括仲裁器,所述仲裁器用于在所述序列发生器同时接收到S个序列对象所产生的序列项时,从所有序列项中确定出一个序列项作为目标序列项进行响应,将所述目标序列项发送给所述驱动器,S为大于1的整数。

3.根据权利要求2所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述仲裁器为固定优先级仲裁器,所述S个序列对象按照优先级从大到小的排序结果为{D1,D2,…,Ds,…,DS},Ds为优先级在所述S个序列对象中排第s位的序列对象,s为[1,S]范围内的整数;

4.根据权利要求2所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述仲裁器为轮询优先级仲裁器;

5.根据权利要求1所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,在步骤S102之后还包括以下步骤:

6.根据权利要求5所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述第一验证环境下的翻转覆盖率满足第三预设条件是指:所述翻转覆盖率大于预设的第三阈值。

7.根据权利要求1所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述激励覆盖率满足第一预设条件是指:所述激励覆盖率大于预设的第一阈值。

8.根据权利要求1所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述待测试单元的代码覆盖率满足第二预设条件是指:所述代码覆盖率大于预设的第二阈值。

...

【技术特征摘要】

1.一种加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述系统包括:待测试单元、验证ip、输入代理模块、输出代理模块、参考模型、比较单元、处理器和存储有计算机程序的存储器,其中,所述输入代理模块包括序列发生器、驱动器和第一监视器,所述输出代理模块包括第二监视器,当所述计算机程序被处理器执行时,实现以下步骤:

2.根据权利要求1所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述系统还包括仲裁器,所述仲裁器用于在所述序列发生器同时接收到s个序列对象所产生的序列项时,从所有序列项中确定出一个序列项作为目标序列项进行响应,将所述目标序列项发送给所述驱动器,s为大于1的整数。

3.根据权利要求2所述的加速验证覆盖率收敛的数字集成电路验证系统,其特征在于,所述仲裁器为固定优先级仲裁器,所述s个序列对象按照优先级从大到小的排序结果为{d1,d2,…,ds,…,ds},ds为优先级在所...

【专利技术属性】
技术研发人员:胡学莹
申请(专利权)人:沐曦科技成都有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1