Learn Verilog
A free, interactive online Verilog course. You write Verilog on every lesson, with AI hints when your simulation output doesn't match what you expected, and a free certificate when you finish.
1,265+ codders enrolled
90 lessons78 challenges534 quiz questions
- Beginner friendly
AI-assisted coding help
Hands-on interactive lessons
Audio narration on every lesson
Quizzes to test your knowledge
Free certificate of completion
Syllabus
Section 1
Fundamentals
Start sectionStartExpandCollapseBuild a strong foundation in digital design with core Verilog skillsIntroduction
5 lessons433Data Types
7 lessons753Number System
6 lessons646Operators Part 1
5 lessons535Operators Part 2
6 lessons647Modules
7 lessons755Assign And Gates
6 lessons648Half Adder Project
Project3 lessons1Procedural Blocks
6 lessons646Decision Making
6 lessons635Loops
6 lessons646Multiplexer Project
Project3 lessons1Timing And Delays
6 lessons645Testbench Basics
6 lessons645Traffic Light Controller
Project5 lessons1Final Challenges
3 lessons3UART
Project4 lessons1
Learn by Doing
Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.
Build Your Coding Streak
Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.
12 days streak
Return tomorrow to keep your streak!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
Double or Nothing
Day 5 of 7
Streak Freeze
2 left
Code Anywhere, Anytime
Take your coding journey on the go! No setup, no downloads - just open and start coding. Available on iOS, Android and Web with 4.9 star ratings.
You're Not Alone in This
Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!
Every way to learn
Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.
A variable is a named container that stores a value you can reference later in your program.
In Python, you create one by writing the name, an equals sign, then the value you want to store.
The value can change over time - reassigning the name simply points it to a new value.
Prove Your Skills
Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.
Why learn Verilog with Coddy
- Write and simulate real Verilog in your browser. No Icarus, Vivado, or ModelSim install - each lesson compiles your Verilog module and runs the testbench server-side, then shows the simulation output and any compile errors instantly.
- Verilog as digital designers actually use it: modules and ports, wires vs. registers, gate primitives (AND/OR/NOT/XOR), blocking vs. non-blocking assignments, combinational and sequential always blocks, parameters, finite state machines, and testbenches with
$display,$monitor, and$dumpvars. The hardware description language foundations you need before touching an FPGA. - AI hints walk you through the parts of Verilog that trip everyone up - blocking vs. non-blocking inside always blocks, when to use
wirevs.reg, sized vs. unsized numbers, and the meaning ofxandzvalues - so you build the right mental model of hardware (not software) from lesson one. - Build real hardware projects, not just exercises - a half adder, a 2-to-1 and 4-to-1 multiplexer, a traffic light controller as an FSM, and a UART transmitter. Each project ships with its own testbench so you can see your design simulate end-to-end.