运算符
基本运算符:+ - * / %
- 进行算数运算操作时,若其中某一个操作数为x,整个结果为x
位运算符:~ & | ^ ^~
- 对不同长度的数据进行位运算,默认按照右端对齐,高位用0填充
逻辑运算符:&& || !
关系运算符:< > <= >=
- false - 0, true -1, 某个操作数值不定 - x
等式运算符:== != === !==
- == != 为逻辑等式运算符,当操作数中存在x, z时返回x;=== !==可对x, z进行判断,完全相同返回1,不同返回0(case等式运算符)
移位运算符:<< >>
- 用0填充空位
拼接运算符:{}
- 例:
{a, b[3:0], w, 3'b101}
等价于{a, b[3], b[2], b[1], b[0], w, 1'b1, 1'b0, 1'b1}
- 不允许存在没有指明位数的信号
- 重复法:
{4{w}}
({w, w, w, w}
),{b, {3{a, b}}}
({b, a, b, a, b, a, b}
),其中重复次数必须是常数表达式
缩减运算符:对单个操作数每一位进行与、或、非的递归运算,结果为1位二进制数
- 例:
reg [3:0] B;C = &B;
相当于C = ((B[0] & B[1]) & B[2]) & B[3];