Specman coverage:如何覆盖列表中的值范围?

时间:2014-12-15 11:56:51

标签: cover specman

我有结构列表my_list

struct my_struct {
    comparator[2] : list of uint;
};
my_list[10] : list of my_struct;

所有比较器的值偶尔配置一次。我想收集所有配置的比较器的范围,即哪个比较器无关紧要,如下所示:

cover comparators_were_cofigured_event is {  
    item configured_comparators : uint = my_list??? using //How to define the item so the range will relate to all comparators values?
            ranges = {
               range([0..50], "Small values");
               range([51..100], "Big values");
            };
};

如何定义coverage项目,以便范围将处理列表中的每个值? 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

这是不可能的。您只能在标量值上定义项目。您要做的是为列表中的每个元素定义一个项目:

item configured_comparator0_0 : uint = my_list[0][0] using
  ranges = {
    range([0..50], "Small values");
    range([51..100], "Big values");
  };

// ... so on for each item

使用宏来扩展代码,可以让您的生活更轻松。