Verilog HDL 有两大类数据类型。
1) 线网类型。 net type 表示 Verilog 结构化元件间的物理连线。它的值由驱动元件的值决定,例如连续赋值或门的输出。如果没有驱动元件连接到线网,线网的缺省值为 z 。
2) 寄存器类型。 register type 表示一个抽象的数据存储单元,它只能在 always 语句和 initial 语句中被赋值,并且它的值从一个赋值到另一个赋值被保存下来。寄存器类型的变量具有 x 的缺省值。
1. wire 和 tri 线网
用于连接单元的连线是最常见的线网类型。连线与三态线 (tri) 网语法和语义一致;三态线可以用于描述多个驱动源驱动同一根线的线网类型;并且没有其他特殊的意义。
wire Reset;
wire [3:2] Cla, Pla, Sla;
tri [ MSB - 1 : LSB +1] Art;
如果多个驱动源驱动一个连线(或三态线网),线网的有效值由下表决定。
wire ( 或 tri) 0 1 x z
0 0 x x 0
1 x 1 x 1
x x x x x
z 0 1 x z
下面是一个具体实例: