|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import counter_pkg::*;
-
-
- class counter_trans_load extends counter_trans;
-
- randc logic [3:0] data;
-
- constraint r1 {rst inside {0, 1};}
- constraint l1 {load inside {0, 1};}
- constraint d1{super.data == data;}
-
- endclass
-
-
- class test;
-
- virtual counter_if.WR_BFM wr_if;
- virtual counter_if.WR_MON wrmon_if;
- virtual counter_if.RD_MON rdmon_if;
-
- counter_env env;
-
- counter_trans_load trans_ld_h;
-
- function new( virtual counter_if.WR_BFM wr_if,
- virtual counter_if.WR_MON wrmon_if,
- virtual counter_if.RD_MON rdmon_if);
-
- this.wr_if = wr_if;
- this.wrmon_if = wrmon_if;
- this.rdmon_if = rdmon_if;
-
- env = new(wr_if, wrmon_if, rdmon_if);
- endfunction
-
-
-
- task build_and_run;
- if($test$plusargs("TEST1"))
- begin
- no_of_transaction = 250;
- env.build();
- env.run();
- $finish;
- end
- if($test$plusargs("TEST2"))
- begin
- trans_ld_h = new();
- no_of_transaction = 250;
- env.build();
- env.gen_h.trans_h = trans_ld_h;
- env.run();
- $finish;
- end
- endtask
-
- endclass :test
-
-
-
|