Skip to content

UVM Tutorials

UVM Level 1 — 21 expert-curated topics on factory, config_db, TLM, phasing, and field automation.

UVM Tutorial Series · Level 1

UVM Tutorial Series · Level 1UVM Fundamentals — Level 1: The Non-Negotiable Foundation 21 expert-curated topics covering UVM factory, config_db, TLM, phasing, field automation, and infrastructure. Every mechanism you will use in Levels 2–8 is rooted here. Do not advance until this level is solid. ↳ UVM Learning Roadmap — find your level below and follow the guideLevel 1UVM FundamentalsStudents · FreshersStart here — only SV OOP needed21 topics · 6 modules›Level 2TB ArchitectureFreshers · JuniorBuild your first full testbench20 topics · 6 modules›Level 3Components Deep DiveJunior · Mid-LevelMaster driver, monitor & sequencer22 topics · 6 modules›Level 4Sequences & StimulusMid · Mid-SeniorWrite real constrained-random stimulus23 topics · 6 modules›Level 5Phases & Sim. ControlMid · SeniorOwn the phase engine & objections20 topics · 6 modules›Level 6Register AbstractionSenior · LeadOwn the RAL layer in daily work23 topics · 8 modules›Level 7Advanced & ScalableLead · ExpertScale verification to SoC level23 topics · 7 modules›Level 8Verification ArchitectPrincipal · ArchitectLead teams & define methodology20 topics · 7 modules1LevelActive21Level 1Topics6StructuredModules0–1YearExperience

Level 1UVM FundamentalsCollege Students · Freshers · 0–1 Year Experience21 topics · 6 modulesPrerequisite: SystemVerilog OOP The non-negotiable foundation. Every mechanism in UVM — factory, config_db, phasing, TLM — is introduced here. Do not advance to Level 2 until every topic in this level is clear.

  1. M1 Core Concepts

  2. 01What UVM Is — and What It Is Not: Methodology vs. Library vs. Framework

  3. 02UVM Class Library Hierarchy: uvm_void, uvm_object, uvm_component — The Foundation

  4. 03UVM Package Structure and Compilation Dependencies in Large Projects

  5. 04uvm_object vs. uvm_component: Lifecycle, Hierarchy, and Construction Rules

  6. M2 Factory System

  7. 05UVM Factory: Registration, Override, and Substitution — Core Mechanism Explained

  8. 06Type-Override vs. Instance-Override: When to Use Which and Dangerous Pitfalls

  9. 07UVM Factory Debug: uvm_factory::print() and Tracking Override Chains

  10. M3 Configuration & Messaging

  11. 08uvm_config_db: Architecture, Get/Set Protocol, and Scoping Rules

  12. 09uvm_config_db Gotchas: Phase Ordering, Missing Set/Get Mismatches, and Debug

  13. 10UVM Messaging Infrastructure: uvm_report_server, Severity Levels, and Action Tables

  14. 11UVM Verbosity Control: Runtime and Compile-Time Switches in Production Environments

  15. M4 TLM Communication

  16. 12UVM TLM 1.0: Ports, Exports, and Implementations — Push and Pull Models

  17. 13Analysis Ports and uvm_analysis_imp: Broadcast Communication Architecture

  18. 14uvm_tlm_fifo: Buffered Communication Between Producer and Consumer Components

  19. M5 Field Automation

  20. 15UVM Callbacks: uvm_callbacks Mechanism for Non-Invasive Component Extension

  21. 16UVM Field Macros: `uvm_field_* — Purpose, Limitations, and When to Avoid Them

  22. 17do_copy, do_compare, do_print, do_pack, do_unpack: Manual Field Automation

  23. 18UVM Object Cloning: clone() vs. copy() in Transaction Pipelines

  24. M6 Infrastructure

  25. 19UVM Resources and Resource Database: Alternative to Config DB

  26. 20Understanding uvm_root and the UVM Singleton Pattern

  27. 21UVM Logging to File: Configuring Report Handlers in CI Regression Systems Level 2UVM Testbench ArchitectureFreshers · Junior Engineers · 1–2 Years Experience20 topics · 6 modulesPrerequisite: Level 1 complete How to assemble a production-grade UVM testbench from scratch. Top module, environment hierarchy, agent architecture, scoreboard design, VIP packaging, and multi-interface coordination.

  28. M1 Testbench Structure

  29. 01UVM Testbench Topology: Top Module, Interface Instantiation, and DUT Wiring

  30. 02uvm_test: Role, Construction Policy, and Test Selection via Command-Line Plusarg

  31. 03uvm_env: Hierarchical Environment Architecture — Single Agent vs. Multi-Agent

  32. M2 Agent Architecture

  33. 04Passive vs. Active Agent Architecture: When to Monitor Without Driving

  34. 05uvm_agent: Internal Structure — Driver, Monitor, Sequencer, and Coverage Collector

  35. 06Interface Handles in UVM: Passing via Config DB vs. Virtual Interface Parameterization

  36. M3 Checking & Coverage

  37. 07Connecting Analysis Ports from Agent Monitor to Scoreboard and Coverage

  38. 08Scoreboard Architecture: In-Order, Out-of-Order, and Prediction-Based Models

  39. 09Reference Model Design: Functional Equivalence and Algorithmic Accuracy

  40. M4 VIP & Reuse

  41. 10Building a Reusable Verification IP (VIP) Package: Namespace, Parameters, Files

  42. 11Parameterized Agents and Environments: Supporting Multiple DUT Configurations

  43. 12Top-Level Testbench Instantiation: Module-Based Binding for Simulation and Emulation

  44. M5 Advanced Integration

  45. 13UVM Environment Reconfiguration: Enabling/Disabling Sub-Agents at Runtime

  46. 14Multi-Interface Testbenches: Coordinating Multiple Protocol Agents

  47. 15Integrating Third-Party VIPs: Interface Adapter, Wrapper, and Config Mapping

  48. M6 Practical Examples

  49. 16Stub DUT and BFM-Only Testbench: Verifying VIP Before DUT Is Available

  50. 17UVM Testbench for an AXI4 Master DUT: Full Architecture Walkthrough

  51. 18Testbench Directory Structure and File Naming Conventions at Tier-1 Companies

  52. 19Compilation Order and Package Dependency Management in Large Environments

  53. 20Simulation Performance Profiling: Identifying Bottlenecks in Testbench Architecture Level 3UVM Components Deep DiveJunior · Mid-Level Engineers · 2–4 Years Experience22 topics · 6 modulesPrerequisite: Level 2 complete The internals of every UVM structural component — driver pipelining, monitor sampling strategies, sequencer arbitration, scoreboard routing, coverage collection, and reset coordination.

  54. M1 Driver Internals

  55. 01uvm_driver Internals: get_next_item(), item_done(), and try_next_item() Semantics

  56. 02Driver Reset Handling: Gracefully Terminating In-Flight Transactions

  57. 03Driver Pipelining: Handling Back-to-Back Transactions Without Gaps

  58. 04Protocol-Specific Driver Design: Modeling Ready/Valid Handshakes, Wait States

  59. 05Reactive Driver Architecture: Responding to DUT-Initiated Transactions

  60. M2 Monitor Internals

  61. 06uvm_monitor Internals: Sampling Strategy, Clocking Block Usage, and Data Capture

  62. 07Monitor Protocol Violation Detection: Reporting Without Test-Breaking False Alarms

  63. 08Out-of-Band Signal Monitoring: Interrupts, Error Pins, and Status Flags

  64. 09Passive Monitor as a Protocol Checker: SVA Integration Strategy

  65. M3 Sequencer & Arbitration

  66. 10uvm_sequencer Internals: Arbitration Algorithm and Priority Scheduling

  67. 11Sequencer Lock and Grab: Exclusive Channel Access for Critical Sequences

  68. 12Virtual Sequencer Architecture: Coordinating Multiple Protocol Agents

  69. M4 Scoreboard Design

  70. 13Scoreboard Routing: Using Analysis FIFOs, Imps, and Multiplexed Analysis Ports

  71. 14Scoreboard with Expected Queue: Handling Out-of-Order Completion

  72. 15Timeout and Watchdog Implementation in Scoreboard and Test Components

  73. M5 Coverage & Analysis

  74. 16Coverage Collector as a Separate Component: Decoupling Metrics from Checking

  75. 17uvm_subscriber: Lightweight Alternative to Full Scoreboard for Metric Collection

  76. 18Functional Coverage Closure Feedback: Dynamic Seed Selection Based on Coverage

  77. M6 Error & Reset

  78. 19Error Injection Component Architecture: Coordinated Fault Injection with Checking

  79. 20Reset Sequence Architecture: Full DUT Reset and Testbench Drain Coordination

  80. 21Component Disable and Re-Enable Patterns for Power Management Verification

  81. 22Custom uvm_component with Internal State Machine: Design Patterns Level 4Transactions, Sequences, and Sequencer MechanicsMid-Level · Mid-Senior Engineers · 3–5 Years Experience23 topics · 6 modulesPrerequisite: Level 3 complete The stimulus engine of any UVM testbench. Sequence item constraints, layered sequences, virtual sequences, response handling, sequence libraries, and the full execution lifecycle of the sequencer.

  82. M1 Sequence Item Design

  83. 01uvm_sequence_item: Field Registration, Constraints, and Conversion Methods

  84. 02Transaction Inheritance Hierarchy: Base Transactions and Protocol-Specific Extensions

  85. 03Constraint Architecture in Sequence Items: Layered Constraints and Mode Switches

  86. 04Pre- and Post-Randomize Hooks: Dependency Resolution and Derived Field Computation

  87. M2 Sequence Basics

  88. 05uvm_sequence: body(), pre_body(), post_body() — Execution Lifecycle

  89. 06Sequence Parameterization: Generic Sequences for Configurable Test Scenarios

  90. 07Directed Test Sequences: When Constrained-Random Is Insufficient

  91. 08Constrained-Random Sequence Patterns: Corner Case Coverage Targeting

  92. M3 Advanced Patterns

  93. 09Sequence Libraries: uvm_sequence_library for Automated Random Sequence Selection

  94. 10Layered Sequences: Protocol-Layer Abstraction and Reuse Across Test Levels

  95. 11Virtual Sequences: Multi-Agent Coordination Without Explicit Timing Dependencies

  96. M4 Response & Arbitration

  97. 12Response Handling in Sequences: get_response() and Response Queue Management

  98. 13Sequence on Sequencer Arbitration: FIFO, Priority, Random, and Weighted Modes

  99. 14Sequencer Lock/Grab Patterns: Exclusive Access for Atomic Operation Sequences

  100. M5 Sequence Control

  101. 15Starting Sequences: start(), start_item(), finish_item() — Implementation Detail

  102. 16Default Sequence Configuration via Config DB: Test-Independent Stimulus Strategy

  103. 17Sequence Override via Factory: Swapping Stimulus Without Modifying Tests

  104. 18Bidirectional Sequences: Sending Stimulus and Receiving DUT Response In-Line

  105. M6 Specialized Sequences

  106. 19Interrupt-Driven Sequences: Event-Triggered Stimulus Injection

  107. 20Sequence Callbacks: Pre- and Post-Send Hooks for Debug and Coverage Augmentation

  108. 21Hierarchical Sequence Design Patterns: Atomic, Functional, and Scenario Layers

  109. 22Reusable Diagnostic Sequences: Register Access, Memory Sweep, and Link Training

  110. 23Sequence Timeouts and Error Injection via Sequence Callback Override Level 5UVM Phases and Simulation ControlMid · Senior Engineers · 4–6 Years Experience20 topics · 6 modulesPrerequisite: Level 4 complete Deep understanding of the UVM phase engine — phase scheduling, objection protocol, phase jumping, coverage-driven simulation extension, timeout management, and CI-integrated end-of-test control.

  111. M1 Phase Architecture

  112. 01UVM Phase Architecture: Build, Connect, End-of-Elaboration, Start-of-Simulation

  113. 02Run-Time Phase Schedule: Pre/Post-Reset, Pre/Post-Configure, Pre/Post-Main, Pre/Post-Shutdown

  114. 03Task-Based vs. Function-Based Phases: Execution Model and Timing Constraints

  115. M2 Objection Protocol

  116. 04Phase Objections: raise_objection(), drop_objection(), and the Drain Time Mechanism

  117. 05Objection Debugging: Identifying Hung Simulations and Leaked Objection Handles

  118. M3 Phase Callbacks & Control

  119. 06Phase Callbacks: phase_started(), phase_ended(), phase_ready_to_end()

  120. 07Modifying phase_ready_to_end() for Coverage-Driven Simulation Extension

  121. 08Custom User-Defined Phases: When, Why, and How to Extend the Phase Schedule

  122. 09Phase Jumping: jump() and jump_all() — Use Cases and Risks

  123. 10Component-Level Phase Override: Skipping or Accelerating Specific Phase Execution

  124. M4 Execution Order

  125. 11Hierarchical Phase Execution: Top-Down vs. Bottom-Up and Build vs. Connect Difference

  126. 12End-of-Test Sequencing: Coordinating DUT Drain, Response Capture, and Report Generation

  127. M5 Timeout & End-of-Test

  128. 13UVM Timeout Mechanism: set_timeout() and Simulation Termination Strategies

  129. 14Global Timeout vs. Per-Sequence Timeout: Implementation Patterns

  130. 15UVM Report Summary at End-of-Test: Pass/Fail Criteria and CI Integration

  131. M6 Advanced Scenarios

  132. 16Simulation Checkpoint and Snapshot: Reducing Regression Runtime with Phase Replay

  133. 17Multi-Phase Coordination in Complex SoC Environments: Boot, Config, Traffic, Drain

  134. 18Power-Aware Simulation: UVM Phase Integration with CPF/UPF Power Intent

  135. 19Coordinating UVM Phases with DUT Clock Gating and Reset Sequences

  136. 20Phase Debug Techniques: UVM_PHASE_TRACE and Execution Order Visualization Level 6Register Abstraction Layer (RAL) and Advanced IntegrationSenior · Lead Engineers · 5–8 Years Experience23 topics · 8 modulesPrerequisite: Level 5 complete The UVM Register Abstraction Layer from first principles to SoC integration. Register model construction, adapter design, front-door and back-door access, built-in register sequences, memory modeling, and formal extraction from RAL.

  137. M1 RAL Foundations

  138. 01UVM RAL Purpose: Why Direct Address Hacking Fails in Production Testbenches

  139. 02UVM Register Model Hierarchy: uvm_reg_block, uvm_reg, uvm_reg_field

  140. 03uvm_reg_field Attributes: Access Policies (RW, RO, WO, W1C, RC, W1S, and More)

  141. 04Building a Register Model from Scratch: Manual Construction Walkthrough

  142. M2 Automated Generation

  143. 05Automated Register Model Generation: IP-XACT, RALF, and SystemRDL Flows

  144. M3 Adapter Design

  145. 06uvm_reg_adapter: Mapping Register Operations to Physical Protocol Transactions

  146. 07Adapter Architecture for APB, AHB, AXI-Lite, and Custom Bus Protocols

  147. M4 Register Access

  148. 08Front-Door Access: read(), write(), and Timing Implications

  149. 09Back-Door Access: peek(), poke(), and HDL Path Configuration

  150. 10Mirrored vs. Desired Value: Model Synchronization and Stale Value Hazards

  151. M5 Built-in Sequences & Coverage

  152. 11Built-In Register Sequences: Hardware Reset Test, Bit-Bash, Access Test

  153. 12Register Coverage: uvm_reg_cvr_t and Per-Field Coverage Collection

  154. M6 Memory & Map Hierarchy

  155. 13Memory Modeling: uvm_mem, Address Maps, and Stride Configuration

  156. 14Register Map Hierarchy: Multiple Maps for Multiple Bus Interfaces

  157. M7 Advanced Register Types

  158. 15Lock and Access Control Register Modeling: Sticky Bits and Security Registers

  159. 16Register Aliasing: Same Address, Multiple Logical Views

  160. 17Indirect Registers: Modeling Index-Data Register Pairs

  161. 18Register Shadowing and Double-Buffering: HW/SW Synchronization Registers

  162. M8 Integration & Debug

  163. 19Multi-Block Register Model Integration: Composing Sub-Block Register Maps

  164. 20Register Scoreboard: Automated Checking of Register Read-Back Values

  165. 21RAL Debug: Dumping Mirror State, Access Log, and Prediction Errors

  166. 22RAL Integration in a Full SoC Testbench: CSR Access from Multiple Agents

  167. 23Formal Register Verification: Property Extraction from RAL for Formal Tools Level 7Advanced UVM and Scalable ArchitecturesLead · Expert Engineers · 7–12 Years Experience23 topics · 7 modulesPrerequisite: Level 6 complete SoC-scale verification, firmware-driven simulation, ISS co-simulation, emulation adaptation, formal integration, coverage-driven regression, and the infrastructure that runs thousands of tests in production.

  168. M1 SoC Architecture

  169. 01SoC Verification Architecture: Block-Level, Subsystem, and Full-Chip Environment Hierarchy

  170. 02Environment Reuse Strategy: Lifting Block-Level Testbenches into SoC Context

  171. 03Abstract Sequence Layering for SoC: Firmware-Model vs. Direct Protocol Sequences

  172. M2 Co-Simulation

  173. 04Firmware-Driven Verification: Booting Real Firmware Images in Simulation

  174. 05Instruction Set Simulator (ISS) Co-Simulation: RISC-V/ARM Core Integration with UVM

  175. 06UVM and SystemC TLM 2.0 Integration: High-Speed Simulation with Transaction-Level Models

  176. M3 Emulation & Formal

  177. 07UVM for Hardware Emulation: Adaptation for Cadence Palladium and Synopsys ZeBu Flows

  178. 08UVM for Formal Verification: SVA Property Extraction and Jasper/Questa Formal Integration

  179. 09Protocol-Aware Coverage Closure: Directed Coverage Closure Campaigns

  180. M4 Coverage & Regression

  181. 10Coverage-Driven Constraint Mutation: Feedback Loops Between Simulation and Constraint Solver

  182. 11Multi-Simulation Parallel Regression: Farm Submission, Resource Management, and Reporting

  183. 12UVM Regression Infrastructure: Makefile-Based and Python-Based Flow Architecture

  184. 13Automated Pass/Fail Infrastructure: Exit Codes, UVM_ERROR Thresholds, and CI Hooks

  185. M5 Performance & Debug

  186. 14Regression Debug: Reproducing, Minimizing, and Bisecting Failing Tests

  187. 15Performance Optimization: Reducing Simulation Overhead in Large UVM Environments

  188. 16Assertion Density and Structural Coverage Metrics in Production Sign-Off

  189. M6 Reuse Strategies

  190. 17Vertical Reuse: Parameterizing VIPs for Different Protocol Variants (AXI3 vs. AXI4)

  191. 18Horizontal Reuse: Sharing Sequence Libraries Across Multiple IP Projects

  192. 19UVM Coding Style and Methodology Guidelines: Internal Company Standards

  193. M7 Specialized Domains

  194. 20Mixed-Language Environments: VHDL DUT with SystemVerilog UVM Testbench

  195. 21Power-Aware Verification: UVM Integration with UPF Isolation and Retention Checks

  196. 22Security Verification: Side-Channel, Access Control, and Privilege Boundary Testing

  197. 23Scorecard-Driven Verification Closure: Feature Tracking, Coverage Merging, and Sign-Off Metrics Level 8Expert Level — Verification Architect TopicsLead · Principal · Verification Architects · 10+ Years Experience20 topics · 7 modulesNo code prerequisites — strategic thinking required The decisions that determine whether a project ships on time. Verification planning, sign-off criteria, tool selection, PSS integration, ML-assisted verification, pre-to-post-silicon correlation, and leading a distributed DV team.

  198. M1 Verification Planning

  199. 01Verification Planning at the Product Level: Risk-Based Feature Prioritization

  200. 02Developing a Verification Methodology Document for a New Product Line

  201. 03Sign-Off Criteria Definition: Coverage Metrics, Assertion Density, and Escape Rate Targets

  202. 04Bug Triage Architecture: Severity Classification and Escape Analysis Framework

  203. M2 Tool & Methodology

  204. 05Tool Evaluation: Selecting Between VCS, Xcelium, Questa for a New Program

  205. 06UVM Methodology Customization: Extending or Restricting Base Methodology for an Organization

  206. M3 Advanced Standards

  207. 07UVM and Portable Stimulus Standard (PSS): Accellera PSS/Stimulus & Coverage Integration

  208. 08Machine Learning for Verification: Coverage-Driven Test Generation and Regression Prediction

  209. 09Formal Verification Integration at Scale: Property Synthesis, Abstraction, and Proof Strategy

  210. M4 Hybrid & Scale

  211. 10Hybrid Simulation/Emulation Flows: Split Verification Between Simulation and Hardware

  212. 11Verification IP Commercialization: Quality Bar, Documentation, and Support Architecture

  213. 12Hardware Security Verification Architecture: Threat Model to Coverage Plan

  214. M5 Pre / Post Silicon

  215. 13Pre-Silicon to Post-Silicon Correlation: Testbench Portability and SVA Reuse

  216. 14Cross-Functional Collaboration: RTL Design, DV, Software, and Physical Design Integration

  217. M6 Leadership

  218. 15Mentoring and Code Review Standards: DV Team Culture and Technical Leadership

  219. 16Managing a Distributed Verification Team: Task Allocation, Progress Tracking, and Reporting

  220. M7 Tape-Out & Future

  221. 17Tape-Out Verification Checklist: Gate-Level Simulation, SDF Back-Annotation, Timing Closure

  222. 18Post-Silicon Debug: Bring-Up Sequence, Probe Strategy, and Lab Correlation

  223. 19Verification Return on Investment: Measuring DV Efficiency and Escape Cost

  224. 20Future Trends: AI-Assisted Verification, LLM-Driven Testbench Generation, and Industry Outlook Begin the Series — Level 1, Module 1 →