The invention discloses a random coverage driven verification approaches based on a constrained random choice, belongs to the field of random verification, the technical problem to be solved is how to realize the dynamic evaluation and random constrained random selection based on coverage driven verification; which comprises the following steps: S1, the definition of random verification environment all need the random constraints, and define the range of stochastic constraints; after all, S2 will define the need for random constraint combination division multiple sets of random combination of the constraints, completely overlap and there is no actual function between two groups of random constraint; S3, can set coverage statistics dynamic period; coverage the simulation in the process of growth in S4, statistical coverage statistical period, and the new coverage coverage data added to the existing, when to The growth rate of coverage in the prior simulation verification process is used as the evaluation criterion of random constraints, and the above random constraints combination is simulated and verified.
【技术实现步骤摘要】
随机约束可选择的基于覆盖率驱动的随机验证方法
本专利技术涉及随机验证领域,具体地说是一种随机约束可选择的基于覆盖率驱动的随机验证方法。
技术介绍
随着工艺技术以及应用领域的不断发展,芯片的复杂度不断提高,相对应的,对仿真验证工作的要求也在不断提高,需要进行仿真验证的功能点越来越繁复,验证周期的要求越来越严格。现有的芯片设计流程分为前端设计(逻辑设计)和后端设计(物理设计)两个阶段。前端设计主要是以通过硬件描述语言(如verilog)来实现芯片的逻辑功能,代码描述的正确性主要通过对这些代码(或是由这些代码生成的网表)的仿真验证来实现。在标准的仿真验证流程中,需要确保的前端设计涉及到的逻辑功能的功能点,都需要通过构造相应的仿真场景,证实前段设计逻辑功能的正确性。对复杂度较高的系统进行仿真验证,随机验证是一个重要的步骤,可以在尽可能减少人力的前提下覆盖更多复杂甚至是预期外的场景。随机化激励可以仅用几行代码就能产生大量的激励数据,通过为设计提供随机激励信号来扩大验证的测试空间。但是,当设计规模很大且非常复杂时,随机验证空间会变得近乎无限,于是需要给随机化过程施加一定的约束,使其按照约束生成随机化的激励,即让它生成的随机化的激励更多地落在有效的区域或者边界内,以更快地达到功能覆盖率的要求。因此,随机约束的选择也决定了随机验证的效率。约束过于宽泛会造成随机出来的场景大部分都是没有意义的,约束过于严格又会限制随机出的场景类型。在现有的仿真验证中,定向验证一般是基于覆盖率驱动的,既通过分析对于功能点覆盖(或者关键代码行的覆盖)的情况来构造特定的激励来进行定向验证。而随着待 ...
【技术保护点】
随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于包括如下步骤:S1、定义随机验证环境中所有需要的随机约束,并定义上述随机约束的取值范围;S2、将定义后的所有需要的随机约束组合划分为多组随机约束组合,且每两组随机约束组合之间不存在实际功能的完全重叠;S3、设置能够动态调整的覆盖率统计周期;S4、在覆盖率统计周期内统计当前仿真验证过程中覆盖率的增长情况,并将新增的覆盖率累加到已有的覆盖率数据中,以当前仿真验证过程中覆盖率的增长情况作为随机约束的评估准则,对上述随机约束组合进行仿真验证。
【技术特征摘要】
1.随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于包括如下步骤:S1、定义随机验证环境中所有需要的随机约束,并定义上述随机约束的取值范围;S2、将定义后的所有需要的随机约束组合划分为多组随机约束组合,且每两组随机约束组合之间不存在实际功能的完全重叠;S3、设置能够动态调整的覆盖率统计周期;S4、在覆盖率统计周期内统计当前仿真验证过程中覆盖率的增长情况,并将新增的覆盖率累加到已有的覆盖率数据中,以当前仿真验证过程中覆盖率的增长情况作为随机约束的评估准则,对上述随机约束组合进行仿真验证。2.根据权利要求1所述的随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于步骤S3中,设置能够动态调整的覆盖率统计周期包括设置初始的覆盖率统计周期以及最大连续没有覆盖率增长的覆盖率统计周期数阈值。3.根据权利要求1或2所述的随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于步骤S2中,设置上述多组随机约束组合的仿真顺序;步骤S4中,在一个仿真过程中依序串行的对上述多组随机约束组合进行仿真验证。4.根据权利要求1或2所述的随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于步骤S4中,在一个仿真过程中随机串行的对上述多组随机约束组合进行仿真验证。5.根据权利要求1或2所述的随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于步骤S2中,将上述所有需要的随机约束组合划分为多组随机约束组合组,并设置每组随机约束组合组中对应的随机约束组合的仿真顺序;步骤S4中,每组随机约束组合组对应一个仿真过程,在每一个仿真过程中依序串行的对与其对应的随机约束组合进行仿真验证,上述多个仿真过程并行进行。6.根据权利要求1或2所述的随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于步骤S2中,将上述所有需要的随机约束组合划分为多组随机约束组合组;步骤S4中,每组随机约束组合组对应一个仿真过程,在每一个仿真过程中随机串行的对与其对应的随机约束组合进行仿真验证,上述多个仿真过程并行进行。7.根据权利要求3所述的随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于步骤S4中,随机约束组合进行仿真验证的步骤记为S4-1,其内容为:S4-11、在一个覆盖率统计周期内对随机约束组合进行仿真验证,直至所述覆盖率统计周期结束;S4-12、判断在上述覆盖率统计周期内覆盖率的增长情况,覆盖率的增长情况为覆盖率没有增长,则跳出执行其他步骤;覆盖率的增长情况为覆盖率有增长,则进入下一个覆盖率统计周期,则重新循环S4-1;在一个仿真过程中依序串行的对上述多组随机约束组合进行仿真验证,包括如下步骤:S41、依序读入一组随机约束组合,开始执行随机约束组合进行仿真验证,即调用执行S4-1;直至S4-1跳出执行其他步骤后,则执行步骤S42;S42、判断连续没有覆盖率增长的覆盖率统计周期数是否达到最大连续没有覆盖率增长的覆盖率统计周期数阈值;如果未达到,执行步骤S43;如果达到,执行步骤S44;S43、延长上述覆盖率统计周期,在延长的覆盖率统计周期内对随机约束组合进行仿真验证,即调用执行S4-1;直至S4-1跳出执行其他步骤后,则执行步骤S42;S44、判断是否有未仿真验证的随机约束组合,如果无未仿真验证的随机约束组合,则结束;如果有未仿真验证的随机约束组合,则依序读入下一组随机约束组合,重新开始执行步骤S41。8.根据权利要求4所述的随机约束可选择的基于覆盖率驱动的随机验证方法,其特征在于步骤S4中,随机约束组合进行仿真验证的步骤记为S4-1,其内容为:S4-11、在一个覆盖率统计周期内对随机约束组合进行仿真验证,直至所述覆盖率统计周期结束,S4-12、判断在上述覆盖率统计周期内覆盖...
【专利技术属性】
技术研发人员:李拓,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。