Engineering learning path

SystemVerilog Design and Verification

A practical SystemVerilog course for building class-based, constrained-random testbenches with interfaces, assertions and functional coverage, using open-source simulators.

Designed for: Students, fresh graduates and engineers moving from Verilog RTL into design verification

12Modules
12Lessons
540Learning minutes
3 weeksSuggested pace
Outcomes

What you will be able to do

  • Use SystemVerilog data types and collections
  • Write classes with inheritance and polymorphism
  • Coordinate threads with events, semaphores and mailboxes
  • Connect testbenches through interfaces, modports, clocking blocks and virtual interfaces
  • Build layered transaction-based environments
  • Generate constrained-random stimulus
  • Write concurrent assertions
  • Measure functional coverage
  • Assemble regression and sign-off evidence for a block
Before you begin

Prerequisites

Verilog RTL Design and the C++ concepts bridge (Week 1, Day 5)

How to use this course

Know the outcome before you begin.

01UnderstandRead the objective and concept
→
02ApplyWork through examples and practice
→
03VerifyCheck the expected behaviour
→
04ReviewUse knowledge checks to find gaps
→
05AdvanceContinue only when the reasoning is clear
Completion expectationUnderstand the concept → apply it → inspect the result → explain why it is correct.
Curriculum

Course roadmap

Progress through focused modules, technical lessons and practice checks in sequence.

8-week programme alignment

SystemVerilog · Weeks 5–7

The instructor-led plan covers the SystemVerilog language in Week 5, verification environments in Week 6, and assertions and functional coverage in Week 7, before UVM in Week 8.

What comes next?

Continue into UVM.

UVM builds its agents, sequences and scoreboards on the classes, interfaces, randomization and coverage covered here.

Follow the Week 5–8 plan →