三大类型:
寄存器类型、 线网数据类型、参数数据类型——共同遵守verilog四值逻辑
四值逻辑
逻辑1:表示高电平
逻辑0:表示低电平
不确定逻辑X:表示不可推断电平,一般由于赋值冲突导致
高阻逻辑Z: 表示高阻态,相当于电路中的断路
寄存器类型
程序中被赋值的变量都必须为寄存器类型。
子类型:
(1)reg
(2)integer—整数类型,对应32位二进制
(3)real实数类型
*寄存器类型的变量不一定综合为寄存器
线网类型
模块的input和inout端口必须为线网类型。
子类型:
(1)wire
(2)tri—与wire用法一样,定义三态门驱动的硬件连接,提高代码可读性
(3)supply1/supply0—分别表示强行上拉1和强行上拉0,可理解为电源线和地线,Verilog当做常数使用。
(4)wand/triand—线与逻辑
(5)wor/trior—线或逻辑
(6)tril/tri0/trireg—当连线被置为高阻态时,进行上拉、下拉还是保持之前的值
参数数据类型
(1)parameter
(2)localparam—与parameter的唯一区别是上层模块进行例化时不能对其进行重新定义。
(3)specparam—主要用于定义时序模型