How to write a bin inside covergroup that covers the multiple of five

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