Hi,
Please tell in which UVM phase, the body() function of the sequence exectues.
Does it executes in the run phase?
Thanks
Shankar
Hi,
Please tell in which UVM phase, the body() function of the sequence exectues.
Does it executes in the run phase?
Thanks
Shankar
In reply to shankar_logic:
It does not make sense to ask which phase a sequence executes in. A sequence executes when its body() method gets called - t’s not tied to any phase. Calling the start() method essentially puts a sequence object in a sequencer queue, and the sequencer uses a variety of arbitration schemes to select a sequence and call its body() method.
In reply to dave_59:
Hi Dave,
I would like to ask a scenario where I am struck which is related to the subject of this question.
After starting the sequence , it doesn’t come out of it. Specifically saying, it is a ral_sequence to write. From the waveform, I can confirm that the transaction is successful, and i expect the sequence to come out of it. On further debugging inside uvm bases classes, i found that it is hanging inside uvm_sequence_base.svh (sequencer.wait_for_item_done) and inside uvm_sequencer_base::wait_for_item_done in statement wait( m_wait_for_item_sequence_id == sequence_id );
Any suggestion how to resolve this issue?
Thanks,
Debashis
In reply to debashis_paul:
It Looks like you do not execute item_done() in your Driver. This is requested if you are using get_next_item.