In reply to cgales:
I have updated the code as follows, still facing same NOA error:
class baby_coverage extends uvm_subscriber #(baby_pkt);
`uvm_component_utils(baby_coverage)
uvm_analysis_imp #(baby_pkt,baby_coverage) baby_coverage_imp;
baby_pkt pktt;
covergroup baby_covergroup;
option.per_instance = 1;
//----------------------------------------------
// COVERPOINTS
//----------------------------------------------
coverpoint pktt.READ_FROM_INVALID_STATE
{
bins PIPE_0_READ_FROM_INVLAID = {
pktt.DADY_0_PIPE_0_baby_RD_FROM_INVALID,
pktt.DADY_1_PIPE_0_baby_RD_FROM_INVALID,
pktt.DADY_2_PIPE_0_baby_RD_FROM_INVALID,
pktt.DADY_3_PIPE_0_baby_RD_FROM_INVALID,
pktt.DADY_4_PIPE_0_baby_RD_FROM_INVALID,
pktt.DADY_5_PIPE_0_baby_RD_FROM_INVALID,
pktt.DADY_6_PIPE_0_baby_RD_FROM_INVALID,
pktt.DADY_7_PIPE_0_baby_RD_FROM_INVALID
};
bins PIPE_1_READ_FROM_INVLAID = {
pktt.DADY_0_PIPE_1_baby_RD_FROM_INVALID,
pktt.DADY_1_PIPE_1_baby_RD_FROM_INVALID,
pktt.DADY_2_PIPE_1_baby_RD_FROM_INVALID,
pktt.DADY_3_PIPE_1_baby_RD_FROM_INVALID,
pktt.DADY_4_PIPE_1_baby_RD_FROM_INVALID,
pktt.DADY_5_PIPE_1_baby_RD_FROM_INVALID,
pktt.DADY_6_PIPE_1_baby_RD_FROM_INVALID,
pktt.DADY_7_PIPE_1_baby_RD_FROM_INVALID
};
bins PIPE_2_READ_FROM_INVLAID = {
pktt.DADY_0_PIPE_2_baby_RD_FROM_INVALID,
pktt.DADY_1_PIPE_2_baby_RD_FROM_INVALID,
pktt.DADY_2_PIPE_2_baby_RD_FROM_INVALID,
pktt.DADY_3_PIPE_2_baby_RD_FROM_INVALID,
pktt.DADY_4_PIPE_2_baby_RD_FROM_INVALID,
pktt.DADY_5_PIPE_2_baby_RD_FROM_INVALID,
pktt.DADY_6_PIPE_2_baby_RD_FROM_INVALID,
pktt.DADY_7_PIPE_2_baby_RD_FROM_INVALID
};
bins PIPE_3_READ_FROM_INVLAID = {
pktt.DADY_0_PIPE_3_baby_RD_FROM_INVALID,
pktt.DADY_1_PIPE_3_baby_RD_FROM_INVALID,
pktt.DADY_2_PIPE_3_baby_RD_FROM_INVALID,
pktt.DADY_3_PIPE_3_baby_RD_FROM_INVALID,
pktt.DADY_4_PIPE_3_baby_RD_FROM_INVALID,
pktt.DADY_5_PIPE_3_baby_RD_FROM_INVALID,
pktt.DADY_6_PIPE_3_baby_RD_FROM_INVALID,
pktt.DADY_7_PIPE_3_baby_RD_FROM_INVALID
};
bins PIPE_4_READ_FROM_INVLAID = {
pktt.DADY_0_PIPE_4_baby_RD_FROM_INVALID,
pktt.DADY_1_PIPE_4_baby_RD_FROM_INVALID,
pktt.DADY_2_PIPE_4_baby_RD_FROM_INVALID,
pktt.DADY_3_PIPE_4_baby_RD_FROM_INVALID,
pktt.DADY_4_PIPE_4_baby_RD_FROM_INVALID,
pktt.DADY_5_PIPE_4_baby_RD_FROM_INVALID,
pktt.DADY_6_PIPE_4_baby_RD_FROM_INVALID,
pktt.DADY_7_PIPE_4_baby_RD_FROM_INVALID
};
bins PIPE_5_READ_FROM_INVLAID = {
pktt.DADY_0_PIPE_5_baby_RD_FROM_INVALID,
pktt.DADY_1_PIPE_5_baby_RD_FROM_INVALID,
pktt.DADY_2_PIPE_5_baby_RD_FROM_INVALID,
pktt.DADY_3_PIPE_5_baby_RD_FROM_INVALID,
pktt.DADY_4_PIPE_5_baby_RD_FROM_INVALID,
pktt.DADY_5_PIPE_5_baby_RD_FROM_INVALID,
pktt.DADY_6_PIPE_5_baby_RD_FROM_INVALID,
pktt.DADY_7_PIPE_5_baby_RD_FROM_INVALID
};
endgroup : baby_covergroup
function new(string name = “baby_coverage”, uvm_component parent);
super.new(name, parent);
baby_covergroup = new(); //[ERROR]
$display(“baby_covergroup object created”);
endfunction
virtual function void write (input baby_pkt t1);
//pktt = t1;
$cast(pktt,t1.clone());
baby_covergroup.sample();
endfunction
function void build_phase(uvm_phase phase);
super.build_phase(phase);
baby_coverage_imp = new(“baby_coverage_imp”, this);
$display(“baby_coverage_imp object created”);
endfunction : build_phase
endclass