一种基于功能点覆盖动态调整随机约束的验证方法技术

技术编号:16269851 阅读:16 留言:0更新日期:2017-09-22 21:31
本发明专利技术公开了一种基于功能点覆盖动态调整随机约束的验证方法,包括步骤:S1开始仿真,定义待验证芯片的功能覆盖点;S2,选取随机约束对所述功能覆盖点进行随机验证;S3,收集和分析动态覆盖率;S4,判断所述覆盖率是否达到要求,如果达到要求,仿真结束,否则转到S5;S5,判断是否需要调整算法,如果需要调整算法,转到步骤S6,否则转到S2;S6,变换随机约束动态调整算法,转到S2,直至覆盖率达到要求。与现有技术相比,本发明专利技术实现随机验证在功能点覆盖方面的效率提升,缩短研发周期。

【技术实现步骤摘要】
一种基于功能点覆盖动态调整随机约束的验证方法
本专利技术涉及芯片设计及芯片验证
,具体地说是一种基于功能点覆盖动态调整随机约束的验证方法。
技术介绍
随着工艺技术以及应用领域的不断发展,芯片的复杂度不断提高,相对应的,对于仿真验证工作的要求也在不断提高。不但需要进行仿真验证的功能点越来越繁复,而且验证周期的要求也越来越严格。现有的芯片设计流程中,分为前端设计(逻辑设计)和后端设计(物理设计)两个阶段。前端设计主要是以通过硬件描述语言(如verilog)来实现芯片的逻辑功能,而代码描述的正确性主要就是通过对这些代码(或是由这些代码生成的网表)的仿真验证来实现的。在标准的仿真验证流程中,需要确保的前端设计涉及到的逻辑功能的功能点,都需要通过构造相应的仿真场景,证实前段设计逻辑功能的正确性。在现有的仿真验证中,定向验证一般是基于覆盖率驱动的,既通过分析对于功能点覆盖(或者关键代码行的覆盖)的情况来构造特定的激励来进行定向验证。而随着待验证芯片的规模不断扩大,为了提高效率,缩短验证周期,更多的随机验证被引入到基于覆盖率驱动的验证中来。通过对于覆盖率情况的分析,添加不同的随机约束来构造更多的验证场景。然后,对于随机验证无法覆盖到的功能点,再构造特定的定向验证。
技术实现思路
为克服上述现有技术存在的不足,本专利技术的目的在于提供一种仿真验证效率高、减少人员投入的基于动态覆盖率统计的随机验证方法。本专利技术解决其技术问题所采用的技术方案是:一种基于功能点覆盖动态调整随机约束的验证方法,其特征是:包括以下步骤:S1,定义待测芯片的功能覆盖点;S2,选取随机约束对所述功能覆盖点进行随机验证;S3,收集和分析动态覆盖率;S4,判断所述覆盖率是否达到要求,如果达到要求,验证结束,否则转到步骤S5;S5,判断是否需要调整算法,如果需要调整算法,转到步骤S6,否则转到步骤S2;S6,变换随机约束动态调整算法,转到步骤S2,直至覆盖率达到要求。进一步地,验证开始之前,将所述随机约束以动态配置的方式实现。进一步地,验证过程中还包括特定退出机制,所述特定退出机制在满足预设条件时触发。进一步地,所述预设条件包括预设动态调整的次数或预设仿真的时间。进一步地,所述功能覆盖点包括待测芯片的功能点和待测芯片的运行状态。进一步地,所述功能覆盖点用断言的方式定义。进一步地,对所述随机约束的选取按照设定的算法动态变换。进一步地,对所述动态覆盖率的分析和收集采用读写文件的方式进行。本专利技术的有益效果是:本专利技术通过在现有的随机验证环境中,增加对功能覆盖点覆盖信息动态搜集和分析,即增加在仿真进行过程中对覆盖率的统计,相对于在仿真结束阶段进行覆盖率统计的方式,大大地缩短了随机验证的时间,提高工作效率。通过预先定义的动态调整算法来调整相应随机约束的,将显著地减轻定向验证在功能点覆盖上的压力,在不需要大规模增加人力的情况下缩短研发周期,节省研发投入。附图说明图1是本专利技术所述方法的流程图。图2是加入本专利技术所述方法的仿真验证流程图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。本专利技术省略了对公知常识的描述以避免不必要地限制本专利技术。本专利技术提供了一种基于功能点覆盖动态调整随机约束的验证方法,它包括的步骤如图1所示:S1,开始验证,定义待验证芯片的功能覆盖点;以断言的方式定义出关键的功能覆盖点。这里所指的关键功能覆盖点,与传统上针对待验证目标进行覆盖率统计与分析用的功能覆盖点略有不同。在不考虑时间和资源限制的情况下,本专利技术所述关键功能点的覆盖点,在原本针对待验证目标的功能覆盖点基础之上,加入针对整个仿真环境和待验证目标运行状态的覆盖点。S2,选取随机约束对所述功能覆盖点进行随机验证;S3,收集和分析动态覆盖率;为了获得对所述随机约束以及其他参数的动态调整变换,首先需要将验证环境中的随机约束以及其它参数尽可能地用可以动态配置的方式实现。如果不考虑需要对已经进行过仿真的参数进行记录和分析,可以直接用变量的方式存取参数,动态配置这些变量就可以。否则,除了变量之外,还需要以存取log文件的方式将所有进行过仿真的参数进行记录和分析。根据断言的覆盖情况动态地调整随机约束或者其它仿真参数配置。理想情况下,这些动态调整中途是不需要人力再去参与的。工程师只需要在仿真开始之前为这些动态调整制定和编写一套算法,然后依照仿真情况对随机约束进行自动化的调整。所述算法按照待验证芯片的类型进行编写,算法的内容在此不做赘述,对本领域技术人员来说能够按照待验证的芯片的情况具体确定。所述对断言的分析还包括周期性地或者以特定触发条件来扫描断言的覆盖情况。具体周期长度需要根据实际情况而定。周期太长会造成仿真时间的浪费,周期太短的话过于频繁的扫描也会降低仿真效率。在需要进行非常长时间的仿真时,可以采用自适应周期的方式进行扫描,即覆盖情况没有变化时,延迟下一次扫描的周期,反之则缩短。对断言的满足情况进行汇总记录。由于针对待验证目标比较复杂,断言比较多,或者仿真时间比较长的情况,应采用读写文件的方式进行记录和分析。上述对断言的分析和断言满足情况的汇总记录即对覆盖率的汇总和分析。S4,判断所述覆盖率是否达到要求,如果达到要求,仿真结束,否则转到S5;S5,判断是否需要调整算法,如果需要调整算法,转到步骤S6,否则转到S2;S6,变换随机约束动态调整算法,转到步骤S2,直至覆盖率达到要求,结束仿真。如图2所示,在加入本专利技术所述方法后,仿真验证过程中同时进行定向验证和动态随机验证,在完成对功能覆盖点或代码的定义之后,同时开启随机验证和定向验证,如果判断覆盖率没有达到要求,分别构造对未覆盖功能点或代码的定向激励进行进一步地定向验证和对是否需要调整算法的判断进行进一步地随机验证,两种验证同时进行,提高工作效率。优选地,为仿真设置新的退出机制。在实际仿真验证中,由于预先制定的算法不可能是完美的,具体从功能点覆盖的角度而言,在长时间的仿真之后,肯定会出现依照预设算法无论怎么动态调整也无法提高覆盖率的情况。因此,除了通常仿真都会有的异常退出机制和正常退出机制(覆盖率满足要求的情况下触发)之外,还应设置一种退出机制,在动态调整一定次数或者一定长度的仿真时间之后,覆盖率始终无法增加的情况下触发。以上所述只是本专利技术的优选实施方式,对于本
的普通技术人员来说,在不脱离本专利技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本专利技术的保护范围。本文档来自技高网
...
一种基于功能点覆盖动态调整随机约束的验证方法

【技术保护点】
一种基于功能点覆盖动态调整随机约束的验证方法,其特征是:包括以下步骤:S1,定义待测芯片的功能覆盖点;S2,选取随机约束对所述功能覆盖点进行随机验证;S3,收集和分析动态覆盖率;S4,判断所述覆盖率是否达到要求,如果达到要求,验证结束,否则转到步骤S5;S5,判断是否需要调整算法,如果需要调整算法,转到步骤S6,否则转到步骤S2;S6,变换随机约束动态调整算法,转到步骤S2,直至覆盖率达到要求。

【技术特征摘要】
1.一种基于功能点覆盖动态调整随机约束的验证方法,其特征是:包括以下步骤:S1,定义待测芯片的功能覆盖点;S2,选取随机约束对所述功能覆盖点进行随机验证;S3,收集和分析动态覆盖率;S4,判断所述覆盖率是否达到要求,如果达到要求,验证结束,否则转到步骤S5;S5,判断是否需要调整算法,如果需要调整算法,转到步骤S6,否则转到步骤S2;S6,变换随机约束动态调整算法,转到步骤S2,直至覆盖率达到要求。2.根据权利要求1所述的一种基于功能点覆盖动态调整随机约束的验证方法,其特征是:验证开始之前,将所述随机约束以动态配置的方式实现。3.根据权利要求1所述的一种基于功能点覆盖动态调整随机约束的验证方法,其特征是:验证过程中还包括特定退出机制,所述特定退出机制在满...

【专利技术属性】
技术研发人员:李拓
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1