此代码来自“ SystemVerilog IEEE STD 1800-2017”:
bit [7:0] a;
covergroup ga ( int abm);
option.auto_bin_max = abm;
coverpoint a { ignore_bins i = {3}; }
endgroup
ga gv1 = new (64);
ga gv2 = new (32);
上面的示例中写道:“在这种情况下,gv1引用的实例的容器是“ auto [0:3]”到“ auto [252:255]”,而gv2引用的实例的容器是是“ auto [0:7]”到“ auto [248:255]。””
有人可以向我解释为什么创建这些垃圾箱吗?
是。该选项auto_bin_max
设置将自动创建的最大箱数。因此,使用8位变量a
(如此处所示),您无需创建256个bin(每个值一个bin),而是获得auto_bin_max
bin。
当auto_bin_max
设置为64覆盖组实例gv1
(实际上是无论如何它的默认值),让您得到64同等大小的垃圾箱。256/64 = 4,每个bin为4个值。
当auto_bin_max
设置为32覆盖组实例gv2
,让您得到32同等大小的垃圾箱。256/32 = 8,因此每个bin为8个值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句