How to cover these id bins

I have an coverage file with ID width 21 bit.
I want to cover the complete ID functional coverage in 350 transactions.
I wrote the distributed constraint for this to fully cover the ID

covergroup cg @(posedge clk)
  coverpoint awid {
   bins awid_0 ={0};
   bins awid_1= {1};
   bins awid_2 = {[2:3]};
   bins awid_4 = { [8:15]};
   bins awid_5 = {[16;31]};
   bins awid_6 ={[32:63}};
   bins awid_7 = {[64:127]};
   ....
  ---
   bins awid_20 = {[2**20 : [2**21-1]};
  }
endcovergroup

In the sequence item i wrote the constraint like this

  constraint c_aw_id {
   awid dist { 0:/3,
               1:/3
               [2:3]:/3,
               [4:7]:/3,
               [8:15]:/3,
               [16:31]:/3,
               [32:63]:/3,
               [64:127]:/3,
               [128:255]:/3
               -----
               ---
               [2**20:2**21]:/3
              };
             }

But still the bins are not covering , how to cover these bins ?

In reply to kulua:

Please show us the exact code and which bins are not being covered. There a lot of mistakes in the code too show. The range should be defined as:

`define range(r) [2**(r-1) : 2**r-1]
1 Like