Hi,
I am facing run-time error while creating object for parameterized sequence.
Here is my code:
class multi_req_seq#(parameter int REQ_WD= 16) extends uvm_sequence;
uvm_object_param_utils(multi_req_seq)
uvm_declare_p_sequencer(`sequencer_type(REQ_WD))
rra_item#(REQ_WD) stimuli;
function new(string name="");
super.new(name);
endfunction : new
task pre_start();
`ifdef UVM_POST_VERSION_1_1
uvm_phase starting_phase = get_starting_phase();
`endif
if(starting_phase != null)
starting_phase.raise_objection(this);
endtask : pre_start
task body();
stimuli = rra_item#(REQ_WD)::type_id::create("stimuli");
for(int i=0; i< 20; i++) begin
//`uvm_do(req); w
`uvm_do(stimuli);
end
endtask : body
task post_start();
ifdef UVM_POST_VERSION_1_1 uvm_phase starting_phase = get_starting_phase();
endif
if(starting_phase != null)
starting_phase.drop_objection(this);
endtask : post_start
endclass : multi_req_seq
class multi_req_test_65 extends rra_test_65;
`uvm_component_utils(multi_req_test_65)
multi_req_seq#(65) seq;
//–new constructor
function new(string name, uvm_component parent);
super.new(name,parent);
endfunction : new
function void build_phase(uvm_phase phase);
seq = multi_req_seq#(65)::type_id::create(“seq”);
endfunction : build_phase
task run_phase(uvm_phase phase);
`ifdef UVM_POST_VERSION_1_1
seq.set_starting_phase(phase);
`else
seq.starting_phase = phase;
`endif
seq.p_sequencer = o_rra_env.o_rra_agent.o_rra_sequencer;
seq.start(o_rra_env.o_rra_agent.o_rra_sequencer);
#10us;
endtask : run_phase
endclass : multi_req_test_65
Error:
** Error: (vsim-7065) /stec/proj/asic/cwm3/verification/users/mahi/rra_uvc/test_32.sv(81): Illegal assignment to class work.rra_pkg::multi_req_seq #(65) from class work.rra_pkg::multi_req_seq #(16)
Can you please help me get rid of this error?
Thanks
Mahendran