Course overview
The UVM Functional Verification Training is a 9-week intensive program designed for engineers aiming to gain deep expertise in UVM methodology and complex testbench development.
This course provides in-depth coverage of all UVM constructs, supported with practical use case examples and 15+ structured assignments to strengthen learning.
Participants will also work on multiple real-world projects, including:
-
APB Testbench Development
-
AHB Testbench Development
-
AHB Interconnect Model Testbench Development
By combining theory, hands-on labs, assignments, and projects, this training ensures a comprehensive mastery of UVM for functional verification.
Key Topics Covered
-
UVM Fundamentals
UVM methodology, phases, and base classes
-
UVM Components
Driver, monitor, agent, environment, and scoreboard creation
-
Transaction-Level Modeling (TLM)
Ports, exports, analysis, and inter-component communication
-
Sequences and Stimulus Generation
Building reusable sequences and sequence libraries
-
Configuration & Factory Mechanism
Configuration database, factory overrides, and reusability
-
UVM Messaging & Reporting
Debugging and controlling UVM reports and logs
-
Projects in UVM
-
APB testbench development
-
AHB testbench development
-
AHB interconnect testbench modeling and verification
-
Assignments & Labs
15+ structured assignments covering all UVM constructs with trainer guidance
Learning Outcomes
By the end of this UVM Functional Verification course, participants will:
-
Gain in-depth knowledge of all UVM constructs with practical use cases
-
Build and integrate complex reusable testbenches
-
Work on industry-relevant projects (APB, AHB, and AHB Interconnect TBs)
-
Strengthen coding and debugging skills with 15+ guided assignments
-
Be ready to take on functional verification roles in the VLSI industry
Course Duration
9 Weeks / Intensive Instructor-Led Training
Who Should Enroll?
-
Verification Engineers looking to master UVM methodology
-
Engineers with SystemVerilog knowledge advancing into UVM projects
-
Professionals preparing for UVM-based interviews and functional verification roles
-
Students and freshers aspiring to build careers in SoC and IP verification
By working on below projects, student will get familiar with:
- AHB and APB standard protocols
- Industry standard simulation tools like Questasim & VCS
- Develop debug expertise
- UVM based TB development for complex Designs
AHB2.0 is an AMBA protocol used for medium performance applications. I was part of UVC development team. UVC was developed to work as both master and slave. Developed all the UVC components and validated UVC for various AHB features.
What student learns in this project:
- Develop UVC Architecture to be compatible with both master and slave behavior
- List down AHB features and develop testplan for validating AHB UVC
- Develop AHB UVC components
- Integrated AHB Master UVC with slave UVC
- Develop sanity testcases and debug the same
- Develop functional tests and debug the same
APB is an AMBA protocol used for low performance applications. I was part of UVC development team. UVC was developed to work as both master and slave. Developed all the UVC components and validated UVC for various APB features.
What student learns in this project:
- APB Protocol
- APB architecture
- Features
- Signals
- Timing Diagrams
- APB UVC Architecture
- APB UVC Component Coding
- APB UVC Sequence & Test Development
- memory Test bench development
- memory Test bench Architecture
- APB UVC integration
- TB Component Coding
- Testcase coding and debug
FIFO is a design block used for connecting components working at either same or different frequencies. This project covers all the UVM TB setup for asynchronous FIFO. This project is focused on teaching UVM constructs from practical usage perspective.
What student learns in this project:
- Understand the functionality of Synchronous and Asynchronous FIFO
- Understand how to fix clock domain crossing issues in Asynchronous FIFO due to design working in two different clock domains, to avoid race and glitch conditions
- Develop Synchronous and Asynchronous FIFO design using Verilog
- Develop Test bench for Synchronous and Asynchronous FIFO design using Verilog
- Understand how to setup UVM TB for a design with 2 master interface
- Get hands on exposure to all UVM constructs
- Listing down features, scenarios – useful for interviews
- Develop test bench architecture using virtual sequencer
- Develop write and read interface agents
- Integrate both agents to the test bench
- Implement various test cases
- How to use virtual sequencer and virtual sequences in test case coding
- Regression setup and coverage analysis
AHB Interconnect is a configurable design used for connecting multiple AHB based masters to various AHB slaves. Design can be configured can multiple masters and multiple slaves.
What student learns in this project:
- Develop TB Architecture to be compatible with configurable number of master and slaves
- List down design features and develop testplan
- Integrate APB UVC and AHB UVC to set up whole TB
- Configuring AHB UVC to work as a master or slave
- Develop sanity testcases and debug the same
- Develop functional tests and debug the same
- Regression setup and coverage report generation
USB2.0 core is design used for interfacing USB controller with USB2.0 based function. Design consist of multiple registers to implement endpoint and other configuration requirements. I was responsible for developing Register model for USB2.0 registers.
What student learns in this project:
- List down registers, their fields and various attributes
- Develop register model using UVM Register layer base classes.
Please note: this project does not involve USB2.0 verification. It only gives student with exposure to Register model development.