Verilog Data Types

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.

The Verilog HDL value set consists of four basic values:



Value Definition
0 Logic zero or false
1 Logic one or true
x Unknown logical value
z High 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.

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



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.