SystemVerilog Tutorials: Hardware Design & Verification
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Design synthesizable SystemVerilog modules and integrate combinational and sequential logic to form complete digital subsystems.
Implement an Arithmetic Logic Unit (ALU) capable of performing core operations and basic arithmetic for calculator functionality.
Develop a finite state machine (FSM) to control complex system modes (calculator modes), user inputs, and operation sequencing.
Simulate, verify, and debug SystemVerilog designs to ensure functionality of the full calculator system.
Skills you'll gain
Tools you'll learn
Details to know
February 2026
1 assignment
See how employees at top companies are mastering in-demand skills
There are 3 modules in this course
This comprehensive, hands-on course equips learners with the practical skills needed to design real hardware using SystemVerilog. Through a structured four-module progression, you will master the fundamentals of RTL development starting from basic modules and data types, moving into advanced constructs like structs, enums, and generate blocks, and culminating in the design of a fully functional digital calculator. Each module includes hands-on exercises, simulation-based assignments and guided coding practice
This course is designed for engineering students, FPGA beginners, RTL designers, and software developers transitioning into hardware design. It is also ideal for embedded engineers, verification interns, and anyone preparing for digital logic, FPGA, or ASIC roles that require SystemVerilog proficiency. Learners should have a basic understanding of logic gates and binary arithmetic, along with some familiarity with digital circuits or introductory HDL concepts. No prior SystemVerilog experience is required, but comfort with technical problem-solving will help accelerate learning. By the end of the course, learner will be able to analyze how to model combinational and sequential logic, construct reusable parameterized modules, implement finite-state machines and write clean and scalable RTL. Along the way, you’ll apply real engineering practices such as hierarchical design, clean coding standards, testbench construction, and modular verification. By the end of the course, you will have built a complete modular calculator system designed, implemented, simulated, and tested entirely in SystemVerilog.
This module introduces the foundations of SystemVerilog RTL design, including how to write modules, use ports and parameters, work with common data types, and model fixed-size static arrays. Students will install the Quartus Prime software and build their first hardware blocks and begin implementing the arithmetic core of the calculator.
What's included
5 videos2 readings1 peer review
5 videos•Total 37 minutes
- Quartus Prime Installation and Testing•2 minutes
- Understanding Modules, Ports, and Instantiation•9 minutes
- Introduction to SystemVerilog’s Data and Numeric Types•9 minutes
- Practical Guide to SystemVerilog Arrays for FPGA Design•7 minutes
- SystemVerilog Arrays and Iteration•10 minutes
2 readings•Total 10 minutes
- Welcome to the Course: Course Overview•5 minutes
- Fundamental SystemVerilog Circuit Design•5 minutes
1 peer review•Total 20 minutes
- Hands-on-Learning: Core Architecture & Module Foundations•20 minutes
Learners explore dynamic arrays, queues, and associative arrays (testbench focus), create custom composite types using typedef, enum, and struct, and use SystemVerilog operators to implement logic and arithmetic. The calculator project is extended with an ALU and operation selector.
What's included
6 videos1 reading1 peer review
6 videos•Total 51 minutes
- Dynamic Arrays, Queues & Associative Arrays•9 minutes
- SystemVerilog Operators•8 minutes
- Custom Types: Typedef, Enum, Struct•7 minutes
- Custom Data Types in SystemVerilog•12 minutes
- Combinational Logic: Continuous Assignment•9 minutes
- Continuous Assignments and Multiplexers in SystemVerilog•6 minutes
1 reading•Total 5 minutes
- Design and Verification of a Synchronus First In First Out (FIFO)•5 minutes
1 peer review•Total 20 minutes
- Hands-on-Learning: Arithmetic Datapath & Control Logic Foundations•20 minutes
Students learn how to design combinational circuits using assign, build sequential circuits using always_ff (registers, counters, pipelines), and implement decision logic using if and case. They then build the calculator's state machine and control logic.
What's included
6 videos1 reading1 assignment2 peer reviews
6 videos•Total 52 minutes
- Sequential Logic: Modeling sequential logic•7 minutes
- Combinational Decision Logic, State Machines, and Priority Encoders•9 minutes
- Loops in SystemVerilog•14 minutes
- Functions in SystemVerilog•13 minutes
- SystemVerilog Functions and Recursion•8 minutes
- Course Wrap-Up•2 minutes
1 reading•Total 5 minutes
- Instruction-Level Abstraction (ILA): A Uniform Specification for System-on-Chip (SoC) Verification•5 minutes
1 assignment•Total 25 minutes
- SystemVerilog Tutorials: Hardware Design & Verification•25 minutes
2 peer reviews•Total 80 minutes
- Hands-on-Learning: Wrap Up the Calculator Architecture•20 minutes
- Project: Designing Scalable and Reusable SystemVerilog Modules Using Parameters and Generate Constructs •60 minutes
Instructors
Explore more from Design and Product
- Status: Free Trial
Course
- Status: Preview
- Status: Free TrialU
University of Colorado Boulder
Specialization
- Status: PreviewU
Universitat Autònoma de Barcelona
Course
Why people choose Coursera for their career
Frequently asked questions
SystemVerilog RTL design in this course means describing how digital hardware behaves and connects using modules, signals, and control logic at the register-transfer level. The focus is on writing synthesizable RTL and then checking that behavior through simulation, debugging, and modular verification.
You would use it when you need to turn digital logic ideas into hardware blocks that can be reused, connected, and tested as part of a larger subsystem. In this course, that includes modeling combinational and sequential logic, building parameterized modules, and controlling operation flow with finite-state machines.
It sits in the build-and-test stage of hardware development, where a design idea becomes a set of connected modules with clear interfaces and behavior. In this course, that means defining structure and data handling, implementing the RTL, and then simulating and verifying how the full design behaves.
More questions
Financial aid available,
