Hi
I just switched to uvm1.2. In my sequence task body there’s:
var uvm_phase starting_phase = get_starting_phase();
if (starting_phase!=null) begin
...
end
else `uvm_error("starting phase = null")
During the simulation, it reports “starting phase = null”. But the sequence still works as expected. My driver/monitor all get expected transactions.
Is this a normal case? Should starting phase should be null or is there anything wrong with the situation?
In reply to ekgren:
It means the sequence was not started using the default sequence mechanism in uvm_sequencer.
If you are not using default sequences (which we do not recommend anyways), you can eliminate this code.
In reply to dave_59:
Thanks. Actually I set a top_sequence as default sequence for my v_sequencer. The top_sequence includes more than one sequences. When I check starting_phase at task body() of each sequence, I found that for the first lauched sequence, starting_phase != null. But for the other sequences, starting_phase = null. I’m not sure this is normal or fragile case and if it needs fixing.