Verilog Coding


Verilog is a widely used hardware description language (HDL) for design of digital circuits. It can also be used for modeling analog circuits. Whichever it is used for, the basic concept of Verilog remains the same.

When a designer writes Verilog code, it is important to know some of the basic symbols used in Verilog.

3.1.1 Verilog Syntax

Verilog is a HDL that allows a designer to describe a hardware design. As with all languages, there is a required syntax when writing Verilog code.

All Verilog syntax begins with a module declaration. A module is essentially a “box” or “unit” containing the design. The module declaration must include the module's interface ports:

module design_module_name (interface_port_list);

whereby design_module_name is the name of the module and interface_port_list is a list of all the input, output, and inout ports to the module. Each port is separated by a comma (,).

The type of interface port is declared. It can be input, output, or inout for bidirectional ports:

module DUT (A, B, C, D, E);
input A, B, C;
inout D;
output E;

If a port has more than one bit, the declaration must use symbol “[“ and “]” to denote the bus width.

module DUT (A, B, C, D, E);
input [3:0] A, B;
input C;
inout [7:0] D;
output E;


When writing HDL code for a design, it is a good writing habit for the designer to use comments. It is a good method of indicating to a reader what the code is being ...

Get Verilog Coding for Logic Synthesis now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.