激励生成装置、芯片验证装置及系统制造方法及图纸

技术编号:21571828 阅读:44 留言:0更新日期:2019-07-10 15:29
本发明专利技术涉及本发明专利技术提出的一种激励生成装置、芯片验证装置及系统,随机约束文件生成模块,用于根据芯片需验证的信息随机生成约束文件;模板库,用于存储所述约束文件;解析模块,用于解析所述约束文件,得到第一约束条件;条件调整模块,用于调整所述约束文件中第一约束条件,得到第二约束条件;激励生成模块,用于根据所述第一约束条件或所述第二约束条件生成验证激励。该激励生成装置可以提供了更加多样的激励生成机制,可以得到更多类型的验证激励,这样不仅利于全面进行芯片验证,且利于快速的提升覆盖率,提高芯片验证效率。

Excitation Generator, Chip Verification Device and System

【技术实现步骤摘要】
激励生成装置、芯片验证装置及系统
本专利技术涉及验证
,特别是涉及一种激励生成装置、芯片验证装置及系统。
技术介绍
芯片验证的其中一个目的是检测芯片上运行的程序是否存在bug。在芯片验证时,芯片验证系统的RTL仿真器(RegisterTransferlevelsimulation)和验证模型执行激励生成装置生成的验证激励,输出执行结果,芯片验证系统的处理器根据该输出结果得到覆盖率数据,并根据得到的覆盖率数据是否达到预期判断芯片验证是否终止。覆盖率(Coverage)数据是用来评价验证过程与结果的一种量化指标。目前在使用芯片验证系统进行芯片验证时产生激励的机制包括:1)基于应用(Applicationbased)生成激励:根据需测试的应用程序设置的约束文件(config-file)生成激励。2)随机(Random)生成激励:根据随机产生约束文件(config-file)生成激励。3)基于模板(Templatebase)生成激励:根据激励生成装置模板库中的约束文件(config-file)生成激励。模板库中约束文件包含根据需验证芯片的基本功能点设置的约束文件,以及对覆盖率的提升影响较高的激励对应的约束文件。芯片验证的基本功能点会随验证的需求(DUT/DUVdesignundertest/verification)或芯片类型的改变而改变。例如:对于CPU而言,基本功能点可以包括浮点运算,定点运算,任务调度,内存分配,内存管理,数据IO。而对于人工神经网络芯片而言,基本功能点可以包括人工神经网络运算(比如卷积运算,矩阵运算,全连接运算),任务调度,内存分配,内存管理,数据IO。一般情形下,芯片验证得到的覆盖率数据涉及的激励越全面,RTL仿真器运行通过的激励越多,该芯片验证的覆盖率也就越高,对应验证的芯片的“保障程度”同样也越高。在芯片验证时,随着RTL仿真器和验证模型执行的激励数的增多,覆盖率会相应的提升。但是,覆盖率在提升到一定数值后,即使RTL仿真器继续执行激励,覆盖率也难以提升。因此,在进行芯片验证时,如何快速的获取对覆盖率提升影响大的激励便成为亟需解决的技术问题。
技术实现思路
基于此,有必要针对覆盖率在提升到一定数值后难以提升的问题,提供一种一种激励生成装置生成激励,以提高芯片验证效率。一种激励生成装置,包括:随机约束文件生成模块,用于根据芯片需验证信息随机生成约束文件;模板库,用于存储生成激励的约束文件;解析模块,用于解析约束文件,得到第一约束条件;条件调整模块,用于调整解析模块解析约束文件得到的第一约束条件,生成验证激励的第二约束条件。对约束文件中的第一约束条件调整的方式可以是,增加、减少或者替换第一约束条件;激励生成模块,用于根据生成验证激励的第一约束条件或第二约束条件生成验证激励。在其中一个实施例中,所述激励生成装置包括:数据分析模块,用于获取覆盖率数据并进行数据分析,得到覆盖率数据中激励对应的覆盖率提升值,再根据覆盖率提升值得到目标激励;所述解析模块,用于对目标激励对应的约束文件进行解析,得到第一约束条件。在其中一个实施例中,所述数据分析模块用于根据激励对应的覆盖率提升值是否达到提升阈值,得到目标激励,或者,对激励对应的覆盖率提升值进行排序,根据排序结果获取目标激励。在其中一个实施例中,所述条件调整模块包括:扰动子模块,用于对约束文件进行指令扰动,得到验证激励的第一约束条件。在其中一个实施例中,所述扰动子模块,用于对约束文件中的指令顺序进行顺序扰动,得到验证激励的指令顺序。在其中一个实施例中,所述扰动子模块,用于设置顺序扰动参数。在其中一个实施例中,所述扰动子模块,用于对约束文件中指令域值进行域值扰动,得到验证激励的指令域值。在其中一个实施例中,所述扰动子模块,用于设置顺序扰动参数。在其中一个实施例中,所述扰动子模块在对约束文件进行域值扰动时,按照预设的指令域值的变化值满足的数学分布进行扰动。在其中一个实施例中,所述扰动子模块进行域值扰动时,预设的指令域值的变化值满足的数学分布,选自均匀分布、正态分布、柯西分布、拉普拉斯分布、逆伽玛分布或者列维分布中的一种。在其中一个实施例中,所述扰动子模块在对约束文件进行域值扰动时,按照指令域值的变化值满足列维分布进行域值扰动,得到验证激励的指令域值。在其中一个实施例中,所述条件调整模块包括:拼合子模块,用于获取约束文件,并将各约束文件中的第一约束条件组合得到生成验证激励的约束文件。一种芯片验证装置,包括上述的激励生成装置、RTL仿真器、验证模型和第一处理器,激励生成装置,用于生成验证激励;RTL仿真器和验证模型,用于执行所述验证激励,输出执行结果;第一处理器,用于根据所述执行结果生成覆盖率数据。在其中一个实施例中,当所述芯片验证装置包含所述数据分析模块时,所述数据分析模块,用于获取当前芯片验证的覆盖率数据,并进行数据分析得到当前覆盖率数据中的目标激励。一种芯片验证装置,包括上述的激励生成装置、多个RTL仿真器、验证模型、控制模块和第二处理器,所述激励生成装置,用于生成验证激励;所述RTL仿真器和验证模型,用于执行所述验证激励输出执行结果,并将执行结果发送至数据处理器;所述数据处理器,根据接收的多个输出结果生成覆盖率数据,并将生成覆盖率数据发送至控制模块;所述控制模块,用于根据覆盖率数据中的覆盖率是否达到第一预设阈值,若判断结果为是,则终止芯片验证;若判断结果为否,则控制所述激励生成装置继续生成验证激励进行RTL仿真。在其中一个实施例中,所述激励生成装置,用于根据覆盖率数据中各激励对应的覆盖率提升值得到多个目标激励,获取所述多个目标激励对应的多个约束文件,根据所述多个约束文件生成多个验证激励。在其中一个实施例中,所述激励生成装置,用于根据覆盖率数据中各激励对应的覆盖率提升值得到一个目标激励,获取一个目标激励对应的约束文件,并对所述约束文件中的第一约束条件进行调整得到多种生成验证的第一约束条件,根据所述多种生成验证的第一约束条件生成多个验证激励。一种芯片验证装系统,包括:多个上述的芯片验证装置、第三处理器,芯片验证装置,用于产生原始覆盖率数据;用于根据芯片验证需求,控制多个芯片验证装置分别进行RTL仿真和软件模拟产生覆盖率数据;以及根据多个所述原始覆盖率数据得到当前覆盖率数据在其中一个实施例中,所述第三处理器将获取的当前覆盖率数据发送至调控装置,调控装置根据所述当前覆盖率数据调控芯片验证装置进行RTL仿真。与传统技术相比,本专利技术提供的一种激励生成装置、芯片验证装置及系统具有如下有益效果:本专利技术提出的一种激励生成装置、芯片验证装置及系统,可以提供了更加多样的激励生成机制,可以得到更多类型的验证激励,这样不仅利于全面进行芯片验证,且利于快速的提升覆盖率,提高芯片验证效率。附图说明图1为一个实施例中提出的一种激励生成装置的结构示意图;图2为一个实施例中提出的一种芯片验证装置的结构示意图;图3为一个实施例中提出的另一种芯片验证装置的结构示意图;图4为一个实施例中提出的一种芯片验证系统的结构示意图。具体实施方式为了使本专利技术的专利技术目的、技术方案及技术效果更加清楚明白,以下结合附图对本专利技术的具体实施例进行描述。应当理解,此处所描述的具体实施例仅仅用以解释本发本文档来自技高网
...

【技术保护点】
1.一种激励生成装置,其特征在于,包括:随机约束文件生成模块,用于根据芯片需验证的信息随机生成约束文件;模板库,用于存储所述约束文件;解析模块,用于解析所述约束文件,得到第一约束条件;条件调整模块,用于调整所述约束文件中第一约束条件,得到第二约束条件;激励生成模块,用于根据所述第一约束条件或所述第二约束条件生成验证激励。

【技术特征摘要】
1.一种激励生成装置,其特征在于,包括:随机约束文件生成模块,用于根据芯片需验证的信息随机生成约束文件;模板库,用于存储所述约束文件;解析模块,用于解析所述约束文件,得到第一约束条件;条件调整模块,用于调整所述约束文件中第一约束条件,得到第二约束条件;激励生成模块,用于根据所述第一约束条件或所述第二约束条件生成验证激励。2.根据权利要求1所述的激励生成装置,其特征在于,所述激励生成装置包括:数据分析模块,用于对芯片验证的覆盖率数据进行数据分析,得到与激励对应的覆盖率提升值,并将与各所述激励对应的覆盖率提升值和第一预设阈值进行比较,得到目标激励;所述解析模块还用于对所述目标激励对应的约束文件进行解析,得到第一约束条件。3.根据权利要求2所述的激励生成装置,其特征在于,还包括:模板库构建模块,用于将所述目标激励对应的约束文件添加至激励生成装置的模板库。4.根据权利要求2所述的激励生成装置,其特征在于,还包括:获取模块,用于根据所述覆盖率提升值的大小从模板库中获取约束文件。5.根据权利要求2所述的激励生成装置,其特征在于,所述获取模块用于根据所述约束文件对应的覆盖率提升值是否达到提升阈值,从所述模板库中获取约束文件;或者,所述获取模块用于根据所述覆盖率提升值的大小对约束文件进行排序,根据排序结果从所述模板库中获取约束文件。6.根据权利要求2所述的激励生成装置,其特征在于,所述条件调整模块包括:扰动子模块,用于对所述约束文件中的相应的第一约束条件进行指令扰动,得到第二约束条件。7.根据权利要求6所述的激励生成装置,其特征在于,所述扰动子模块用于对所述约束文件中的指令顺序进行顺序扰动,得到第二约束条件。8.根据权利要求6所述的激励生成装置,其特征在于,所述扰动子模块用于获取顺序扰动参数,根据所述顺序扰动参数对所述指令顺序进行顺序扰动,得到第二约束条件。9.根据权利要求6所述的激励生成装置,其特征在于,所述扰动子模块用于对所述约束文件中指令域值进行域值扰动,得到第二约束条件。10.根据权利要求9所述的激励生成装置,其特征在于,所述扰动子模块根据预设的指令域值的变化值分布,对所述约束文件中指令域值进行域值扰动,得到第二约束条件。11.根据权利要求10所述的激励生成装置,其特征在于,所述变化值分布选自均匀分布、正态分布、柯西分布、拉普拉斯分布或者逆伽玛分布中的一种。12.根据权利要求9所述的激励生成装置,其特征在于,所述扰动子模块用于获取所述变化值取值范围,在...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京,11

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

1