Skip to content

UVM · Topic

UVM Phases — Build, Connect, Run & Objections

The UVM phase machine — build and connect order, the run-phase family, objections, and why a test ends when it does.

Phasing exists to solve an ordering problem that has no good manual answer: every component must be constructed before any component is connected, and connection must finish before anything runs. UVM enforces that top-down/bottom-up order so a testbench assembles correctly regardless of the order components were declared. The part engineers meet as a bug is objections — the run phase ends when the last objection drops, so a component that forgets to raise one lets the test finish before its work does, and the symptom is a test that passes having checked almost nothing.

Lessons in this topic(13)

Start hereUVM Phasing OverviewUVM Phasing Overview
  1. 2build_phase
  2. 3connect_phase
  3. 4end_of_elaboration_phase
  4. 5start_of_simulation_phase
  5. 6run_phase
  6. 7extract_phase
  7. 8check_phase
  8. 9report_phase
  9. 10final_phase
  10. 11Phase Ordering
  11. 12Phase Debugging
  12. 13uvm_root & the Singleton Pattern