HI Forum Members,
I want to write a bin inside the covergroup and it should be in multiples of 5. Can anyone have a pseudo code for it.
Thanks,
Manikanta K.
HI Forum Members,
I want to write a bin inside the covergroup and it should be in multiples of 5. Can anyone have a pseudo code for it.
Thanks,
Manikanta K.
In reply to Manikanta Kopparapu:
HI Forum Members,
I want to write a bin inside the covergroup and it should be in multiples of 5. Can anyone have a pseudo code for it.
Thanks,
Manikanta K.
Maybe this can help you
module test();
bit [3:0] data;
covergroup cg;
coverpoint data {
bins multiple_of_5[] = {[0:(2**$bits(data)-1)]} with ((item % 5) == 0);
}
endgroup
cg m_cg;
initial begin
m_cg =new();
repeat (16) begin
$display("data = %0d", data);
m_cg.sample();
$display("m_cg coverage = %0f", m_cg.get_inst_coverage());
data++;
end
end
endmodule
//Which outputs
# KERNEL: data = 0
# KERNEL: m_cg coverage = 25.000000
# KERNEL: data = 1
# KERNEL: m_cg coverage = 25.000000
# KERNEL: data = 2
# KERNEL: m_cg coverage = 25.000000
# KERNEL: data = 3
# KERNEL: m_cg coverage = 25.000000
# KERNEL: data = 4
# KERNEL: m_cg coverage = 25.000000
# KERNEL: data = 5
# KERNEL: m_cg coverage = 50.000000
# KERNEL: data = 6
# KERNEL: m_cg coverage = 50.000000
# KERNEL: data = 7
# KERNEL: m_cg coverage = 50.000000
# KERNEL: data = 8
# KERNEL: m_cg coverage = 50.000000
# KERNEL: data = 9
# KERNEL: m_cg coverage = 50.000000
# KERNEL: data = 10
# KERNEL: m_cg coverage = 75.000000
# KERNEL: data = 11
# KERNEL: m_cg coverage = 75.000000
# KERNEL: data = 12
# KERNEL: m_cg coverage = 75.000000
# KERNEL: data = 13
# KERNEL: m_cg coverage = 75.000000
# KERNEL: data = 14
# KERNEL: m_cg coverage = 75.000000
# KERNEL: data = 15
# KERNEL: m_cg coverage = 100.000000
Also you can look at the LRM Section 19.5.1.1 Coverpoint bin with covergroup expressions for more details.
HTH,
-R