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比较好。
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比较好。