SV--coverage

   1:fcov(assert和功能)、ccov(行、分支、条件、fsm)、pcov

              covergroup、coverpoint、cross

                     bins、ignore_bins、illegal_bins、binsof

                     default、default_sequence、$、item

      

6.2 详细

1:pcov:plan cov

       验证计划目标覆盖率、代码覆盖率和功能覆盖率。

制定验证计划中的功能点的时候, 需要考虑如下三个问题。

哪些功能点需要检查?

这个功能点的哪些数据需要检查?

如何对这些数据进行采样?

一般情况下, 以下几类是参考的对象: 功能要求、 接口要求、 系统规范、 协议规范等。

2:code cov:分支:条件分支

                   条件、表达式:表达式的各种逻辑组合。

3:covergroup可以在module、program、class、interface、package等里定义。

         

覆盖组可以定义参数,在其例化时需传递实参,实参在 new 的过程中采样;时钟事件定义了功能覆盖组的采样条件,若不定义时钟采样条件,则需要通过调用内置的采样方法sample。

在类中可以不使用例化, 但仍需在类的构造函数中调用 new 对覆盖组进行分配初始化

4:coverpoint

 

lable是可选的覆盖点的名称,用户可指定具体的名字以便通过层次化引用来访问该覆盖点; 若不指定,则由仿真器自动分配。该覆盖点在采样事件激发或者内置sample被调用时采样统计。 iff结构可以指定采样条件,若指定条件不成立时,则不作覆盖率统计。

如果没有显示定义,自动创建分组柜的最大数目将由 auto_bin_max这个内置参数决定,默认64.。不管是显示定义还是自动生成,若分组柜中各种情况的总数除以分组柜的个数,其商就是每个组的平均个数,余数部分会归入最后一个分组柜中,如下例所示:

Bins fixed[3] = {1:10};

 

 

5:cross

 

Ignore_bins可以定义忽略的交叉覆盖点,该类交叉覆盖点出现的时候不列入统计的范围,计数器不做自加; illegal_bins可以定义非法的交叉覆盖点,一旦出现该类交叉覆盖点,系统会报告出错。

 

6:内置参数

猜你喜欢

转载自www.cnblogs.com/superany/p/12218197.html
今日推荐