SystemVerilog Series — Complete Index — VLSI Trainers
VLSI
VLSI
Trainers
SystemVerilog Series
VLSI Trainers · SystemVerilog Series
Complete SystemVerilog Series Index
Every post in the series, in order. Click any card to go directly to that article.
42
Total Posts
4
Phases
27
Core SV Topics
0
Prerequisites Beyond Basics
Start Here
Welcome to the SystemVerilog Series 👋
What this series is, who it’s for, what you’ll learn, and how we approach every post — read this first.
Phase 1
Language Foundation
SV-01
Introduction
What SV adds over Verilog-2001 and the design philosophy behind it
›
SV-02
Literal Values
Integer, real, string, time literals; X, Z, and based number notation
›
SV-03
Data Types
bit, logic, byte, int, real, shortreal, string, chandle, void — and when to use each
›
SV-04a
Packed & Unpacked Arrays
Dimensions, slices, memory layout differences, and multi-dimensional indexing
›
SV-04b
Dynamic Arrays
new(), delete(), runtime sizing, and common dynamic array patterns
›
SV-04c
Associative Arrays, Queues & Array Methods
Key-value maps, FIFO queues, sort, find, unique, and all built-in array manipulation methods
›
SV-05a
Data Declarations & Constants
parameter, localparam, const, typedef, enum, struct, union declarations
›
SV-05b
Variables, Scope, Nets & Type Compatibility
Lifetime, visibility, net types, implicit conversions, and type-checking rules
›
SV-06
Attributes
The (* *) syntax and how tools use attributes for synthesis and lint hints
›
SV-07a
Operators & Expressions
Arithmetic, logical, bitwise, relational, shift, conditional, and reduction operators
›
SV-07b
Real Operators, Size, Sign, Precedence & Built-in Methods
Expression sizing rules, signed/unsigned, operator precedence, and string/integer methods
›
SV-07c
Concatenation, Array, Struct & Tagged Union Expressions
Static prefixes, replication, aggregate expressions, and tagged union access
›
SV-07d
Aggregate Expressions, Operator Overloading, Streaming & inside
Streaming operators {<<}, {>>}, the inside operator, and overloaded operators in classes
›
Phase 2
Hardware Modelling
SV-08a
Procedural Statements & Control Flow
if-else, unique if, priority if, case, unique case, casex, casez
›
SV-08b
Loops, Jump Statements, Final Blocks & Labels
for, while, do-while, foreach, repeat, break, continue, return, final blocks
›
SV-08c
Disable, Event Control, Level-Sensitive Sequences & Procedural Assign
disable, @, wait, wait fork, and the deprecated procedural assign/deassign
›
SV-09a
Processes — always_comb, always_ff, always_latch & Continuous Assignments
When to use which always variant, implicit sensitivity lists, and assign statements
›
SV-09b
fork…join, Process Threads & Fine-Grain Process Control
join, join_any, join_none, disable fork, wait fork, and process handles
›
SV-10
Tasks, Functions & Argument Passing
Automatic vs static, input/output/inout/ref directions, default values, prototype declarations
›
SV-14
Scheduling Semantics
The stratified event scheduler — eleven time-slot regions, the iterative loop, and PLI callbacks
›
Phase 3
Verification
SV-11a
Classes, Objects & Methods
Full OOP model — inheritance, virtual, polymorphism, casting, handles, constructors
›
SV-12
Random Constraints
rand, randc, constraint blocks, solve-before, dist, inside, weighted randomisation
›
SV-13
Interprocess Synchronization
Semaphores, mailboxes, typed mailboxes, events, wait_order, event merging and null
›
SV-15
Clocking Blocks
Input/output skew, #1step, ## cycle delay, default clocking, synchronous drives
›
SV-16
Program Block
Reactive region scheduling, race elimination, $exit, blocking tasks from programs
›
SV-17a
Assertions — Immediate & Concurrent Overview
Immediate assertions, severity levels, sampled values, the triggered property, boolean expressions
›
SV-17b
Sequences
## concatenation, [*] [->] [=] repetition, throughout, within, binsof, local variables, subroutines on match
›
SV-17c
Properties, Multi-Clock, Concurrent Assertions & Binding
|-> and |=>, disable iff, recursive properties, multi-clock, assert/assume/cover, bind
›
SV-20
Coverage — covergroup, Points & Classes
Covergroup as a type, coverage points, cross, clocking events, formal arguments, embedded in classes
›
SV-20b
Coverage Points, Cross, Options & Methods
Bins, transitions, wildcard, ignore/illegal bins, binsof, instance/type options, coverage methods
›
Phase 4
Integration & The Language Ecosystem
SV-18
Hierarchy — Packages, $unit, $root & Modules
Packages, import/::, compilation-unit scope, nested modules, extern modules, timeunit/timeprecision
›
SV-18b
Ports, Module Instances, Port Rules & Name Spaces
.name, .* connections, port direction inheritance, variable port rules, eight name spaces
›
SV-19
Interfaces
Modports, clocking blocks, tasks/functions, export/import, extern forkjoin, virtual interfaces
›
SV-21
Parameters
Typed value parameters, type parameters, $isunbounded, $ token, parameterised checkers
›
SV-22
Configuration Libraries
Libraries, cells, config declarations, and the one SV extension to the cell set
›
SV-23
System Tasks & System Functions
$typeof, $bits, array query functions, assertion control tasks, $readmem/$writemem, multi-dim arrays
›
SV-24
VCD Data
How SV types map into standard VCD waveform dumps — packed arrays, structs, enums
›
SV-25
Compiler Directives
`define enhancements — `” `\`” “ tokens, macro-based `include, angle-bracket `include form
›
SV-26
Deprecated Features
Why defparam and procedural assign/deassign are deprecated — the problems and the alternatives
›
SV-27
Direct Programming Interface (DPI)
import/export, pure/context qualifiers, open arrays, WYSIWYG principle, disable protocol
›
Series Complete
You Made It — A Look Back at Everything 🎉
A casual recap of every major skill and concept you picked up across all 27 SV posts.
Test Your Knowledge
SystemVerilog Test-Series 1 📝
Practice questions covering every phase of the series — from data types and operators to assertions, coverage, and DPI.
Test Your Knowledge
SystemVerilog Test-Series 2 📝
Practice questions covering every phase of the series — from data types and operators to assertions, coverage, and DPI.
Scroll to Top