Suppose I have the coverpoints and crosses shown in the code below. Can you please let me know why is my code not working and any alternative that I could try.
bit[31:0] ro_reg_addr[2] = {'h0008_0000,'h0008_000C};
covergroup my_covergroup;
my_data: coverpoint data {
bins data[] = {4'ha,4'hb,4'hc};
}
example_covpoint: coverpoint addr {
bins address['h4] = {['h0008_0000:'h0008_000F]};
}
my_cross: cross example_covpoint , my_data {
ignore_bins ro_regs = (binsof(example_covpoint) intersect ro_reg_addr && binsof(my_data) intersect {'hb,'hc}) //-> Doesn't work
//ignore_bins ro_regs = (binsof(example_covpoint) intersect {ro_reg_addr} && binsof(my_data) intersect {'hb,'hc}) -> Doesn't Work
//ignore_bins ro_regs = (binsof(example_covpoint) intersect {ro_reg_addr[0],ro_reg_addr[1]} && binsof(my_data) intersect {'hb,'hc}) -> Works fine
//ignore_bins ro_regs = (binsof(example_covpoint) intersect {'h0008_0008,'h0008_000C} && binsof(my_data) intersect {'hb,'hc}) -> Works fine
endgroup