全文 6000
字
1. 基本语法
- 换行: 格式自由,可以在一行内编写,也可跨多行编写, 建议换行。
- 每个语句必须以 ;为结束符
- 单行注释用
//xxx
,跨行注释用/* xxx */
- 标识符(
identifier
)第一个字符必须是字母或者下划线,可以是任意一组字母、数字、$
符号和 _(下划线)符号的组合。 - 关键字全部为小写。
"module" 和 "Module" 是不同的关键词
2. 数据类型
bit
:单个位的值,只能取0或1。integer
:整数类型,无符号。int
:整数类型,有符号。reg
:寄存器类型,用于存储多个位的值。wire
:线类型,用于连接模块中的不同部分。
wire [8-1:0] addr;
reg [8-1:0] addr_temp;
real
:浮点数类型。parameter
:参数类型,用于定义模块中的常量值。time
:时间类型,表示时间单位。event
:事件类型,用于同步设计中的事件。string
:字符串类型,用于存储文本。boolean
:布尔类型,取值为真或假。logic
:逻辑类型,可以表示多个位的值。
3. 数值表示
-
整数(Integer):使用十进制表示,例如
256
、-42
。 -
二进制数(Binary):使用
'b
或者'B
前缀,后面跟上由0和1组成的二进制数,例如'b1010
。 -
八进制数(Octal):使用
'o
或者'O
前缀,后面跟上由0到7组成的八进制数,例如'o17
。 -
十进制数(Decimal):使用
'd
或者'D
后缀,表示十进制整数,例如-123d
。 -
十六进制数(Hexadecimal):使用
'h
或者'H
前缀,后面跟上由0到9以及字母A到F组成的十六进制数,例如'hFF
。 -
无符号数(Unsigned):使用
'u
或者'U
后缀,表示无符号整数,例如8u
。 -
负数(Negative):使用
-
符号表示负数,例如-42
。 -
实数(Real):使用十进制或者指数形式表示&#x