
逻辑值
逻辑0:表示低电平,一般对应电路GND
逻辑1:表示高电平,一般对应电路VCC
逻辑X:表示未知,可能是高电平,也可能是低电平
逻辑Z:表示高阻态,外部没有激励信号,是个悬空状态

数字进制格式
Verilog 数字进制格式包括二进制(b)、八进制(o)、十进制(d)和十六进制(h)
一般常用的为二进制、十进制、以及十六进制
二进制表示为: 4'b0101 表示 4 位二进制数字 0101
十进制表示为: 4'd2 表示4位十进制数字2(二进制0010)
十六进制表示为: 4'ha 表示4位十六进制数字a(二进制1010)
16'b1001_1010_1010_1001 = 16'h9AA9
标识符
标识符 :用于定义 模块名、端口名、信号名 等。
1、标识符可是任意一组 字母、数字、$符号和_(下划线)符号 的组合;
2、标识符的第一个字符必须是字母或者下划线;
3、标识符区分大小写,不建议大小写混合使用;
数据类型
在 verilog 中,主要有三大类数据类型
寄存器类型
reg [31:0] delay_cnt; //延时计数 32位位宽
reg key_reg; //没有指定位宽,默认位宽为1

reg类型数据,只能在always语句和 initial语句中被赋值。
线网类型
参数类型
运算符
算术运算符

关系运算符

逻辑运算符

条件操作符
(类似三目运算符)

位运算符

移位运算符
左移时,位宽增加;右移时,位宽不变。

拼接运算符
例如:c = {a,b[3:0]};

运算符优先级

结构语句
initial 语句在模块中只执行一次。
常用于测试文件编写,用于产生仿真测试信号(激励信号),或者用于对存储器变量赋初值。
always 语句在持续活动。
只有与时序结合才能正常运行。
沿触发的always


赋值语句
条件语句
if 语句
case 语句