RTL for Beginners - What is Verilog/VHDL?
RTL for Beginners - What is Verilog/VHDL?
In previous posts, we talked about RTL as a “language for describing hardware”. Now it’s time to understand what this really means - and to meet the main languages: Verilog and VHDL.
What is Verilog?
Verilog is a Hardware Description Language (HDL) created in 1984.
It allows engineers to describe:
- How data flows in a circuit
- What happens at each clock cycle
- How units respond to inputs
- What the connections between different components are
Verilog doesn’t run like Python or C. It describes a logical structure that will become a circuit.
What is VHDL?
VHDL (VHSIC Hardware Description Language) is a similar language, developed in the 1980s by the U.S. military.
It’s more verbose, more detailed, and less similar to regular programming languages.
Today, Verilog and SystemVerilog are more common in the industry, especially in AI and advanced chips.
Why is RTL a “Description” and Not “Running Code”?
Because in hardware:
Everything Happens in Parallel
Unlike software that executes one command after another, in hardware all blocks work simultaneously.
Everything Depends on the Clock
The chip progresses in clock cycles. Each cycle = a new step.
RTL describes what happens in each clock cycle.
There’s No “Execution” - There’s Translation to Hardware
RTL doesn’t run on a processor. It’s translated to gates, transistors, and actual paths.
What Does Verilog Actually Look Like?
Here’s a very simple example:
module adder (
input [7:0] a,
input [7:0] b,
output [7:0] sum
);
assign sum = a + b;
endmodule
What does this say?
module adder- this is a block named “adder”input [7:0] a, b- two 8-bit inputsoutput [7:0] sum- an 8-bit outputassign sum = a + b- add a and b and put the result in sum
This is not a function that runs. This is a description of a circuit that adds two numbers.
Basic Concepts in RTL
Registers
Places that hold values between clock cycles.
Example:
always @(posedge clk) begin
counter <= counter + 1;
end
What does this mean? At every rising clock edge (posedge clk) - add 1 to counter.
Always Blocks
Description of what happens in certain situations:
always @(posedge clk)- at every rising clock edgealways @(*)- at every change of any signal
Assign
Direct connection without a register:
assign output_signal = input_signal & enable;
This means: output_signal will always equal the AND of input_signal and enable.
What’s the Difference Between Verilog and SystemVerilog?
SystemVerilog is a modern extension of Verilog:
- Richer syntax
- UVM support (for testing)
- More advanced tools
- Very common in new projects
But the principle is the same: describing hardware behavior.
Why Learn RTL?
Because it’s the language used to:
- Design custom chips
- Build AI accelerators
- Develop dedicated computing units
- Work on SoC, FPGA, ASIC
Without RTL - there’s no hardware design.
A Simple Analogy
Think of Verilog as an engineering blueprint.
When an architect designs a building, they don’t build the building itself - they draw a plan that shows:
- Where each wall is
- Where each room is
- How everything connects
Verilog is the blueprint of the chip. It describes what needs to be - and later, automated tools build it.
Summary
RTL (Verilog/VHDL) is:
- A hardware description language
- Not running code, but a description of circuits
- Based on registers, clocks, and parallel logic
- The foundation for all modern chip design
This is the language hardware engineers write their vision in - before it becomes actual silicon.
In the next post, we’ll talk about chip architecture - the stage where you decide what the chip will contain, how the units will communicate, and what the overall system will be.
📚 More in this Series: Chip Design Journey
- Part 0 Series Introduction: How Is a Chip Born? - A Complete Journey from Idea to Manufacturing
- Part 1 What is a Chip? The Simplest Explanation to Start Your Hardware Journey
- Part 2 What is a System on Chip (SoC) - And Why Can a Single Chip Contain an Entire World?
- Part 3 How Do You Actually 'Write' Hardware? The First Step to Understanding RTL and the Frontend World
- Part 4 What is Frontend in the World of Chips?
- Part 6 What is Chip Architecture - And Why Is It the Stage Where You Decide What the Chip Will Really Be?
- Part 7 What is Verification - And Why Is 70% of Chip Development Testing?
- Part 8 What is Synthesis - And How Does RTL Become Actual Gates in a Chip?
- Part 9 What is Place & Route - And How Do You Position Gates on a Chip and Connect Them?
- Part 10 What is STA - Static Timing Analysis - And How Do You Ensure the Chip Will Work at the Right Frequency?
- Part 11 Simulation, FPGA, Emulation - How Do You Test a Chip Before Manufacturing?
- Part 12 What is Tapeout - And Do You Really Send a Tape to Manufacturing?
- Part 13 FAB, Bring-Up, and Post-Silicon - How Does the Chip Come to Life?
- Part 14 Series Summary: The Complete Journey from Idea to Chip - All Stages at a Glance