文章目录
- 操作数
- 操作符
- 算术操作符
- 关系操作符
- 相等关系操作符
- 逻辑操作符
- 按位操作符
- 条件操作符
操作数
操作数可以是以下类型中的一种:
- 常数
- 参数
- 线网
- 寄存器
- 位选择
- 部分选择
- 存储器单元
- 函数调用
操作符
Verilog HDL中的操作符可以分为下述类型:
- 算术操作符
- 关系操作符
- 相等操作符
- 逻辑操作符
- 按位操作符
- 归约操作符
- 移位操作符
- 条件操作符
- 连接和复制操作符
下图显示了所有操作符的优先级和名称。操作符从最高优先级(顶行)到最低优先级(底行)排列。同一行中的操作符优先级相同。
算术操作符
算术操作符有
+
-
*
/
%
整数除法截断任何小数部分。例如 7/4
结果为 1。
取模操作符求出与第一个操作符符号相同的余数。例如 7%4
和 -7%4
的结果分别为 3 和 -3。
关系操作符
关系操作符有
>
<
>=
<=
关系操作符的结果为真(1)或假(0)。
如果操作数长度不同,长度较短的操作数在最重要的位方向(左方)添 0 补齐。例如 'b1000 >= 'b01110
等价于 'b01000 >= 'b01110
相等关系操作符
相等关系操作符有
==
!=
===
!==
逻辑操作符
逻辑操作符有
&&
||
!
这些操作符在逻辑值 0 或 1 上操作。逻辑操作的结构为 0 或 1。
按位操作符
按位操作符有
~
&
|
^
~^
,^~
条件操作符
条件操作符根据条件表达式的值选择表达式,形式如下:
cond_expr ? expr1 : expr2
如果 cond_expr
为真,选择 expr1
,如果 cond_expr
为假,选择 expr2
。