Build advanced OOP testbenches with SystemVerilog for robust, coverage-driven verification.
Skills you will gain
- UVM Testbench Design: Build comprehensive, layered testbenches using UVM components like drivers, monitors, and sequencers.
- Advanced Verification Techniques: Implement constrained-random and coverage-driven verification methods for complex designs.
- UVM Component Integration: Integrate key UVM components (e.g., scoreboard, environment, agent) for modular, reusable testbenches.
- Factory & Configuration Management: Utilize configuration databases and factory overrides for efficient testbench configuration and automation.
- Transaction-Level Modeling (TLM): Apply TLM to simulate and model transactions effectively within a UVM-based framework.
Course Description
SystemVerilog is the industry IEEE-1800 standard combining the hardware description language and hardware verification language. This course focuses on the use of advanced verification features in SystemVerilog. Students will learn the step-by-step processes of creating flexible verification components, which form the basis of modern industry-standard methodologies such as UVM (Universal Verification Methodology). They will also gain experience developing an industrial-strength object-oriented programming (OOP) testbench that is layered, configurable, constrained-random, and coverage-driven.
The course starts with a brief review of SystemVerilog language semantics and simulation fundamentals such as event ordering, delta cycles and race conditions, which will then feed into closely related entities in program block, clocking block, and interfaces. Students will learn how to develop a complete verification environment by building flexible testbench components via the use of virtual interfaces, classes, mailboxes, dynamic arrays, and queues, etc. Functional coverage in the form of covergroup, coverpoint, and SystemVerilog Assertion (SVA), will round up the development of a complete verification environment. You will become familiar with the flexibility of an OOP-centric technique, the power of constrained random verification and the use of functional coverage tools to ensure the success of a verification project.
Concepts introduced in class are reinforced in the lab. In addition to in-class hands-on labs and weekly take-home assignments, students will work on a required project to build an advanced OOP testbench and verification environment for a selected application (such as a 10G Ethernet MAC design), with transaction-level and layered architecture. Students will form a project team, create a test plan, develop an OOP-centric verification environment, perform functional coverage, and submit a complete project report. This course builds the foundation for the course "System and Functional Verification Using UVM (Universal Verification Methodology)."
Prerequisites / Skills Needed
A course in SystemVerilog and knowledge of VHDL, Verilog, C/C++, and some hardware verification experience. Ability to install and configure open-source software on own computers.
- Flexible Attend in person or via Zoom at scheduled times.
| Date | Start Time | End Time | Meeting Type | Location |
|---|---|---|---|---|
| Tue, 01-06-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 01-13-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 01-20-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 01-27-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 02-03-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 02-10-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 02-17-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 02-24-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 03-03-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 03-10-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 03-17-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
| Tue, 03-24-2026 | 6:30pm | 9:30pm | Flexible | SANTA CLARA / REMOTE |
This class meets simultaneously in a classroom and remotely via Zoom. Students are expected to attend and participate in the course, either in-person or remotely, during the days and times that are specified on the course schedule. Students attending remotely are also strongly encouraged to have their cameras on to get the most out of the remote learning experience. Students attending the class in-person are expected to bring a laptop to each class meeting.
To see all meeting dates, click “Full Schedule” below.
You will be granted access in Canvas to your course site and course materials approximately 24 hours prior to the published start date of the course.
This course applies to these certificate programs: