我如何知道哪些是会被自动创建的垃圾箱?

问题描述 投票:0回答:1

这段代码来自 "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引用的实例的bins是 "auto[0:3]"到 "auto[252:255]",而gv2引用的实例的bins是 "auto[0:7]"到 "auto[248:255]""

谁能给我解释一下,为什么会创建这些bins?

verilog system-verilog uvm
1个回答
2
投票

是的,选项 auto_bin_max 设置自动创建的最大分仓数。所以,对于一个8位变量 a (就像你在这里做的那样),而不是创建256个bin(每个值一个bin),你得到的是 auto_bin_max 仓。

auto_bin_max 覆盖组实例设置为64 gv1 (实际上这也是它的默认值),所以你得到64个大小相等的bin。25664=4,每个bin是4个值。

auto_bin_max 覆盖组实例设置为32 gv2所以你可以得到32个大小相等的分仓。25632=8,所以每个bin是8个值。

热门问题
推荐问题
最新问题