UVM phases

In reply to chr_sue:

This is not correct. Each component can have as many phases as it needs. However, we recommend only using the one time-consuming run_phase. Use sequences to control the ordering of different aspects of your test.

As far has the scheduling between phases, it does not matter if the phases are within a single component or spread out in multiple components. Each phase gets collectively scheduled as a group. The problem with mixing the run_phase with the main_phase, is you can’t count on them starting at the same time if you don’t know what other phases are being used that might delay the start of the main_phase.