Choose your language
Verilog Course
More than 2 million students worldwide

Verilog Course

4.4

Master Verilog from first principles to synthesis-ready RTL design. This course takes you through digital logic fundamentals, language syntax, FSM design, testbench verification, and FPGA implementation with hands-on coding at every step. Whether you are targeting FPGAs or ASICs, you will build the skills that hardware engineers use every day.

Dedika for businesses

What you'll learn:

You will learn how to write correct, synthesizable Verilog for combinational and sequential circuits, finite state machines, and parameterised hierarchical designs. The course covers testbench construction, waveform debugging, and automated regression testing so you can verify your designs with confidence. You will also study RTL coding guidelines, clock domain crossing, and timing analysis to meet real synthesis requirements. Supplementary material introduces SystemVerilog, FPGA implementation flows, memory interface protocols, and formal verification fundamentals.

How you study in practice Verilog Course

How you practise Verilog Course

For businesses looking to train their team

With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.

Click here

Course content

8 Chapters • 37 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

Introduction to Digital Design and Verilog

  • Lesson 1 • Verilog Design Flow and Toolchain

    Walks through the end-to-end FPGA and ASIC design flow using Verilog. Students understand where each tool fits before writing any code.

  • Lesson 2 • Digital Logic Fundamentals Review

    Covers binary arithmetic, Boolean algebra, and logic gates as prerequisites. Anchors Verilog syntax in real hardware behaviour students will model.

  • Lesson 3 • Hardware Description Languages Overview

    Distinguishes HDLs from software programming languages and surveys the HDL landscape. Positions Verilog as a simulation and synthesis tool.

  • Lesson 4 • Setting Up the Development Environment

    Guides installation and configuration of a simulator and text editor. Students run a first Verilog file to confirm a working environment.

Chapter 2See details

Verilog Language Syntax and Data Types

  • Lesson 1 • Compiler Directives and System Tasks

    Introduces 'define, 'include, 'timescale, and common system tasks. Students control simulation behaviour and organise multi-file projects.

  • Lesson 2 • Operators and Expressions

    Covers arithmetic, relational, logical, bitwise, and reduction operators. Students evaluate operator precedence to write unambiguous expressions.

  • Lesson 3 • Module Structure and Port Declarations

    Defines the module as Verilog's fundamental design unit and explains port directions. Students write complete, compilable module skeletons.

  • Lesson 4 • Nets, Registers, and Variable Types

    Differentiates wire, reg, and logic types and explains their hardware implications. Correct type selection prevents common simulation mismatches.

  • Lesson 5 • Constants, Parameters, and Literals

    Explains sized and unsized literals, four-value logic, and parameterisation. Parameters enable reusable, configurable design components.

Chapter 3See details

Combinational Logic Modeling

  • Lesson 1 • Always Blocks for Combinational Logic

    Explains how always @(*) models combinational behaviour procedurally. Students avoid latches by correctly specifying sensitivity lists.

  • Lesson 2 • Modeling Common Combinational Circuits

    Applies learned constructs to build encoders, decoders, multiplexers, and adders. Reinforces design patterns used repeatedly in larger systems.

  • Lesson 3 • Continuous Assignments

    Introduces the assign statement for dataflow-level combinational modelling. Students express Boolean functions concisely without procedural blocks.

  • Lesson 4 • Gate-Level Primitives

    Uses built-in gate primitives to model logic at the lowest abstraction level. Students connect primitives to understand structural modelling.

Chapter 4See details

Sequential Logic Modeling

  • Lesson 1 • Flip-Flop and Latch Modeling

    Models D, T, JK, and SR flip-flops and level-sensitive latches. Students distinguish when each element is appropriate and synthesizable.

  • Lesson 2 • Registers and Shift Registers

    Extends single flip-flops to multi-bit registers and serial shift registers. Students build SIPO, PISO, and PIPO configurations.

  • Lesson 3 • Clocked Always Blocks and Edge Sensitivity

    Introduces posedge and negedge triggers for synchronous design. Students write flip-flop templates that synthesise to real registers.

  • Lesson 4 • Counters and Frequency Dividers

    Designs synchronous and asynchronous counters with modulus control. Students implement up, down, and up-down counters with terminal count.

  • Lesson 5 • Timing and Non-Blocking Assignment Pitfalls

    Analyses race conditions caused by mixing blocking and non-blocking assignments. Students apply coding guidelines that guarantee correct simulation and synthesis.

Chapter 5See details

Finite State Machine Design

  • Lesson 1 • Two-Always-Block FSM Template

    Presents the industry-standard two-always-block coding style for FSMs. Students separate state register and next-state logic for clarity and synthesis.

  • Lesson 2 • Practical FSM Case Studies

    Implements traffic light controller, serial receiver, and vending machine FSMs. Students apply the full design-to-verification cycle on realistic problems.

  • Lesson 3 • FSM Theory and State Diagrams

    Reviews Moore and Mealy models, state diagrams, and state tables. Provides the theoretical foundation before any Verilog coding begins.

  • Lesson 4 • Safe State Encoding and Recovery

    Addresses illegal state entry, one-hot encoding hazards, and safe defaults. Students add defensive coding to prevent FSM lockup in hardware.

  • Lesson 5 • Three-Always-Block FSM Style

    Extends the template by separating output logic into a third always block. Students compare styles and choose appropriately for Moore versus Mealy machines.

Chapter 6See details

Hierarchical Design and Parameterisation

  • Lesson 1 • Reusable Component Libraries

    Organises modules into libraries using include files and package-like structures. Students adopt naming conventions and file organisation for team projects.

  • Lesson 2 • Designing a Parameterised ALU

    Integrates adder, subtractor, logic unit, and shifter into a configurable ALU. Students practise top-down decomposition and bottom-up integration.

  • Lesson 3 • Module Instantiation and Hierarchy

    Explains named and positional port connections and multi-level hierarchy. Students build a top-level design from pre-designed sub-modules.

  • Lesson 4 • Parameters and Generate Statements

    Uses parameters to create width-configurable modules and generate for scalable replication. Students build an N-bit ALU using parameterised components.

Chapter 7See details

Testbench Design and Functional Verification

  • Lesson 1 • Response Checking and Assertions

    Automates output verification using if-based checkers and immediate assertions. Students eliminate manual waveform inspection for regression testing.

  • Lesson 2 • Testbench Architecture and Structure

    Defines testbench components: DUT instantiation, clock generation, and stimulus. Students write a complete testbench skeleton for any combinational module.

  • Lesson 3 • Stimulus Generation Techniques

    Covers directed, random, and file-driven stimulus methods. Students select the appropriate technique based on design complexity and coverage goals.

  • Lesson 4 • Waveform Analysis and Debugging

    Uses VCD dump and waveform viewers to diagnose simulation failures. Students correlate waveform anomalies with RTL code defects.

  • Lesson 5 • Regression Testing and Test Organisation

    Structures multiple testbenches into a regression suite with scripted execution. Students maintain test coverage as designs evolve.

Chapter 8See details

Synthesis-Ready RTL Coding and Optimisation

  • Lesson 1 • RTL Coding Guidelines for Synthesis

    Presents industry coding rules for registers, combinational logic, and FSMs. Consistent style reduces synthesis warnings and improves tool predictability.

  • Lesson 2 • Clock Domain Crossing Techniques

    Explains metastability risks and synchronisation strategies for multi-clock designs. Students implement two-flop synchronisers and handshake protocols.

  • Lesson 3 • Timing Constraints and Critical Path Analysis

    Reads synthesis timing reports to identify critical paths and slack violations. Students apply RTL changes to meet setup and hold time requirements.

  • Lesson 4 • Synthesizable versus Non-Synthesizable Constructs

    Identifies constructs legal in simulation but unsupported by synthesis tools. Students audit existing code and replace non-synthesizable patterns.

  • Lesson 5 • Area and Power Optimisation Strategies

    Applies resource sharing, clock gating, and encoding choices to reduce area and power. Students compare synthesis results before and after optimisation.

Certification

Your valid completion certificate

This course is for you:

  • Electrical engineering student: ready to turn classroom theory into real RTL code.

  • Embedded software developer: looking to cross over into hardware description and design.

  • FPGA hobbyist: wanting structured skills beyond copying reference designs online.

  • Recent graduate: building a portfolio to compete for entry-level chip design roles.

  • Career changer from software: drawn to hardware and needing a practical starting point.

  • Junior verification engineer: seeking stronger RTL knowledge to complement testing work.

What our students say

Your lessons are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of interest without needing to change platforms... I'm grateful for everything you do, I've already recommended you to other people...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the way videos are presented and transcribed, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast and simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

Top upskilling courses

FAQ

Who is Dedika?

Is the certificate valid in Australia?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course