Verilog Tutorial: From Digital Logic to RTL Design
Verilog describes hardware, not a sequence of instructions — and that one difference is behind most of what surprises people who arrive from software. This tutorial starts from digital logic, builds up to synthesisable RTL, and explains what hardware each construct actually describes.
Prerequisites: none beyond basic programming familiarity. No prior hardware, electronics, or FPGA experience is assumed, and nothing here requires an account or a local toolchain.
Recommended start path
- Inside the Chip: From Product to Transistor
A short reference for the layers inside a digital product, from the device you hold down to the transistors that build its logic gates.
- The Hardware Design Process
A short reference for the hardware design process used across engineering: define specifications, design, verify, and correct until the result matches the specification.
- Where Verilog Fits in the Toolchain
A short reference for how Verilog hardware descriptions move through simulators, waveforms, and synthesis on the way to a working circuit.
Start Here
7
articles
What Verilog is, where it sits in the toolchain, and how hardware thinking differs.
Digital Logic Foundations
7
articles
Gates, truth tables, and boolean expressions — the vocabulary RTL is built from.
Modules, Signals, and Numbers
7
articles
Module structure, ports, buses, and how numbers behave in hardware.
Operators and Expressions
6
articles
Verilog operators, width and signedness rules, and the pitfalls between them.
Combinational RTL
17
articles
Describing latch-free combinational hardware, and the standard building blocks.
- assign vs. always: Choosing Between Continuous and Procedural Logic
- Avoiding Accidental Latches in Verilog
- if/else for Logic
- case Statements
- MUX Design: Choosing a Style
- First MUX: 2-to-1 Multiplexer
- 4-to-1 MUX
- Basic Decoder
- 3-to-8 Decoder
- Basic Encoder
- Priority Encoder
- Four-Bit Comparator
- Half Adder and Full Adder
- 4-Bit Ripple-Carry Adder
- Mini ALU
- ALU Status Flags
- Building with Submodules
Sequential RTL
11
articles
Clocks, flip-flops, reset, and the assignment rules that make sequential logic correct.
- Why Circuits Need Memory
- Clock Edge Intuition
- The D Flip-Flop
- Reset in Sequential Logic
- Blocking vs Non-Blocking Assignments in Verilog
- Registers with Enable
- Counters in Verilog
- Shift Registers
- Registers vs Combinational Logic
- Pipeline Registers and Latency in Verilog
- Linear Feedback Shift Register (LFSR) in Verilog
Finite State Machines
8
articles
State diagrams, state tables, and the coding patterns that turn them into hardware.
Hierarchy and Datapaths
7
articles
Splitting datapath from control, and composing larger systems from blocks.
Testbenches and Simulation
4
articles
Writing and reading testbenches, and interpreting what a simulator tells you.
Debugging, Timing, and Synthesis
7
articles
Finding the first cycle of divergence, reading tool warnings, and thinking about timing.
Designs and Projects
2
articles
Standalone guided designs with transferable value.
SystemVerilog Bridge
5
articles
What changes when you move from Verilog to SystemVerilog, and what comes next.
Course Companion
22 pages
Support pages for Verilog RTL Foundations checkpoints, project slices, and the capstone. They are public and linked from lessons, but they describe course artefacts rather than standalone Verilog topics.
- Module 1 Checkpoint — Further Reading
- Module 2 Checkpoint — Further Reading
- Module 3 Checkpoint Review
- Module 4 Checkpoint Review
- Module 5 Review: Datapath and Control
- Module 6 Checkpoint
- How Project Slice Submission Works
- Planning a Controller-Plus-Datapath Project Slice
- Debug and Fix Project Slice
- Building a Tiny Datapath from Supplied Blocks
- Capstone Readiness: What to Check Before You Start
- Reading the Tiny Calculator Engine Spec
- Reading the Capstone Block Diagram
- Building the Capstone Datapath
- Building the Capstone Controller FSM
- Integrating the Capstone: Compile First, Run Second
- Debugging Final RTL Failures
- Writing an Honest Verification Summary
- Tiny Calculator Engine Self-Review
- What Makes RTL Proof More Than a Passing Checker
- Submitting the Tiny Calculator Engine RTL Proof
- Next Step: SystemVerilog Verification Essentials