I am having an issue running start_item. The code to issue my transaction is pretty straightforward:
ctrl_setter = bf_op_ctrl_pkt::type_id::create("ctrl_setter");
// (bf_op_ctrl_pkt extends uvm_sequence)
ctrl_setter.set_sequencer(rx[0].sys_ctrl.sqr);
//
// (ctrl_setter property settings)
//
start_item(ctrl_setter);
ctrl_setter.randomize();
finish_item(ctrl_setter);
However, the execution is not getting past start_item (as evidenced with breakpoints at start_item and ctrl_setter.randomize.) I use the Step Into function (Questasim) to delve into start_item within uvm_sequence_base.svh:
sequencer.wait_for_grant(this, set_priority);
`ifndef UVM_DISABLE_AUTO_ITEM_RECORDING
void'(sequencer.begin_child_tr(item, m_tr_handle, item.get_root_sequence_name()));
`endif
pre_do(1);
This process is getting stuck at sequencer.wait_for_grant. I haven’t had this issue before and this is the first time the test script calls start_item on any sequence, so I wouldn’t expect the sequencer to be busy with anything else. Where can I look to debug this problem?