一种用于芯片随机验证的分批随机机制的制作方法

文档序号:9865858阅读:212来源:国知局
一种用于芯片随机验证的分批随机机制的制作方法
【技术领域】
[0001]本发明涉及芯片验证技术领域,具体涉及一种用于芯片随机验证的分批随机机制。
【背景技术】
[0002]随着工艺技术以及应用领域的不断发展,芯片的复杂度不断提高,相对应的,验证工作的复杂度也不断提高。随机验证的重要性也越来越高,提高随机验证的效率,也成为提高验证效率的一个关键步骤。
[0003]随机验证的应用中都会用到随机约束,不同随机约束代表了随机验证的不同特征,它与验证用到的验证效果评估标准(一般是覆盖率)相辅相成,保证了随机验证不会因为过于发散而效率太低。
[0004]但用传统的方式,一次随机验证(仿真)采用一组随机约束,结束后用评估验证效果,会存在该如何确定验证规模(随机激励的数目)的问题。如果一次随机验证的激励数太少,那很可能很多应该能覆盖到的场景都无法覆盖到;如果激励太多,因为用的是同一组随机约束,产生的场景的多样性随着时间呈指数下降。再加上“合适的激励数目”是会随着目前的验证程度以及特定的随机约束变化而不断改变的,无法靠分析和以往经验得到确切数字。当前普遍的做法是在牺牲效率的情况下尽可能地保证验证效果,即选用尽可能大的随机验证激励规模。

【发明内容】

[0005]本发明要解决的技术问题是:本发明提出了一种用于芯片随机验证的分批随机机制。
[0006]本发明所采用的技术方案为:
一种用于芯片随机验证的分批随机机制,将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。
[0007]所述随即机制实现过程如下:
1)对随机激励的生成约束进行量化;保证能通过程序或者脚本自动完成对随机约束的修改;
2)随机激励分批生成;每次只根据当前的随机约束生成一部分(一批)激励;
3)在验证环境中包含监测每批随机激励是否全部完成的功能;保证不同批次的随机激励得到的验证效率评估彼此独立;
4)确定一套明确的、可量化的评价随机验证效率的评价标准;
5)在一批激励完成之后到下一批激励生成之前,提供一套根据随机验证效率评估来修改随机约束和随机激励规模的机制。
[0008]所述验证效率的评价标准:通过定义的覆盖率来进行评估。
[0009]对不同的功能点或者模块的覆盖率数据进行不同的权重运算。
[0010]每批激励开始前对验证效率数据进行记录,以作为该批激励完成之后验证效率的对比。
[0011]所述修改随机约束的机制,是通过验证人员对验证效率数据的分析,对随机约束和随机激励规模进行手动修改,并通过输入文件的方式让验证环境读入。
[0012]所述修改随机约束的机制,是通过算法让验证环境自动进行修改。
[0013]本发明的有益效果为:
本发明解决了随机验证中需要对特定随机约束分别确定合适的激励数目的问题,既不会出现激励数目太多而造成的资源大量浪费,也不会出现因为激励数目太小而造成的验证不充分。对于加快验证收敛,控制芯片研发周期有着重大的意义。
【附图说明】
[0014]图1为传统随机验证基本流程示意图;
图2为分批随机验证基本流程示意图。
【具体实施方式】
[0015]下面根据说明书附图,结合【具体实施方式】对本发明进一步说明:
实施例1:
一种用于芯片随机验证的分批随机机制,考虑到芯片随机验证中,在特定的随机约束下,随机激励数目可能给验证效率带来的影响,超大规模芯片验证中随机验证的效率会随着仿真时间增加而呈指数型下降,而将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。也就是说,在验证效率降低到一定程度之前,随机验证将在特定的随机约束下运行,否则,验证环境将自动切换随机约束。
[0016]对比于原有的随机验证流程,本发明的实施方式最大的区别是将原本的一次仿真验证分成了多批来执行。不同批次之间的随机激励,可以采用不同的随机约束,也可以采用不同的激励规模。为了支持这一变化,原本通常在一次仿真验证结束时才会进行的对激励完成情况和验证目标达成情况进行的分析,改在不同批次的随机验证之间进行,并需要提供在不同批次间修改随机约束和激励规模的方式。
[0017]实施例2:
如图2所示,在实施例1的基础上,本实施例所述随即机制实现过程如下:
1)对随机激励的生成约束进行量化;保证能通过程序或者脚本自动完成对随机约束的修改;
2)随机激励分批生成;分批生成随机激励,区别于在同一时间或者以同一套随机约束生成所有的随机激励,每次只根据当前的随机约束生成一部分(一批)激励;每批的激励数目可以固定,也可以不固定;固定激励数目的好处在于易于控制,而如果用一些合适的算法来控制不同批次间的激励数目,能更灵活地实现分批的随机验证,采用哪种方式需要根据具体的验证目标来进行评估; 3)在验证环境中包含监测每批随机激励是否全部完成的功能;保证不同批次的随机激励得到的验证效率评估彼此独立;根据验证对象不同,具体实现有多种方式;
4)确定一套明确的、可量化的评价随机验证效率的评价标准;
5)在一批激励完成之后到下一批激励生成之前,提供一套根据随机验证效率评估来修改随机约束和随机激励规模的机制。
[0018]实施例3:
在实施例2的基础上,本实施例所述验证效率的评价标准:通过定义的覆盖率(代码覆盖率或者功能点覆盖率)来进行评估。
[0019]实施例4:
在实施例3的基础上,本实施例如果要想实现更灵活的控制,可以对不同的功能点或者模块的覆盖率数据进行不同的权重运算。
[0020]实施例5:
在实施例3或4的基础上,本实施例每批激励开始前对验证效率数据进行记录,以作为该批激励完成之后验证效率的对比。
[0021]实施例6:
在实施例2的基础上,本实施例所述修改随机约束的机制,是通过验证人员对验证效率数据的分析,对随机约束和随机激励规模进行手动修改,并通过输入文件的方式让验证环境读入。
[0022]实施例7:
在实施例2的基础上,本实施例所述修改随机约束的机制,是通过算法让验证环境自动进行修改。
[0023]在理想情况下(在分批随机验证的基础上采用了合适的方式修改随机约束、验证环境在长时间的仿真下不会出现异常或错误问题、在验证过程中不会出现资源耗尽等等),分批随机验证的一次仿真验证就可以长时间运行,直到验证目标达成或者直到验证目标出错O
[0024]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种用于芯片随机验证的分批随机机制,其特征在于:将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。2.根据权利要求1所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述随即机制实现过程如下: 1)对随机激励的生成约束进行量化,保证能通过程序或者脚本自动完成对随机约束的修改; 2)随机激励分批生成;每次只根据当前的随机约束生成一部分激励; 3)在验证环境中包含监测每批随机激励是否全部完成的功能;保证不同批次的随机激励得到的验证效率评估彼此独立; 4)确定一套明确的、可量化的评价随机验证效率的评价标准; 5)在一批激励完成之后到下一批激励生成之前,提供一套根据随机验证效率评估来修改随机约束和随机激励规模的机制。3.根据权利要求2所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述验证效率的评价标准:通过定义的覆盖率来进行评估。4.根据权利要求3所述的一种用于芯片随机验证的分批随机机制,其特征在于:对不同的功能点或者模块的覆盖率数据进行不同的权重运算。5.根据权利要求3或4所述的一种用于芯片随机验证的分批随机机制,其特征在于:每批激励开始前对验证效率数据进行记录,以作为该批激励完成之后验证效率的对比。6.根据权利要求2所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述修改随机约束的机制,是通过验证人员对验证效率数据的分析,对随机约束和随机激励规模进行手动修改,并通过输入文件的方式让验证环境读入。7.根据权利要求2所述的一种用于芯片随机验证的分批随机机制,其特征在于:所述修改随机约束的机制,是通过算法让验证环境自动进行修改。
【专利摘要】本发明公开了一种用于芯片随机验证的分批随机机制,将单次随机验证分成若干批验证串行执行,每批验证包含若干数目的激励,并在不同批次的验证之间提供对目前随机验证的效率评估和控制机制,使得随机约束和对应的随机激励规模可以根据验证效率的变化而获得修改。本发明解决了随机验证中需要对特定随机约束分别确定合适的激励数目的问题,既不会出现激励数目太多而造成的资源大量浪费,也不会出现因为激励数目太小而造成的验证不充分。对于加快验证收敛,控制芯片研发周期有着重大的意义。
【IPC分类】G06F17/50
【公开号】CN105631134
【申请号】CN201511010452
【发明人】李拓, 周恒钊, 符云越
【申请人】山东海量信息技术研究院
【公开日】2016年6月1日
【申请日】2015年12月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1