Description #
Verilog is a hardware description language (HDL) used to model, simulate, and implement digital electronic systems such as processors, FPGAs, and ASICs. It describes hardware circuits structurally and behaviorally and compiles to gate-level logic.
History #
Verilog was created in 1984 by Phil Moorby at Gateway Design Automation and became an IEEE standard in 1995 (IEEE 1364). It rose in popularity alongside VHDL and remains a foundational tool in digital design, simulation, and hardware verification. It’s now part of the SystemVerilog family, with extended features for verification and modeling.
Hello World Code #
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
How to Run #
Option 1: Online
https://www.edaplayground.com/x/4Sbk
Option 2: Local
- Install Icarus Verilog
- Save as
hello.v
and run: bashCopyEditiverilog -o hello hello.v vvp hello
Key Concepts #
- Syntax style: C-like, structured, declarative and procedural blocks
- Typing discipline: Net-based types, data-flow driven (wire, reg)
- Execution model: Simulates concurrent hardware processes
- Common use cases: ASIC/FPGA design, simulation, verification
- Toolchain or ecosystem: Icarus Verilog, ModelSim, Verilator, GTKWave
- Paradigms supported: Structural and behavioral hardware modeling
- Compilation details: Parsed and compiled into logic gates or netlists
- Strengths or quirks: Event-driven simulation, time-aware constructs (
#10
) - Libraries/frameworks: IEEE PLI, SystemVerilog (extension)
- Community/adoption: Widespread in academia and industry; standard for chip design
Try It Online #
Fun Facts #
Verilog is not used to write programs — it’s used to design hardware. A Verilog “program” actually defines how electrical signals flow through gates and flip-flops. Most CPUs and GPUs begin life in Verilog or VHDL.