I want to write covergroup in a class to cover partial writes on memory data width WDATA_WIDTH=80 (more than long int)
covergroup memory_bit_write @ (posedge clk);
option.per_instance = 1;
rw_address : coverpoint mem_bit_wdata iff ((cen_w == 0)) {
bins low = {0};
bins med[WDATA_WIDTH] = {[1:(2**WDATA_WIDTH)-1]};
bins high = {(2**WDATA_WIDTH)-1};
}
endgroup
Above scheme didn’t work as it can’t take so large number 2**80.
So i want to cover partial writes functionality by checking whether byte,word or double word write was there on my memory.
Please help with code.
Thanks