Hi ,
I create class entry_information which is extends from uvm_componemt
in that entry_information class I have one cover_group entry_group which will be sampled for every posedge clk
I created five instances of the class entry_information from the monitor class
When I see the coverage report i am able to see only one instance of covergroup. I’m using ICCR to generate the coverage report
class entry_information extends uvm_compoment
bit x;
bit[7:0] y;
covergroup entry_group();
option.per_instance = 1;
option.goal = 100;
entry_x : coverpoint x
{
bins x_cnt[4] = {[0:4]};
}
entry_y : coverpoint y
{
bins y_cnt[6] = {[0:6]};
}
endgroup
function new(string name = "entry",uvm_component parent);
super.new(name,parent);
entry_group = new(name);
entry_group.set_inst_name(name);
endfunction
endclass
class monitor extends uvm_monitor
entry information entry_info[5];
function void build_phase();
string inst_name;
for(int i = 0 ; i < 5 ; i++)
begin
$format(inst_name,"entry[%d]",i);
entry_info[i] = entry_info::type_id::create( .name( inst_name ),.parent( this ));
end
endfunction
task run
forever
begin
@(posedge clk);
for(int i = 0 ; i < 5 ; i++)
entry_info[i].entry_group.sample();
end
endtask
Thanks,
Selvavinayakam.na