I have 2 variables.
bit [31:0] enable and bit [31:0] value.
The 2 variables function in the following way. If enable[i] = 1, then value[i] can take values 0 or 1.
I want to write coverpoints for all the 32 bits of variable “value” as follows.
covergroup cg;
A1 : coverpoint value[0] iff (enable[0] == 1) {
bins value_0 = {0};
bins value_1 = {1};
}
A2 : coverpoint value[1] iff (enable[1] == 1) {
bins value_0 = {0};
bins value_1 = {1};
}
…
endgroup: cg
Instead of writing 32 coverpoints like this, Is there any other simpler way of writing the above covergroup and coverpoints like generate statement whcih is not possible inside covergroup definition?