In reply to hungtaowu:
In reply to kuldeep sharma:
Hi sharma,
I don’t know why your simualation has to jump to build phase, not reset phase.
For reset test, the below code snippet may help you.
virtual function void phase_ready_to_end(uvm_phase phase);
super.phase_ready_to_end(phase);
if(phase.get_imp() == uvm_shutdown_phase::get()) begin
if(run_count == 0) begin
phase.jump(uvm_pre_reset_phase::get());
run_count++;
end
end
endfunction : phase_ready_to_end
You can refer to the link here for more infomation: http://www.sunburst-design.com/papers/HunterSNUGSV_UVM_Resets_paper.pdf
It is recommended to use the run_phase and to avoid the sub_phases of the run_phase.
You can execute any rest from the run_phase you do not need to do this in the reset_phase.