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?