In reply to dave_59:
Hi Dave, If I comment that particular line, test moves forward. So I do not see any surrounding error. Also, to keep it simple, I have removed everything from test and same issue.
task main_phase(uvm_phase phase);
//super.main_phase(phase);
phase.raise_objection(this);
`uvm_info(get_full_name(), "Starting main phase!!!", UVM_NONE)
cfg_seq_h = config_seq::type_id::create("cfg_seq_h", this);
cfg_core_seq = cfg_core_seq::type_id::create("cfg_core_seq", this);
if(!cfg_core_seq.randomize() with {start_tmr == 0;}) uvm_report_error(get_name(), "cfg_core_seq Randomization Failed..!!");
cfg_core_seq.start(i_tb_env.vsqr.m_apb_seqr);
if(!cfg_seq_h.randomize())
uvm_report_error(get_name(), "Config Seq Randomization Failed..!!");
cfg_seq_h.start(i_tb_env.vsqr.m_apb_seqr);
`uvm_info(get_full_name(), "Ending main phase!!!", UVM_NONE)
phase.drop_objection(this);
endtask // main_phase
In above I code, I have 2 sequences. 1 cfg_seq_h (which is creating problem) and one cfg_core_seq. Both are derived from same base class. I do not see any issue with cfg_core_seq.start. Compiler stuck @ cfg_seq_h.start.