一种基于代理模型的面向断言覆盖率的模拟矢量自动生成方法技术

技术编号:36190226 阅读:27 留言:0更新日期:2022-12-31 21:03
本发明专利技术公开了一种基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其包括:轻量级模拟矢量自动生成,针对System Verilog文件中前置条件只涉及到模块输入的断言语句;代理模型生成,针对System Verilog文件中前置条件复杂的断言生成代理模型;多断言模拟矢量自动生成,生成同时激活多条断言的模拟矢量。本发明专利技术具有原理简单、操作简便、能够提高效率等优点。优点。优点。

【技术实现步骤摘要】
一种基于代理模型的面向断言覆盖率的模拟矢量自动生成方法


[0001]本专利技术主要涉及到超大规模集成电路的验证
,特指一种基于代理模型的面向断言覆盖率的模拟矢量自动生成方法。

技术介绍

[0002]在现代电子设计自动化流程中,复杂性的增加和上市时间的缩短使得功能验证成为硬件设计流程中的主要瓶颈。其中,仿真(模拟)在功能验证中发挥了不可替代的作用,基于仿真的功能验证是一个关键而又耗时的步骤。在此步骤中,一般使用大量模拟矢量来模拟设计,并监控信号以确定是否满足覆盖目标或功能要求。
[0003]而随机模拟矢量生成、基于随机采样的约束求解模拟矢量生成和定向模拟矢量生成是仿真验证中测试生成的三种最广泛的方法。
[0004]使用基于随机采样的约束求解进行模拟矢量生成是当今硬件验证流程中的主流方法之一。它要求随机产生的模拟矢量满足一组指定的输入约束,然后应用这些输入约束通过仿真来验证给定的设计特性。整个流程的效率在很大程度上取决于:(1)约束求解器的性能;(2)生成解的分布情况。而这方面的工作已经较为成熟,例如基于马尔可夫链蒙特卡罗方法的混合求解器、基于熵和XOR约束的随机模拟矢量生成等。
[0005]相反,定向模拟矢量生成的目标是使用较少的模拟矢量来激活特定覆盖目标(功能要求),也是模拟矢量生成的主流方法之一,定向测试生成主要针对指定的设计特性做模拟矢量生成,这方面也有大量工作,例如基于布尔可满足性(SAT)的有界模型检测(BMC)方法、基于符号执行和RTL模型的随机仿真相结合的方法。
[0006]上述现有的传统方法仍然存在一定的不足之处:
[0007]1、使用基于随机采样的约束求解模拟矢量生成方法时总会有覆盖不到的断言。
[0008]2、使用基于形式化方法定向测试生成时,状态空间爆炸造成求解复杂度剧增。
[0009]3、结合基于形式化方法定向模拟矢量生成与基于随机采样的约束求解模拟矢量生成的方法时,丧失了很多求解精度。
[0010]上述问题是一直以来在硬件模拟矢量生成领域存在的主要问题。模拟矢量生成时,由于中间信号体现了电路信息,所以基于随机采样的模拟矢量生成很难激活包含了中间信号的断言;而为了激活这些包含中间信号的断言时,采用的基于形式化方法的定向模拟适量自动生成,又会引入因分析电路带来的状态空间爆炸,时间开销爆炸的问题。

技术实现思路

[0011]本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种原理简单、操作简便、能够提高效率的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法。
[0012]为解决上述技术问题,本专利技术采用以下技术方案:
[0013]一种基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其包括:
[0014]轻量级模拟矢量自动生成,针对System Verilog文件中前置条件只涉及到模块输入的断言语句;
[0015]代理模型生成,针对System Verilog文件中前置条件复杂的断言生成代理模型;
[0016]多断言模拟矢量自动生成,生成同时激活多条断言的模拟矢量。
[0017]作为本专利技术的进一步改进:针对System Verilog文件中涉及的断言包括:
[0018](a)、前置条件只包含模块输入信号的断言;
[0019](b)、前置条件除模块输入信号外还包含中间信号和输出信号的断言。
[0020]作为本专利技术的进一步改进:所述轻量级模拟矢量自动生成的过程中伴随着针对断言覆盖率的分析指导的过程。
[0021]作为本专利技术的进一步改进:所述针对断言覆盖率的分析指导是指每一轮模拟矢量生成后,根据模拟仿真结果,得到断言的覆盖率,指导下一轮模拟矢量生成。
[0022]作为本专利技术的进一步改进:通过随机采样工具生成所述前置条件只涉及模块输入信号的断言语句。
[0023]作为本专利技术的进一步改进:所述随机采样工具在处理中使用约束描述标准编写的约束文件,生成满足约束文件中提到的约束的变量的值,即所述模拟矢量。
[0024]作为本专利技术的进一步改进:所述代理模型的生成包括在不完全展开电路分析的基础上,将涉及到中间信号的断言转化为只涉及到输入信号的断言。
[0025]作为本专利技术的进一步改进:通过机器学习工具来完成所述代理模型的生成,包括:给定Verilog文件,自动快速生成断言,即输入信号与中间信号的近似映射关系。
[0026]作为本专利技术的进一步改进:所述机器学习工具生成Surrogate模型,利用机器学习工具得到的输入信号与中间信号的映射关系,将涉及到中间信号的断言转化为只涉及到输入信号的断言,留待轻量级模拟矢量生成。
[0027]作为本专利技术的进一步改进:所述多断言模拟矢量自动生成的过程包括:分析断言的前置条件,将断言的前置条件建成树形结构,寻找树之间的包含关系。
[0028]与现有技术相比,本专利技术的优点就在于:
[0029]1、本专利技术的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,结合了基于随机采样的模拟矢量生成技术和基于Surrogate技术的定向模拟矢量自动生成技术,具有速度快,生成模拟矢量多,减少覆盖角落等优势。
[0030]2、本专利技术的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,将覆盖率分析工具与模拟矢量自动生成工具进行集成,将覆盖率分析结果作为模拟矢量生成的指导输入,提高了模拟矢量生成准确性。
[0031]3、本专利技术的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,对现有基于形式化方法的定向模拟矢量自动生成进行了改进,提高了模拟矢量生成效率,并实现了系统原型。进一步,本专利技术可以是模拟矢量自动生成工具与仿真漏洞挖掘工具的集成,将模拟矢量生成结果作为仿真的输入,用于发现硬件设计中的缺陷。
附图说明
[0032]图1是本专利技术方法的流程示意图。
[0033]图2是本专利技术在具体应用实例中得到中间信号与输入信号映射关系的功能流程示意图。
[0034]图3是本专利技术在具体应用实例中根据模拟输出进行效果评估示意图。
[0035]图4是本专利技术在具体应用实例中对多条断言进行处理示意图。
具体实施方式
[0036]以下将结合说明书附图和具体实施例对本专利技术做进一步详细说明。
[0037]如图1

图3所示,本专利技术的一种基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其包括:
[0038]轻量级模拟矢量自动生成,针对System Verilog文件中前置条件只涉及到模块输入的断言语句;
[0039]代理模型(Surrogate Model)生成,针对System Verilog文件中前置条件复杂的断言生成代理模型方便处理;
[0040]多断言模拟矢量自动生成,生成同时激活多条断言的模拟矢量。
[0041]在具体应用实例中,针对System Verilog中涉及的断言主要分为两类本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其特征在于,包括:轻量级模拟矢量自动生成,针对System Verilog文件中前置条件只涉及到模块输入的断言语句;代理模型生成,针对System Verilog文件中前置条件复杂的断言生成代理模型;多断言模拟矢量自动生成,生成同时激活多条断言的模拟矢量。2.根据权利要求1所述的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其特征在于,针对System Verilog文件中涉及的断言包括:(a)、前置条件只包含模块输入信号的断言;(b)、前置条件除模块输入信号外还包含中间信号和输出信号的断言。3.根据权利要求1所述的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其特征在于,所述轻量级模拟矢量自动生成的过程中伴随着针对断言覆盖率的分析指导的过程。4.根据权利要求3所述的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其特征在于,所述针对断言覆盖率的分析指导是指每一轮模拟矢量生成后,根据模拟仿真结果,得到断言的覆盖率,指导下一轮模拟矢量生成。5.根据权利要求1所述的基于代理模型的面向断言覆盖率的模拟矢量自动生成方法,其特征在于,通过随机采样工具生成所述前置条件只涉及模块输入信号的断言语句。6.根据权利要求5所述的基于代理模型的面向断...

【专利技术属性】
技术研发人员:李暾史明川邹鸿基秦立国毛晓光
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1