Hello,
I have created a sequence and I am trying to start a sequence but keep getting following error. Not sure what exactly I am missing:
cfg_seq_h.start(i_tb_env.vsqr.m_apb_seqr);
cfg_seq_h.start(i_tb_env.vsqr.m_apb_seqr);
|
xmvlog: *E,NOTTXX (/tb//i_tb/tests/block/block_base_test.svh,39|22): Expecting a task name [10.2.2(IEEE)].
Please help.
Regards,
Nimesh
In reply to NPat:
Syntax errors usually require looking at the code surrounding the problem.
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.
In reply to NPat:
Damn…!! Spent couple of hours and finally realized that I have variable named ‘start’ in class itself, which conflict with start method call…!! Thank you Dave for your time.