Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Design Verification with SystemVerilog/UVM
Bestseller
Highest Rated
Rating: 4.7 out of 5(526 ratings)
6,510 students

Design Verification with SystemVerilog/UVM

Unveiling UVM in SystemVerilog language: From Building UVM Agents to Functional Coverage and Debugging Techniques
Created byCristian Slav
Last updated 3/2025
English

What you'll learn

  • Module level verification using SystemVerilog and UVM library.
  • Build agents in SystemVerilog/UVM to drive and monitor communication interfaces.
  • Build the model of the registers using UVM and connect it to the APB interface in order to let UVM perform its automatic checks on the register accesses.
  • Build the functional model of a Device Under Test (DUT) and use it to predict the correct response expected from the DUT.
  • Build a scoreboard to verify automatically all the expected outputs of a DUT.
  • Build the coverage model and all the logic necessary to collect that coverage.
  • Build random tests to verify all the features of a DUT.
  • Learn how to deal with synchronization issues in the model.

Course content

8 sections162 lectures21h 20m total length
  • Introduction2:34
  • What is Design Verification8:29

    Explore pre silicon RTL verification and post silicon verification, focusing on module level verification with simulation using SystemVerilog and UVM, including DUT, agents, model, and scoreboard.

  • Device Under Test (DUT)27:52
  • Environment Architecture6:58

    Explore the environment architecture for the design verification environment, including APB register access, MD rx/tx interfaces, and the role of UVM agents, models, predictors, monitors, virtual sequencers, scoreboards, and coverage.

  • Environment Coding Kick Off - Lecture8:03

    Learn to build the basic verification environment framework with a testbench, test, and environment using UVM, including clock and reset generators, run test, and phase execution.

  • Environment Coding Kick off - Practice - Info0:31
  • Environment Coding Kick Off - Practice30:45

    Build the basic design verification infrastructure, including a testbench with a dot aligner, clock and reset generators, and a UVM 1.2 environment for practice in the EDA playground.

Requirements

  • You need to have a basic understanding of digital integrated circuits and how they are modeled in a HDL language like Verilog.
  • There is no hard requirement for your to know SystemVerilog but prior OOP and Verilog knowledge is required.

Description

Master UVM Library & Create a Verification Environment: Comprehensive Course Overview

In this course, you'll delve into two crucial areas:

  1. UVM Library: Uncover all its features, secrets, and how they can be applied effectively in verification environments.

  2. Verification Environment Creation: Learn the step-by-step process of building a robust verification environment from the ground up using UVM.

Course Objectives:

Throughout this course, we'll guide you through the development of a verification environment, meticulously designed using the UVM library. Each tutorial will introduce new functionalities, demonstrating the UVM features necessary for each phase of our comprehensive project.

We'll leverage the EDA Playground platform to develop our verification environment. By the end of the course, our final project will encompass over 5000 lines of code, providing a substantial showcase of your acquired skills and knowledge.


By the end of this course, you will master:

  • Building UVM agents and understanding their roles

  • Modeling design registers using the UVM library

  • Setting up a Device Under Test (DUT) within a verification environment

  • Verifying the outputs of a DUT to ensure accuracy and functionality

  • Implementing functional coverage in SystemVerilog to achieve thorough verification

  • Writing and executing random tests to cover a wide range of scenarios

  • Employing advanced debugging techniques to identify and resolve issues

  • Exploring and utilizing hidden features of the UVM library to enhance your projects

The skills you gain from this course will not only prepare you for entry or junior-level verification engineer job interviews but will also ensure you are productive and effective from day one in your new role.

Who this course is for:

  • Students and engineers who want to learn how to do module level verification using SystemVerilog language and UVM library.