How to add a Delay after the run_phase

So, I know UVM phases run in parallel. So main_phase for example can end at the same time as shutdown_phase, is there any way I can’t run the phases in parallel, or how can I add delay after a run_phase? If the other phases are just functions and I can’t add time, is there any way I can add a delay that runs at the end of the run_test?

In reply to ana.sanchez:

You have an incorrect assumption. The main and shutdown phases are part of a serial set “sub” phases that run parallel to the run_phase. You can extend the time of the run_phase after all objects have been dropped, but you cannot add another time consuming phase after it.

In reply to dave_59:

I understand that I even know it’s illegal to include a task in a function. But what can I do, if I need to run some delay at the end run_test()? I tried to add it in the shutdown phase, but it seems not to work, because I tried to print a debug message and since its running in parallel the message of the shutdown phase is printed at the beginning of the simulation. I also tried post shutdown phase but still the same message happens at the beginning. Is there any alternative solution to this problem?

In reply to ana.sanchez:

https://verificationacademy.com/forums/uvm/expanding-simulation-time#reply-107451

1 Like