2.3.1算术操作符
加法(+),减法(-),乘法(*),除法(/),取模(%)
——算术操作符的结果是位宽。
——算术表达式结果的长度是由最长操作数决定的,再赋值语句中,算术操作结果由操作最左端目标长度决定。
ps:在verilog中优先级不太明显,因为我们过多的关注的是in或out
reg[3:0]A,B,C;
reg[5:0]D;
A = B + C; //输出4位,因为A定义为是4位宽
D = B +C; //输出6位,D定义为6位宽
(2)有符号和无符号数的使用
a = 4'b1111 //15
b = 3'b011 //3
计算a*b,普通来算结果是101101,但是在verilog中要求结果的位宽要和操作数中最长的那一个等宽,也就是要和a等宽,所以高位截断,运算结果是4'1101
2.3.2关系操作符
大于>,小于<,>=,<=;输入的都是1比特的。真为1,假为0
a = 3;
d = 4'hx //不定状态
$display(a<=d) //out x
ps:任何和不定状态的运算输出都是不定状态,但我们不会遇到,在数电中对不定状态管理非常严格。我们都知道产生不定状态只有两种情况一种是信号悬空,另一种是2个信号对