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.
-
M1 Core Concepts
-
01What UVM Is — and What It Is Not: Methodology vs. Library vs. Framework
-
02UVM Class Library Hierarchy: uvm_void, uvm_object, uvm_component — The Foundation
-
03UVM Package Structure and Compilation Dependencies in Large Projects
-
04uvm_object vs. uvm_component: Lifecycle, Hierarchy, and Construction Rules
-
M2 Factory System
-
05UVM Factory: Registration, Override, and Substitution — Core Mechanism Explained
-
06Type-Override vs. Instance-Override: When to Use Which and Dangerous Pitfalls
-
07UVM Factory Debug: uvm_factory::print() and Tracking Override Chains
-
M3 Configuration & Messaging
-
08uvm_config_db: Architecture, Get/Set Protocol, and Scoping Rules
-
09uvm_config_db Gotchas: Phase Ordering, Missing Set/Get Mismatches, and Debug
-
10UVM Messaging Infrastructure: uvm_report_server, Severity Levels, and Action Tables
-
11UVM Verbosity Control: Runtime and Compile-Time Switches in Production Environments
-
M4 TLM Communication
-
12UVM TLM 1.0: Ports, Exports, and Implementations — Push and Pull Models
-
13Analysis Ports and uvm_analysis_imp: Broadcast Communication Architecture
-
14uvm_tlm_fifo: Buffered Communication Between Producer and Consumer Components
-
M5 Field Automation
-
15UVM Callbacks: uvm_callbacks Mechanism for Non-Invasive Component Extension
-
16UVM Field Macros: `uvm_field_* — Purpose, Limitations, and When to Avoid Them
-
17do_copy, do_compare, do_print, do_pack, do_unpack: Manual Field Automation
-
18UVM Object Cloning: clone() vs. copy() in Transaction Pipelines
-
M6 Infrastructure
-
19UVM Resources and Resource Database: Alternative to Config DB
-
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.
-
M1 Testbench Structure
-
01UVM Testbench Topology: Top Module, Interface Instantiation, and DUT Wiring
-
02uvm_test: Role, Construction Policy, and Test Selection via Command-Line Plusarg
-
03uvm_env: Hierarchical Environment Architecture — Single Agent vs. Multi-Agent
-
M2 Agent Architecture
-
04Passive vs. Active Agent Architecture: When to Monitor Without Driving
-
05uvm_agent: Internal Structure — Driver, Monitor, Sequencer, and Coverage Collector
-
06Interface Handles in UVM: Passing via Config DB vs. Virtual Interface Parameterization
-
M3 Checking & Coverage
-
07Connecting Analysis Ports from Agent Monitor to Scoreboard and Coverage
-
08Scoreboard Architecture: In-Order, Out-of-Order, and Prediction-Based Models
-
09Reference Model Design: Functional Equivalence and Algorithmic Accuracy
-
M4 VIP & Reuse
-
10Building a Reusable Verification IP (VIP) Package: Namespace, Parameters, Files
-
11Parameterized Agents and Environments: Supporting Multiple DUT Configurations
-
12Top-Level Testbench Instantiation: Module-Based Binding for Simulation and Emulation
-
M5 Advanced Integration
-
13UVM Environment Reconfiguration: Enabling/Disabling Sub-Agents at Runtime
-
14Multi-Interface Testbenches: Coordinating Multiple Protocol Agents
-
15Integrating Third-Party VIPs: Interface Adapter, Wrapper, and Config Mapping
-
M6 Practical Examples
-
16Stub DUT and BFM-Only Testbench: Verifying VIP Before DUT Is Available
-
17UVM Testbench for an AXI4 Master DUT: Full Architecture Walkthrough
-
18Testbench Directory Structure and File Naming Conventions at Tier-1 Companies
-
19Compilation Order and Package Dependency Management in Large Environments
-
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.
-
M1 Driver Internals
-
01uvm_driver Internals: get_next_item(), item_done(), and try_next_item() Semantics
-
02Driver Reset Handling: Gracefully Terminating In-Flight Transactions
-
03Driver Pipelining: Handling Back-to-Back Transactions Without Gaps
-
04Protocol-Specific Driver Design: Modeling Ready/Valid Handshakes, Wait States
-
05Reactive Driver Architecture: Responding to DUT-Initiated Transactions
-
M2 Monitor Internals
-
06uvm_monitor Internals: Sampling Strategy, Clocking Block Usage, and Data Capture
-
07Monitor Protocol Violation Detection: Reporting Without Test-Breaking False Alarms
-
08Out-of-Band Signal Monitoring: Interrupts, Error Pins, and Status Flags
-
09Passive Monitor as a Protocol Checker: SVA Integration Strategy
-
M3 Sequencer & Arbitration
-
10uvm_sequencer Internals: Arbitration Algorithm and Priority Scheduling
-
11Sequencer Lock and Grab: Exclusive Channel Access for Critical Sequences
-
12Virtual Sequencer Architecture: Coordinating Multiple Protocol Agents
-
M4 Scoreboard Design
-
13Scoreboard Routing: Using Analysis FIFOs, Imps, and Multiplexed Analysis Ports
-
14Scoreboard with Expected Queue: Handling Out-of-Order Completion
-
15Timeout and Watchdog Implementation in Scoreboard and Test Components
-
M5 Coverage & Analysis
-
16Coverage Collector as a Separate Component: Decoupling Metrics from Checking
-
17uvm_subscriber: Lightweight Alternative to Full Scoreboard for Metric Collection
-
18Functional Coverage Closure Feedback: Dynamic Seed Selection Based on Coverage
-
M6 Error & Reset
-
19Error Injection Component Architecture: Coordinated Fault Injection with Checking
-
20Reset Sequence Architecture: Full DUT Reset and Testbench Drain Coordination
-
21Component Disable and Re-Enable Patterns for Power Management Verification
-
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.
-
M1 Sequence Item Design
-
01uvm_sequence_item: Field Registration, Constraints, and Conversion Methods
-
02Transaction Inheritance Hierarchy: Base Transactions and Protocol-Specific Extensions
-
03Constraint Architecture in Sequence Items: Layered Constraints and Mode Switches
-
04Pre- and Post-Randomize Hooks: Dependency Resolution and Derived Field Computation
-
M2 Sequence Basics
-
05uvm_sequence: body(), pre_body(), post_body() — Execution Lifecycle
-
06Sequence Parameterization: Generic Sequences for Configurable Test Scenarios
-
07Directed Test Sequences: When Constrained-Random Is Insufficient
-
08Constrained-Random Sequence Patterns: Corner Case Coverage Targeting
-
M3 Advanced Patterns
-
09Sequence Libraries: uvm_sequence_library for Automated Random Sequence Selection
-
10Layered Sequences: Protocol-Layer Abstraction and Reuse Across Test Levels
-
11Virtual Sequences: Multi-Agent Coordination Without Explicit Timing Dependencies
-
M4 Response & Arbitration
-
12Response Handling in Sequences: get_response() and Response Queue Management
-
13Sequence on Sequencer Arbitration: FIFO, Priority, Random, and Weighted Modes
-
14Sequencer Lock/Grab Patterns: Exclusive Access for Atomic Operation Sequences
-
M5 Sequence Control
-
15Starting Sequences: start(), start_item(), finish_item() — Implementation Detail
-
16Default Sequence Configuration via Config DB: Test-Independent Stimulus Strategy
-
17Sequence Override via Factory: Swapping Stimulus Without Modifying Tests
-
18Bidirectional Sequences: Sending Stimulus and Receiving DUT Response In-Line
-
M6 Specialized Sequences
-
19Interrupt-Driven Sequences: Event-Triggered Stimulus Injection
-
20Sequence Callbacks: Pre- and Post-Send Hooks for Debug and Coverage Augmentation
-
21Hierarchical Sequence Design Patterns: Atomic, Functional, and Scenario Layers
-
22Reusable Diagnostic Sequences: Register Access, Memory Sweep, and Link Training
-
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.
-
M1 Phase Architecture
-
01UVM Phase Architecture: Build, Connect, End-of-Elaboration, Start-of-Simulation
-
02Run-Time Phase Schedule: Pre/Post-Reset, Pre/Post-Configure, Pre/Post-Main, Pre/Post-Shutdown
-
03Task-Based vs. Function-Based Phases: Execution Model and Timing Constraints
-
M2 Objection Protocol
-
04Phase Objections: raise_objection(), drop_objection(), and the Drain Time Mechanism
-
05Objection Debugging: Identifying Hung Simulations and Leaked Objection Handles
-
M3 Phase Callbacks & Control
-
06Phase Callbacks: phase_started(), phase_ended(), phase_ready_to_end()
-
07Modifying phase_ready_to_end() for Coverage-Driven Simulation Extension
-
08Custom User-Defined Phases: When, Why, and How to Extend the Phase Schedule
-
09Phase Jumping: jump() and jump_all() — Use Cases and Risks
-
10Component-Level Phase Override: Skipping or Accelerating Specific Phase Execution
-
M4 Execution Order
-
11Hierarchical Phase Execution: Top-Down vs. Bottom-Up and Build vs. Connect Difference
-
12End-of-Test Sequencing: Coordinating DUT Drain, Response Capture, and Report Generation
-
M5 Timeout & End-of-Test
-
13UVM Timeout Mechanism: set_timeout() and Simulation Termination Strategies
-
14Global Timeout vs. Per-Sequence Timeout: Implementation Patterns
-
15UVM Report Summary at End-of-Test: Pass/Fail Criteria and CI Integration
-
M6 Advanced Scenarios
-
16Simulation Checkpoint and Snapshot: Reducing Regression Runtime with Phase Replay
-
17Multi-Phase Coordination in Complex SoC Environments: Boot, Config, Traffic, Drain
-
18Power-Aware Simulation: UVM Phase Integration with CPF/UPF Power Intent
-
19Coordinating UVM Phases with DUT Clock Gating and Reset Sequences
-
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.
-
M1 RAL Foundations
-
01UVM RAL Purpose: Why Direct Address Hacking Fails in Production Testbenches
-
02UVM Register Model Hierarchy: uvm_reg_block, uvm_reg, uvm_reg_field
-
03uvm_reg_field Attributes: Access Policies (RW, RO, WO, W1C, RC, W1S, and More)
-
04Building a Register Model from Scratch: Manual Construction Walkthrough
-
M2 Automated Generation
-
05Automated Register Model Generation: IP-XACT, RALF, and SystemRDL Flows
-
M3 Adapter Design
-
06uvm_reg_adapter: Mapping Register Operations to Physical Protocol Transactions
-
07Adapter Architecture for APB, AHB, AXI-Lite, and Custom Bus Protocols
-
M4 Register Access
-
08Front-Door Access: read(), write(), and Timing Implications
-
09Back-Door Access: peek(), poke(), and HDL Path Configuration
-
10Mirrored vs. Desired Value: Model Synchronization and Stale Value Hazards
-
M5 Built-in Sequences & Coverage
-
11Built-In Register Sequences: Hardware Reset Test, Bit-Bash, Access Test
-
12Register Coverage: uvm_reg_cvr_t and Per-Field Coverage Collection
-
M6 Memory & Map Hierarchy
-
13Memory Modeling: uvm_mem, Address Maps, and Stride Configuration
-
14Register Map Hierarchy: Multiple Maps for Multiple Bus Interfaces
-
M7 Advanced Register Types
-
15Lock and Access Control Register Modeling: Sticky Bits and Security Registers
-
18Register Shadowing and Double-Buffering: HW/SW Synchronization Registers
-
M8 Integration & Debug
-
19Multi-Block Register Model Integration: Composing Sub-Block Register Maps
-
20Register Scoreboard: Automated Checking of Register Read-Back Values
-
21RAL Debug: Dumping Mirror State, Access Log, and Prediction Errors
-
22RAL Integration in a Full SoC Testbench: CSR Access from Multiple Agents
-
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.
-
M1 SoC Architecture
-
01SoC Verification Architecture: Block-Level, Subsystem, and Full-Chip Environment Hierarchy
-
02Environment Reuse Strategy: Lifting Block-Level Testbenches into SoC Context
-
03Abstract Sequence Layering for SoC: Firmware-Model vs. Direct Protocol Sequences
-
M2 Co-Simulation
-
04Firmware-Driven Verification: Booting Real Firmware Images in Simulation
-
05Instruction Set Simulator (ISS) Co-Simulation: RISC-V/ARM Core Integration with UVM
-
06UVM and SystemC TLM 2.0 Integration: High-Speed Simulation with Transaction-Level Models
-
M3 Emulation & Formal
-
07UVM for Hardware Emulation: Adaptation for Cadence Palladium and Synopsys ZeBu Flows
-
08UVM for Formal Verification: SVA Property Extraction and Jasper/Questa Formal Integration
-
09Protocol-Aware Coverage Closure: Directed Coverage Closure Campaigns
-
M4 Coverage & Regression
-
10Coverage-Driven Constraint Mutation: Feedback Loops Between Simulation and Constraint Solver
-
11Multi-Simulation Parallel Regression: Farm Submission, Resource Management, and Reporting
-
12UVM Regression Infrastructure: Makefile-Based and Python-Based Flow Architecture
-
13Automated Pass/Fail Infrastructure: Exit Codes, UVM_ERROR Thresholds, and CI Hooks
-
M5 Performance & Debug
-
14Regression Debug: Reproducing, Minimizing, and Bisecting Failing Tests
-
15Performance Optimization: Reducing Simulation Overhead in Large UVM Environments
-
16Assertion Density and Structural Coverage Metrics in Production Sign-Off
-
M6 Reuse Strategies
-
17Vertical Reuse: Parameterizing VIPs for Different Protocol Variants (AXI3 vs. AXI4)
-
18Horizontal Reuse: Sharing Sequence Libraries Across Multiple IP Projects
-
19UVM Coding Style and Methodology Guidelines: Internal Company Standards
-
M7 Specialized Domains
-
20Mixed-Language Environments: VHDL DUT with SystemVerilog UVM Testbench
-
21Power-Aware Verification: UVM Integration with UPF Isolation and Retention Checks
-
22Security Verification: Side-Channel, Access Control, and Privilege Boundary Testing
-
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.
-
M1 Verification Planning
-
01Verification Planning at the Product Level: Risk-Based Feature Prioritization
-
02Developing a Verification Methodology Document for a New Product Line
-
03Sign-Off Criteria Definition: Coverage Metrics, Assertion Density, and Escape Rate Targets
-
04Bug Triage Architecture: Severity Classification and Escape Analysis Framework
-
M2 Tool & Methodology
-
05Tool Evaluation: Selecting Between VCS, Xcelium, Questa for a New Program
-
06UVM Methodology Customization: Extending or Restricting Base Methodology for an Organization
-
M3 Advanced Standards
-
07UVM and Portable Stimulus Standard (PSS): Accellera PSS/Stimulus & Coverage Integration
-
08Machine Learning for Verification: Coverage-Driven Test Generation and Regression Prediction
-
09Formal Verification Integration at Scale: Property Synthesis, Abstraction, and Proof Strategy
-
M4 Hybrid & Scale
-
10Hybrid Simulation/Emulation Flows: Split Verification Between Simulation and Hardware
-
11Verification IP Commercialization: Quality Bar, Documentation, and Support Architecture
-
12Hardware Security Verification Architecture: Threat Model to Coverage Plan
-
M5 Pre / Post Silicon
-
13Pre-Silicon to Post-Silicon Correlation: Testbench Portability and SVA Reuse
-
14Cross-Functional Collaboration: RTL Design, DV, Software, and Physical Design Integration
-
M6 Leadership
-
15Mentoring and Code Review Standards: DV Team Culture and Technical Leadership
-
16Managing a Distributed Verification Team: Task Allocation, Progress Tracking, and Reporting
-
M7 Tape-Out & Future
-
17Tape-Out Verification Checklist: Gate-Level Simulation, SDF Back-Annotation, Timing Closure
-
18Post-Silicon Debug: Bring-Up Sequence, Probe Strategy, and Lab Correlation
-
19Verification Return on Investment: Measuring DV Efficiency and Escape Cost
-
20Future Trends: AI-Assisted Verification, LLM-Driven Testbench Generation, and Industry Outlook Begin the Series — Level 1, Module 1 →