首页 > 解决方案 > 如何忽略覆盖点的整数值?

问题描述

我有一个定义为 int 的变量,想coverpoint为这个变量创建一个,但我想忽略大于 16384 的值。我该怎么做?

我已经尝试了两件没有奏效的事情。

  1. 国际化;

    int acl; acl: coverpoint (ccr_pkt.acl) { ignore_bins acl = {[16384:$]}; }

  2. acl:

    coverpoint (ccr_pkt.acl) iff (ccr_pkt.acl < 16384) { }

两者都没有工作。仍然为 acl 大于 16384 的值创建了 bin。

标签: code-coveragesystem-verilog

解决方案


对于 1),您需要指定要命中的 bin。只要您为覆盖点指定任何类型的 bin,就不会创建隐式 bin。

对于 2),iff不控制 bin 创建,它只影响采样。

你应该使用:

acl: coverpoint (ccr_pkt.acl) {
          bins b[] = {[0:16383]}; }

推荐阅读