将 ignore_bins 添加到已定义的覆盖点
Add ignore_bins To Already Defined Coverpoints
我正在使用已经生成的 coverpoints
和 covergroups
。我有办法通过 `include
文件访问 covergroup
中的所有 coverpoints
,但不能直接编辑 coverpoints
。
covergroup cg_FOO;
apple: coverpoint Atype_e'(sample.apple.value);
kiwi: coverpoint Ktype_e'(sample.kiwi.vale);
`ifdef MY_COV
`include "cg_FOO.svh"
`endif
end group: cg_FOO
cg_FOO.svh 是此 covergroup
的示例,但对于另一个生成的 covergroup
我有一个单独的关联文件。我在这些 `include
d 文件中定义了各种 cross
es 和非生成的 coverpoints
。但是,我还想为 coverpoints
apple
和 kiwi
指定某些可能对 cg_FOO
.
无效的枚举值
如果我能够更改每个封面点,我会执行以下操作:
apple: coverpoint Atype_e'(sample.value) {
ignore_bins ignore_FUJI = apple with (FUJI);
}
但是,在每个 covergroup
中的每个 coverpoint
中包含一个单独的文件是混乱且不可行的。
到目前为止我发现的所有内容都让我觉得我需要在 coverpoint
结构中指定一个 ignore_bin
。我怎么能忽略我的 cg_FOO.svh 文件中 coverpoint
的某些容器(即在 covergroup
中,但不更改所有生成的 coverpoints
)?
请注意,我还有 2 个其他 `include
文件可以使用,一个在 covergroups
之外但在包含它们的 class 之内(我将此文件用于宏,变量和函数定义),以及另一个文件,用于在 covergroup
被采样之前定义帮助逻辑(即当 sample
被定义时)。
除非您使用的工具为您提供 API 访问和修改覆盖率数据库,否则您真不走运。垃圾桶很难访问,因为它们没有简单的名称来引用它们,您必须浏览它们。通过将它们的权重设置为 0,可以很容易地从外部排除覆盖点。
在不确切知道您的覆盖模型是什么样子的情况下,很难给您更好的答案。
我正在使用已经生成的 coverpoints
和 covergroups
。我有办法通过 `include
文件访问 covergroup
中的所有 coverpoints
,但不能直接编辑 coverpoints
。
covergroup cg_FOO;
apple: coverpoint Atype_e'(sample.apple.value);
kiwi: coverpoint Ktype_e'(sample.kiwi.vale);
`ifdef MY_COV
`include "cg_FOO.svh"
`endif
end group: cg_FOO
cg_FOO.svh 是此 covergroup
的示例,但对于另一个生成的 covergroup
我有一个单独的关联文件。我在这些 `include
d 文件中定义了各种 cross
es 和非生成的 coverpoints
。但是,我还想为 coverpoints
apple
和 kiwi
指定某些可能对 cg_FOO
.
如果我能够更改每个封面点,我会执行以下操作:
apple: coverpoint Atype_e'(sample.value) {
ignore_bins ignore_FUJI = apple with (FUJI);
}
但是,在每个 covergroup
中的每个 coverpoint
中包含一个单独的文件是混乱且不可行的。
到目前为止我发现的所有内容都让我觉得我需要在 coverpoint
结构中指定一个 ignore_bin
。我怎么能忽略我的 cg_FOO.svh 文件中 coverpoint
的某些容器(即在 covergroup
中,但不更改所有生成的 coverpoints
)?
请注意,我还有 2 个其他 `include
文件可以使用,一个在 covergroups
之外但在包含它们的 class 之内(我将此文件用于宏,变量和函数定义),以及另一个文件,用于在 covergroup
被采样之前定义帮助逻辑(即当 sample
被定义时)。
除非您使用的工具为您提供 API 访问和修改覆盖率数据库,否则您真不走运。垃圾桶很难访问,因为它们没有简单的名称来引用它们,您必须浏览它们。通过将它们的权重设置为 0,可以很容易地从外部排除覆盖点。
在不确切知道您的覆盖模型是什么样子的情况下,很难给您更好的答案。