Universal Verification Methodology (UVM) is the industry standard for functional verification methodology developed by key EDA vendors and industry leaders. It uses a SystemVerilog-based, OOP-centric approach to improve interoperability and code reusability. In this course, you will use the OOP testbench knowledge learned earlier to create a full-fledged, flexible verification environment for solving today’s increasingly complex functional verification challenges. You will also gain real-world, hands-on experience developing an industrial-strength UVM-based testbench that is layered, interoperable, constrained-random, and coverage-driven.
The course introduces the UVM architecture; its core set of base-classes and utility methods, and associated factory automation techniques. This framework forms the basic building blocks that facilitate the development of layered, modular, scalable, and reusable verification environments in SystemVerilog. You will be immersed in the practical application and deployment of UVM base-classes, understand their role in the verification environment to reduce design time and risks, as well as increasing quality and efficiency. The main base-classes covered are the UVM test classes, sequence classes, component classes, messaging and reporting mechanism, factory, configuration database, transaction-level modeling (TLM), scoreboarding, coverage and phasing mechanism. You will learn the power of UVM for successfully designing complex constraint-random coverage driven verification projects.
Concepts introduced in class are reinforced in the lab. In addition to in-class hands-on labs and weekly take-home assignments, you’ll work on a project to build an advanced UVM verification environment for a selected application with transaction-level and layered architecture. You will form a project team, create a test plan, develop a UVM-based verification environment, perform functional coverage, and submit a complete project report.
Learning Outcomes
At the conclusion of the course, you should be able to
- Understand the UVM hierarchies and various components needed to build a comprehensive UVM Testbench
- Design and implement various testbench components, such as driver, monitor, sequencer, agent, environment, scoreboard, coverage, and environment
- Understand the configuration databases, factory override, Transaction Level Modeling (TLM)
- Understand virtual sequences and virtual sequencers
- Build a framework for UVM Testbench
Skills Needed:
Students should have experience with object-oriented programming, C/C++, or have taken "Advanced Verification with SystemVerilog OOP Testbench" course. Prerequisite topics will not be repeated here. Hardware verification experience is helpful.
- Save Your Seat
Help us confirm course scheduling. Enroll at least seven days before your course starts. - Accessing Canvas
Learn more about gaining access to your course on Canvas in our FAQ section. -
Accessibility and Accommodation
For accessibility questions or to request an accommodation, please visit Access for Students with Disabilities or email the Extension registrar. -
Finance Your Education
Here are ways to pay for your education.
Prerequisite(s):
Sections Open for Enrollment:
Schedule
Date: | Start Time: | End Time: | Meeting Type: | Location: |
---|---|---|---|---|
Thu, 01-23-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 01-30-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 02-06-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 02-13-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 02-20-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 02-27-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 03-06-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 03-13-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 03-20-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Thu, 03-27-2025 | 6:30 p.m. | 9:30 p.m. | Flexible | SANTA CLARA / REMOTE |