Basic SystemVerilog Course

About Course

A free beginner-friendly SystemVerilog course covering types, vectors, operators, simulation processes, arrays, functions, tasks, modules, interfaces, classes, assertions, constrained random verification, and coverage.

What Will You Learn?

  • N Familiar with system-verilog syntax
  • N Understand and write system-verilog programs

Course Content

Module 1 — How SystemVerilog Thinks About Types
Learn the two axes of SystemVerilog typing: value states and assignment kind. This module builds the mental model behind logic, bit, nets, variables, X/Z, and typedefs.

  • Data Types and Kinds in SystemVerilog
  • Integer Types in SystemVerilog
  • `typedef` in SystemVerilog

Module 2 — Vectors, Packed Types, and Structs
Move from single-bit signals to packed vectors, enums, structs, and strings so you can represent realistic hardware data cleanly.

Module 3 — Operators
Understand the operators that matter in RTL and verification, including equality variants, reductions, concatenation, replication, and inside.

Module 4 — Processes and Simulation Time
Build a working model of concurrent simulation, procedural blocks, assignment scheduling, control flow, and timing controls.

Module 5 — Arrays
Use the right array form for memories, payloads, queues, scoreboards, and sparse data structures.

Module 6 — Functions and Tasks
Create reusable procedural code and know when zero-time functions differ from time-consuming tasks.

Module 7 — Modules, Ports, and Hierarchy
Declare, parameterize, instantiate, connect, and debug module hierarchies using modern SystemVerilog style.

Module 8 — Interfaces and Modports
Bundle related signals with interfaces, enforce views with modports, and pass interfaces into class-based testbenches.

Module 9 — Parallel Execution: `fork…join`
Launch and synchronize concurrent testbench activities safely using fork/join variants and process-control patterns.

Module 10 — Introduction to Classes
Begin SystemVerilog OOP with classes, handles, constructors, inheritance, and transaction-style modeling.

Module 11 — Immediate Assertions
Replace manual checks with immediate assertions and learn the entry point into assertion-based verification.

Module 12 — Introduction to Constrained Random Verification
Use random variables, constraints, and randomize hooks to generate legal stimulus at scale.

Module 13 — Introduction to Functional Coverage
Measure what your random tests actually exercised using covergroups, coverpoints, and bins.

Free
Free access this course

A course by

Requirements

  • N Digital Design
  • N Basic knowledge of verilog
  • N Any programming language

Audience

  • N Graduates students
  • N Post graduate students
  • N Working professionals in DV