What Is Verilog
Part of the Fundamentals section of Coddy's Verilog journey — lesson 1 of 90.
Verilog is a hardware description language (HDL) used to model, design, and simulate digital electronic circuits — from simple logic gates to complex processors.
Unlike software languages that run sequentially on a CPU, Verilog describes hardware that operates in parallel. It is the industry standard for FPGA and ASIC design, used in tools like ModelSim, Vivado, and Quartus.
In this course, you will learn Verilog from the ground up — starting with basic simulation output, then building combinational and sequential circuits, and eventually designing real modules like counters, shift registers, and UART interfaces.
Challenge
EasyWelcome to your first Verilog program! The code is already written for you.
What to do:
- Look at the code — it uses
$displayto print text, similar toprintfin C - Click Run Code to compile and simulate it
- You should see
Hello World!in the output
Note: Every Verilog program runs inside a module. The initial block runs once at the start of simulation, and $finish ends it.
Cheat sheet
Verilog is a hardware description language (HDL) that describes hardware operating in parallel, used for FPGA and ASIC design.
Every Verilog program runs inside a module. The initial block runs once at simulation start; $finish ends the simulation. Use $display to print text (similar to printf in C):
module example;
initial begin
$display("Hello World!");
$finish;
end
endmoduleTry it yourself
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleAll lessons in Fundamentals
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine Logic