|
|
1 class coverage_state_condition {
2 bit [3:0] value;
3 bit [3:0] enable;
4 event now;
5
6 coverage_group something {
7 sample_event = sync(ALL,now);
8 sample value {
9 state AB_0 (0:2) if (en > 4);
10 state AB_1 (4'b1000);
11 }
12 }
13
14 task update_coverage (bit [3:0] value,bit [3:0] en) {
15 this.value = value;
16 this.enable = en;
17 trigger(now);
18 }
19 }
20
21 program test {
22 coverage_state_condition cov = new();
23 bit [3:0] v,en;
24 repeat (10) {
25 v = random();
26 en = random();
27 printf("Value is %0d Enable %0d\n",v,en);
28 cov.update_coverage(v,en);
29 delay(1);
30 }
31 }
You could download file coverage_state_condition.vr here
|