将ignore_bins添加到已定义的覆盖点

问题描述

我正在使用已经生成的coverpointscovergroups。我有一种方法可以通过coverpoints文件访问covergroup中的所有 `include,但是不能直接编辑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,我有一个单独的关联文件。我在这些cross d文件中定义了各种coverpoints和非生成的 `include。但是,我还想为coverpoints applekiwi指定某些枚举值,这些枚举值可能对cg_FOO无效。

如果我能够更改每个掩护点,则只需执行以下操作:

apple: coverpoint Atype_e'(sample.value) {
  ignore_bins ignore_FUJI = apple with (FUJI);
}

但是,将单独的文件包含在每个coverpoint的每个covergroup中是很麻烦且不可行的。

到目前为止,我发现的所有内容似乎都需要在ignore_bin结构内指定coverpoint

如何在cg_FOO.svh文件中(例如,在coverpoint中忽略covergroup的某些bin?而不更改所有生成的coverpoints)?

请注意,我还有两个其他 `include文件可以使用,其中一个在covergroups之外,但在包含它们的类中(我正在使用此文件进行宏,变量和函数定义) ,以及另一个文件,用于在covergroup被采样之前(即sample被定义时)定义帮助逻辑。

解决方法

除非您使用的工具为您提供访问和修改Coverage数据库的API,否则您将不走运。垃圾箱很难访问,因为它们没有简单的名称来引用它们,您必须浏览它们。通过将权重设置为0,很容易从外部排除掩护点。

不知道您的覆盖模型到底是什么样子,很难为您提供更好的答案。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...