UVM Sequence Start method does not recognize by tool

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.