cross coverage

发布: 2017-6-30 13:04 | 作者: yuanpin318 | 来源: EETOP 赛灵思(Xilinx) 社区

systemverilog中定义functional coverage.

coverpoint cmd {
   bins write = {3'b001};
   bins read = {3'b000};
   }

coverpoint address {
   bins low_mem = {[0:5'h0FFFF]};
   bins mid_mem = {[5'h10000: 5'h1FFFF]};
   bins high_mem = {[5'h20000: 5'h2FFFF]};
   }

xp_write_low_mem cross cmd, address {
  ignore_bins non_write = !binsof(cmd.write);
  ignore_bins non_low_mem = !(binsof(address.mid_mem) || binsof(address.high_mem));
}

其实只要cmd.write & address.low_mem, 有没有办法在cross coverage中定义:
bins write_low_mem: binsof(cmd.write) && binsof(address.low_mem);

我试了下,VCS会产生一个user defined bin: write_low_mem和很多auto generated bins.

有没有办法在cross coverage中disable auto generated bins?第二种写法觉得readability比较好。

网络资源