This course is for verification engineers who will be using UVM to code complex test benches and stimuli for digital designs. After completing this course, engineers will be able to build a complete UVM testbench from scratch, know the types of verification components in a UVM testbench, transaction-level modeling, the proper ways to use UVM phasing, and objections, UVM configuration, and how to build layered stimulus sequences.
Hands-on lab exercises reinforce lecture and discussion topics under the guidance of our industry expert instructors.
The Accellera Universal Verification Methodology (UVM) standard defines a methodology for the verification of complex designs with SystemVerilog. UVM enables engineers to write thorough and reusable test environments. In the SystemVerilog UVM course, engineers will learn how to create a UVM testbench from scratch, understand UVM transaction-level verification, constrained random test generation, coverage, and scoreboards. Topics include UVM test phases, UVM class libraries, UVM utilities, UVM factories, UVM sequencers, UVM drivers, UVM Monitors, UVM scoreboards, UVM registers, and configuring UVM tests.
The UVM 1.1, 1.2, and 1800.2 standards are presented in the class discussions. Extensive examples and labs reinforce the concepts presented during the course. NOTE: To benefit from this course, engineers must already have a good understanding of the SystemVerilog language and object-oriented programming, such as from the Mentor Graphics course SystemVerilog for Verification course.
Hands-on lab exercises reinforce lecture and discussion topics under the guidance of our industry expert instructors.
Engineers should understand the new SystemVerilog design and verification features such as the new data types, interfaces, OOP, randomization, functional coverage, and interprocess communication.
Ideally, they should have applied these language features for several months on an actual project.