System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及芯片验证,特别涉及一种基于粒子群算法的芯片验证方法、装置、设备及介质。
技术介绍
1、芯片验证覆盖率是指在验证过程中能够覆盖到设计功能和代码的比例。高覆盖率是确保芯片设计正确性和可靠性的重要指标之一。由于芯片设计规模不断增大,验证任务变得越来越复杂和困难,因此研究如何提高覆盖率的方法变得至关重要。
2、早期的芯片验证主要依赖于手工编写测试用例和仿真验证。这种方法存在一些问题,例如测试用例的覆盖不完全、人工操作耗时长等。为了解决这些问题,研究者们引入了自动化验证技术,包括模型检查、形式化验证、符号执行和随机测试等。但传统的芯片验证方法通常需要耗费大量时间和资源,并且往往依赖于随机生成测试用例,效率低下且验证准确性不高。
3、因此亟待一种能够提高覆盖率收敛速度和芯片验证准确性的方法。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种基于粒子群算法的芯片验证方法、装置、设备及介质,能够提高覆盖率收敛速度和芯片验证准确性,其具体方案如下:
2、第一方面,本申请公开了一种基于粒子群算法的芯片验证方法,包括:
3、确定待验证芯片的初始功能覆盖率,若所述初始功能覆盖率小于预设功能覆盖率,则确定一组约束条件;
4、基于预设的惯性权重计算策略确定本次迭代对应的惯性权重,并基于预设的学习因子计算策略计算所述本次迭代对应的学习因子的值;
5、根据所述惯性权重和所述学习因子的值计算粒子群中的每一粒子在所述约束条件
6、根据所述本次迭代对应的覆盖率文件以及所述本次迭代之前的每一次迭代对应的覆盖率文件判断当前功能覆盖率是否小于所述预设功能覆盖率;
7、若所述当前功能覆盖率小于所述预设功能覆盖率,则跳转至所述确定一组约束条件的步骤,以便进行下一次迭代,直至所述当前功能覆盖率不小于所述预设功能覆盖率,则退出迭代。
8、可选的,所述基于预设的惯性权重计算策略确定本次迭代对应的惯性权重,包括:
9、确定所述本次迭代的粒子适应度值;
10、基于所述粒子适应度值与预设适应度最优值的关系确定所述本次迭代对应的所述惯性权重。
11、可选的,所述基于所述粒子适应度值与预设适应度最优值的关系确定所述本次迭代对应的所述惯性权重,包括:
12、若所述粒子适应度值大于所述预设适应度最优值,则基于第一预设公式确定所述本次迭代对应的所述惯性权重;
13、其中,所述第一预设公式为:
14、
15、其中,w表示所述惯性权重;wmin表示预设的惯性权重的下限值;wmax表示预设的惯性权重的上限值;g(i)表示所述粒子适应度值;gbest表示所述预设适应度最优值;gworst表示预设的适应度下限值。
16、可选的,所述基于所述粒子适应度值与预设适应度最优值的关系确定所述本次迭代对应的所述惯性权重,包括:
17、若所述粒子适应度值小于所述预设适应度最优值,则根据第二预设公式确定所述本次迭代对应的所述惯性权重;
18、其中,所述第二预设公式为:
19、w=wmin;
20、其中,w表示所述惯性权重;wmin表示预设的惯性权重的下限值。
21、可选的,所述基于预设的学习因子计算策略计算所述本次迭代对应的学习因子的值,包括:
22、基于所述学习因子对粒子的求解能力的影响情况确定所述学习因子与迭代次数的对应关系;
23、根据所述学习因子与所述迭代次数的对应关系计算所述本次迭代对应的所述学习因子的值。
24、可选的,所述基于所述学习因子对粒子的求解能力的影响情况确定所述学习因子与迭代次数的对应关系,包括:
25、确定用于表示粒子的自我认知能力的第一学习因子,并确定用于表示粒子的全局认知能力的第二学习因子;
26、根据所述第一学习因子和所述第二学习因子对粒子的求解能力的影响情况分别确定所述第一学习因子和所述第二学习因子与所述迭代次数的对应关系;
27、相应的,所述根据所述学习因子与所述迭代次数的对应关系计算所述本次迭代对应的所述学习因子的值,包括:
28、根据所述第一学习因子与所述迭代次数的对应关系以及第三预设公式计算所述本次迭代对应的所述第一学习因子的值;
29、其中,所述第三预设公式为:
30、
31、其中,c1表示所述第一学习因子的值;sin表示正弦函数;a和b为常数;iter为本次迭代次数;itermax为预设的迭代次数的上限值;
32、根据所述第二学习因子与所述迭代次数的对应关系以及第四预设公式计算所述本次迭代对应的所述第二学习因子的值;
33、其中,所述第四预设公式为:
34、
35、其中,c2表示所述第二学习因子的值;cos表示余弦函数。
36、可选的,所述根据所述本次迭代对应的覆盖率文件以及所述本次迭代之前的每一次迭代对应的覆盖率文件判断当前功能覆盖率是否小于所述预设功能覆盖率,包括:
37、将所述本次迭代对应的覆盖率文件与所述本次迭代之前的每一次迭代对应的覆盖率文件进行合并,得到目标覆盖率文件;
38、根据所述目标覆盖率文件确定所述当前功能覆盖率,并判断所述当前功能覆盖率是否小于所述预设功能覆盖率。
39、第二方面,本申请公开了一种基于粒子群算法的芯片验证装置,包括:
40、约束条件确定模块,用于确定待验证芯片的初始功能覆盖率,若所述初始功能覆盖率小于预设功能覆盖率,则确定一组约束条件;
41、计算模块,用于基于预设的惯性权重计算策略确定本次迭代对应的惯性权重,并基于预设的学习因子计算策略计算所述本次迭代对应的学习因子的值;
42、覆盖率文件确定模块,用于根据所述惯性权重和所述学习因子的值计算粒子群中的每一粒子在所述约束条件下的位置,并从所述位置中确定出目标位置,以基于所述目标位置对所述待验证芯片进行仿真验证,然后基于仿真验证结果得到所述本次迭代对应的覆盖率文件;
43、功能覆盖率判断模块,用于根据所述本次迭代对应的覆盖率文件以及所述本次迭代之前的每一次迭代对应的覆盖率文件判断当前功能覆盖率是否小于所述预设功能覆盖率;
44、跳转模块,用于若所述当前功能覆盖率小于所述预设功能覆盖率,则跳转至所述确定一组约束条件的步骤,以便进行下一次迭代,直至所述当前功能覆盖率不小于所述预设功能覆盖率,则退出迭代。
45、第三方面,本申请公开了一种电子设备,包括:
46、存储器,用于保存计算机程序;
47、处理器,用于执行所述计算机程序,以实现前述公开的基于粒子群算法的本文档来自技高网...
【技术保护点】
1.一种基于粒子群算法的芯片验证方法,其特征在于,包括:
2.根据权利要求1所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于预设的惯性权重计算策略确定本次迭代对应的惯性权重,包括:
3.根据权利要求2所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于所述粒子适应度值与预设适应度最优值的关系确定所述本次迭代对应的所述惯性权重,包括:
4.根据权利要求2所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于所述粒子适应度值与预设适应度最优值的关系确定所述本次迭代对应的所述惯性权重,包括:
5.根据权利要求1所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于预设的学习因子计算策略计算所述本次迭代对应的学习因子的值,包括:
6.根据权利要求5所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于所述学习因子对粒子的求解能力的影响情况确定所述学习因子与迭代次数的对应关系,包括:
7.根据权利要求1至6任一项所述的基于粒子群算法的芯片验证方法,其特征在于,所述根据所述本次迭代对应的覆盖率文件以及所
8.一种基于粒子群算法的芯片验证装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于粒子群算法的芯片验证方法。
...【技术特征摘要】
1.一种基于粒子群算法的芯片验证方法,其特征在于,包括:
2.根据权利要求1所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于预设的惯性权重计算策略确定本次迭代对应的惯性权重,包括:
3.根据权利要求2所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于所述粒子适应度值与预设适应度最优值的关系确定所述本次迭代对应的所述惯性权重,包括:
4.根据权利要求2所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于所述粒子适应度值与预设适应度最优值的关系确定所述本次迭代对应的所述惯性权重,包括:
5.根据权利要求1所述的基于粒子群算法的芯片验证方法,其特征在于,所述基于预设的学习因子计算策略计算所述本次迭代对应的学习因子的值,包括...
【专利技术属性】
技术研发人员:刘胜军,姚香君,夏丽煖,孟阳,刘世伟,孔德智博,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。