>_
FPGA
Pour Tous
Blog
Blog
Careers
Challenges
Leaderboard
Community
Certification
Projects
The Club
FR
Chargement…
SystemVerilog
20 courses
Safer RTL, interfaces, assertions, coverage and modern verification foundations.
01
What SystemVerilog Adds to Verilog
Understand the role of SystemVerilog and select useful features for RTL design and verification.
Read
02
Types, Widths, and Signedness
Use logic, 2-state and 4-state types, sized literals, and conversions without surprises.
Read
03
always_comb, always_ff, and always_latch
Choose the right procedural block and avoid multiple drivers, unintended latches, and sensitivity mistakes.
Read
04
typedef, Enumerations, and Packages
Give types a clear meaning, encode states cleanly, and share declarations without hidden dependencies.
Read
05
Arrays, Structures, and Unions
Distinguish packed and unpacked dimensions, group fields, and choose a representation that fits the hardware.
Read
06
Functions, Tasks, and Scope
Factor calculations and test sequences without hiding dependencies or mixing RTL with timing controls.
Read
07
Interfaces and modports
Group protocol signals, define each block's role, and reduce connection mistakes.
Read
08
State Machines and Control/Datapath Separation
Write a readable FSM with an enumerated type and separate decisions from data calculations.
Read
09
Parameterized and Reusable RTL
Parameterize widths and types, protect corner cases, and generate hardware without making a module opaque.
Read
10
Reading a Complete Small RTL Design
Review a packet counter from its interface through corner cases, then connect the code to expected hardware.
Read
11
Writing a Simple Verification Plan
Turn a specification into features to check, boundary cases, verification methods, and completion criteria.
Read
12
Building a SystemVerilog Testbench from Start to Finish
Build a runnable testbench: instantiate the DUT, generate clock and reset, apply scenarios, check outputs, and finish with a trustworthy verdict.
Read
13
Dynamic Arrays, Queues, and Associative Arrays
Choose a testbench collection for variable batches, transaction queues, and indexed results.
Read
14
Classes, Inheritance, and Polymorphism
Model test transactions, understand handles, and extend behavior without copying an entire environment.
Read
15
Constrained Randomization and Reproducibility
Generate varied protocol-correct transactions and reproduce a failure exactly.
Read
16
Threads, Events, Mailboxes, and Semaphores
Run several testbench activities in parallel and choose the right synchronization mechanism.
Read
17
Building a Reusable Layered Environment
Assemble transactions, a generator, driver, monitors, reference model, scoreboard, and coverage into an extensible testbench.
Read
18
Essential Immediate and Concurrent Assertions
Automate local and synchronous checks, detect X/Z values, and disable a check cleanly during reset.
Read
19
Functional Coverage and Completion Criteria
Measure planned scenarios, cross important conditions, and close holes without confusing activity with correctness.
Read
20
Moving from a Layered Testbench to UVM Concepts
Build a complete environment and connect its phases, configuration, callbacks, and component creation to the mechanisms that UVM standardizes.
Read