Skip to main content

UVM Phases: Testbench Lifecycle

· loading · loading · ·
Education UVM Verification UVM Verification SystemVerilog Phase Management
Education UVM Verification
Axolot Logic
Author
Axolot Logic
Digital Design Engineer
Table of Contents
UVM Series - This article is part of a series.
Part 9: This Article

🔍 Introduction
#

In the Universal Verification Methodology (UVM), the execution of a testbench is organized into well-defined phases. Each phase represents a specific part of the testbench lifecycle, from initial construction to simulation and eventual cleanup. Understanding these phases is key to writing modular and reusable verification environments.


🚦 UVM Phase Overview
#


🚀 Phase Execution Order
#

UVM phases are executed in order, with the framework ensuring proper sequencing. This means you should always perform construction tasks in the build phase, connections in the connect phase, and time-consuming test stimulus in the run phase.

💡 Tip: UVM allows you to override phase methods in your classes by implementing:

function void build_phase(uvm_phase phase);
function void connect_phase(uvm_phase phase);
task run_phase(uvm_phase phase);

Each of these methods can be customized for your verification needs.


🧩 Phase Jumping and Phase Control
#

  • UVM supports phase jumping (e.g., skipping some phases or jumping to a later phase).
  • The uvm_phase object allows querying phase status and controlling phase execution (e.g., phase.raise_objection(this);).

📌 Conclusion
#

UVM Phases provide a structured way to build, connect, and simulate a testbench, ensuring that each stage has a clearly defined purpose. Mastering these phases is essential for effective UVM testbench development.


UVM Series - This article is part of a series.
Part 9: This Article

Related

UVM Sequence Starting Methods
· loading · loading
Education UVM Verification UVM Verification SystemVerilog Sequence Starting Objection Usage
Education UVM Verification
Using the UVM Factory
· loading · loading
Education UVM Verification UVM Verification SystemVerilog Factory Pattern
Education UVM Verification
Using uvm_subscriber in UVM Testbenches
· loading · loading
Education UVM Verification UVM Verification SystemVerilog Uvm_subscriber Coverage Collection
Education UVM Verification
Getting Started with UVM: Setup and Supported Simulators
· loading · loading
Education UVM Verification UVM Verification SystemVerilog Simulation
Education UVM Verification
Introduction to UVM
· loading · loading
Education UVM Verification UVM Verification SystemVerilog
Education UVM Verification
UVM Agent Usage and Adder Example
· loading · loading
Education UVM Verification UVM Verification SystemVerilog Uvm_agent Testbench Structure
Education UVM Verification