NETS
|
wire
|
Establishes connectivity, with no logical behavior or functionality implied. (within non-procedural statements only)
|
tri
|
Establishes connectivity, with no logical behavior or functionality implied. This type of net has the same functionality as wire, but is identified distinctively to indicate that it will be three-stated in hardware.
|
wand
|
A net that is connected to the output of multiple primitives. It models the hardware implementation of a wired-AND, e.g., open collector technology.
|
wor
|
A net that is connected to the output of multiple primitives. It models the hardware implementation of a wired-OR, e.g., emitter coupled logic.
|
supply0
|
A global net that is connected to the circuit ground.
|
supply1
|
A global net that is connected to the power supply.
|
tri0
|
A net that is connected to ground by a resistive pull-down connection.
|
tri1
|
A net that is connected to the power supply by a resistive pull-up connection.
|
trireg
|
A net that models the charge stored on a physical net.
|
REGISTERS
|
reg
|
Register variables are assigned values by procedural statements within an always or initial block. REG variables can only be output.
Register variables hold their value until an assignment statement changes them. The following are predefined register types: reg, integer (32 bit, 2s complement), real (double precision 64bit), realtime, and time (for time related functions).
|
MEMORIES
|
Verilog does not have separate datatype for memory array. But can be used from other data type reg
SYNTAX: reg [word_size] <variable>[array_size];
|
STRINGS
|
Verilog does not have a distinct data type for strings. Instead, a string must be stored within a properly sized register by a procedural assignment statement. A properly sized reg (array) has 8 bits of storage for each character of the string that it is to hold.
SYNTAX: reg [8*num_char-1: 0] string_holder;
|
CONSTANTS
|
A constant in Verilog is declared with the keyword parameter, which declares and as- signs value to the constant. The value of a constant may not be changed during simulation. Constant expressions may be used in the declaration of the value of a constant.
SYNTAX: parameter <variable> = <value>;
|