数字字面量细节:
Verilog 中的数字字面量可以按二进制(b 或 B)、八进制(o 或 O)、十六进制(h 或 H)、十进制(d 或 D)表示。
数字的完整表达为 <位宽>'<进制><值>
,如 10'd100
。省略位宽时采用默认位宽(与机器有关,一般为 32 位),省略进制时默认为十进制,值部分可以用下划线分开提高可读性,如 16'b1010_1011_1111_1010(下划线只能位于数字与数字之间,不可位于字母与数字之间)
。
Verilog 中除了普通的数字以外,还有两个特殊的值:x
和 z
。x
为不定值,当某一二进制位的值不能确定时出现,变量的默认初始值为 x
。z
为高阻态,代表没有连接到有效输入上。对于位宽大于 1 的数据类型,x
与 z
均可只在部分位上出现。
注意:1、位宽的意义,位代表二进制中的位数。举例:3'd101表述错误。3位二进制数最大为7,而d101表示十进制中的101,严重越界,错误。2、数字字面量默认为无符号数,如果要表示负数,在无符号数前加符号,如-8'd5