Verilog基础知识-数字进制格式
Verilog数字常量可以使用不同的进制格式进行表示,包括二进制、八进制、十进制和十六进制。
一、进制表示方法
- 二进制:使用前缀
b
或B
来表示。例如,4位二进制数1010可以表示为4'b1010
。 - 八进制:使用前缀
o
或O
来表示。例如,八进制数52可以表示为8'o52
。 - 十进制:使用前缀
d
或D来表示
。例如,十进制数10可以表示为10'd10
。 - 十六进制:使用前缀
h
或H
来表示。例如,四位十六进制数A5可以表示为4'hA5
。
二、位宽说明
数字前面的数值(如4、8、10等)表示该数字的位宽。
4'b1010
是一个4位的二进制数,
8'o52
是一个8位的八进制数,
10'd10
是一个10位的十进制数(但通常情况下,如果数字本身位宽小于指定的位宽,那么高位会自动补零),
4'hA5
是一个4位的十六进制数。
注意:
虽然可以指定位宽,但在实际应用中,位宽通常由上下文决定,因此在某些情况下可能不需要明确指定。
三、使用示例
8'b11000101
:表示一个8位的二进制数。3'o6
:表示一个3位的八进制数。8'ha3
:表示一个8位的十六进制数。4'D3
:表示一个4位的十进制数(但通常十进制数会省略位宽和进制说明,直接写为3
)。
四、注意事项
- 数字进制格式主要在常量和参数定义中使用,对于变量和线网类型的声明,通常不指定数字进制,而是直接写出数字值。
- 在Verilog代码中,下划线符号“_”可以随意用在整数中,它们就数量本身没有意义,只是为了提高代码的可读性。例如,
23_5.1e2
表示的值是23510.0
。 - Verilog中的实数表示也支持科学计数法,例如
3.6E2
表示的值是360.0
(其中e
与E
相同)。