Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Verilog Data Types

  • Difficulty Level : Easy
  • Last Updated : 04 Sep, 2018

The data storage and transmission elements found in digital hardware are represented using a set of Verilog Hardware Description Language (HDL) data types. The purpose of Verilog HDL is to design digital hardware.

Data types in Verilog are divided into NETS and Registers. These data types differ in the way that they are assigned and hold values and also they represent different hardware structures.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.


The Verilog HDL value set consists of four basic values:

0Logic zero or false
1Logic one or true
xUnknown logical value
zHigh impedance of tristate gate

  1. NETS –
    The nets variables represent the physical connection between structural entities. These variables do not store values (except trireg); have the value of their drivers which changes continuously by the driving circuit. Some net data types are wire, tri, wor, trior, wand, triand, tri0, tri1, supply0, supply1 and trireg. wire is the most frequently used type. A net data type must be used when a signal is:
    • driven by the output of some device.
    • declared as an input or in-out port.
    • on the left-hand side of a continuous assignment.

  2. Registers –
    The register variables are used in procedural blocks which store values from one assignment to the next. An assignment statement in a procedure acts as a trigger that changes the value of the data storage element. Some register data types are: reg, integer, time and real.reg is the most frequently used type. Reg is used for describing logic, integer for loop variables and calculations, real in system modules, and time and realtime for storing simulation times in test benches.

Notes –

  1. The reg variables are initialised to x at the start of the simulation. Any wire variable not connected to anything has the x value.
  2. The size of a register or wire may be specified during declaration.
  3. When the reg or wire size is more than one bit then register and wire are declared as vectors.

DIGITAL ELECTRONICS – Atul P.Godse, Mrs. Deepali A. Godse

My Personal Notes arrow_drop_up
Recommended Articles
Page :