- reg 默认为 1 bit wide,如果超过 1 bit,则需要 range declaration 设置 reg 的位宽
-
- integer 默认位宽为 32 bit,不允许有 range declaration
-
- time 默认位宽为 64 bit,不允许有 range declaration
网络类型:
- wire signal gate 或 continuous assignment 驱动的 net
- tri 多驱动数据类型
- tri0 多驱动数据类型,综合时当成 wire 处理
- tri1 多驱动数据类型,综合时当成 wire 处理
- wand 线与
- wor 线或
- triand
- trior
门实例化:
- bufif0, bufif1, notif0, notif1, and, nand, or, nor, xor,
- xnor, buf, not
module instantiantion
输入输出:
input, output, inout
- parameter 为变量指定常量值
- localparam local parameter 参数,不允许值的重写
- specparam
- genvar generate for 中 index control 的变量
always construct, task, function
- generate/endgenerate
- generate if, generate for, generate case
continuous assignments
程序声明:
- procedural statements:
- Blocking procedural assignments = Nonblocking
- procedural assignments <=
- begin/end block, if-else-if, case, casex, casez, for,
- while, disable, System task($readmemb,
- $readmemh)
- +, -, *, / 加减乘除
- % 取余
- ** a的b次方【a**b】
- <, >, <=, >=, ==, !=
- === 赋值操作
- !==
- &&, || 逻辑与
- &, | 按位与
- ~| 按位或非
- ^~, ~^ 按位等价
- ^ 按位异或
- <<, >> 左移
- <<<, >>> 算术左移
-
-
单目运算符:
-
- +, -, !, &, ~, |, ^, ~&, ~|, ~^
- other:
- ?:, { }, {{ }}
编译器指令:
- `include, `define, `endif, `ifdef,
- `ifndef, `else, `elsif, `undef, `default_nettype