Dear All,
I’m trying to understand “NULL pointer dereference” Problem in my UVM
First off I do add multiple sequences for running multiple sequence.
and then I implement the style of “seq.start(sequencer)” for running the multiple sequence within multiple sequencer as the below.
But I’m getting the error message of NULL pointer dereference, Do I something understand wrong conceptually?
What am I supposed to do?
class test2 extends base_test;
// component macro
`uvm_component_utils(test2)
// component constructor
function new(string name, uvm_component parent);
super.new(name, parent);
endfunction : new
function void build_phase(uvm_phase phase);
super.build_phase(phase);
seq_yapp_5_packets = yapp_5_packets ::type_id::create("seq_yapp_5_packets" , this);
seq_yapp_012_seq = yapp_012_seq ::type_id::create("seq_yapp_012_seq" , this);
seq_yapp_1_seq = yapp_1_seq ::type_id::create("seq_yapp_1_seq" , this);
seq_yapp_111_seq = yapp_111_seq ::type_id::create("seq_yapp_111_seq" , this);
seq_yapp_incr_payload_seq = yapp_incr_payload_seq ::type_id::create("seq_yapp_incr_payload_seq", this);
seq_yapp_rnd_seq = yapp_rnd_seq ::type_id::create("seq_yapp_rnd_seq" , this);
seq_six_yapp_seq = six_yapp_seq ::type_id::create("seq_six_yapp_seq" , this);
seq_yapp_exhaustive_seq = yapp_exhaustive_seq ::type_id::create("seq_yapp_exhaustive_seq" , this);
endfunction
task run_phase(uvm_phase phase);
super.run_phase(phase);
phase.raise_objection(this); // raise objection
seq_yapp_5_packets.start( yapp.tx_agent.sequencer);
seq_yapp_012_seq.start( yapp.tx_agent.sequencer);
seq_yapp_1_seq.start( yapp.tx_agent.sequencer);
seq_yapp_111_seq.start( yapp.tx_agent.sequencer);
seq_yapp_incr_payload_seq.start(yapp.tx_agent.sequencer);
seq_yapp_rnd_seq.start( yapp.tx_agent.sequencer);
seq_six_yapp_seq.start( yapp.tx_agent.sequencer);
seq_yapp_exhaustive_seq.start( yapp.tx_agent.sequencer);
phase.drop_objection(this); // drop objection
endtask
endclass : test2