(1)算数型
* | 乘法 |
/ | 除法 |
+ | 加法 |
- | 减法 |
% | 求余 |
** | 求幂(Y=2**3;结果为8) |
(2)逻辑型
! | 逻辑非(Y=!(3>2);结果为0) |
&& | 逻辑与(Y=(2<3)&&(5>6);结果为0) (Y=(2<3)&&1'bx;结果为X) |
|| | 逻辑或(Y=(2<3)||(5>6);结果为1) (Y=(2+3)||(3-3);结果为1) |
(3)关系运算符
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
(4)等价运算符
== | 等于 |
!= | 不等于 |
=== | case等于(1'b1===1'bx);结果为0 |
!== | case不等(1'bx===1'bx);结果为1 |
(5)按位运算符
~ | 按位非(Y=~4'b1001;结果为0110) |
& | 按位与(Y=4'b1001&4'b0111;结果为0001) |
| | 按位或(Y=4'b1001|4'b0111;结果为1111) |
^ | 按位异或(0^0=0;0^1=1;1^0=1;1^1=0;10100001^00000110 = 10100111) |
~^ ^~ | 按位同或 |
(6)缩减运算符
& | 缩减与(Y=&4'b1001;结果为0) |
~& | 缩减与非(Y=~&4'b1001;结果为1) |
| | 缩减或 |
~| | 缩减或非 |
^ | 缩减异或 |
~^ ^~ | 缩减同或 |
(7)移位运算符
>> | 右移(Y=4'b1001>>1;结果为0100) |
<< | 左移 |
>>> | 算术右移(Y=4'b1001>>>1;结果为1100) |
<<< | 算术左移 |
(8)拼接复制运算符
{} | 拼接(Y={4'b1001,2'b11};结果为100111) |
{{}} | 复制拼接(Y={4{2'b01}};结果为01010101) |
(9)条件运算符
?: | 用于条件赋值(Y=a?b:c;如果a=1,则y=b 如果a=2,则y=c 如果a=x,则y=x) |