Verilog HDL 语法基础(1) Verilog 的词法约定 1 Verilog 是大小写相关的,其中的关键字全部为小写
2 空白符由空格、制表符、和换行符组成
3 单行注释以“//”开始,verilog 将忽略此处到行尾的内容
多行注释以“/*”开始,以“*/”结束
多行注释不允许嵌套 4 操作符有三种:单目操作符、双目操作符和三目操作符
5 数字声明 Verilog 中有两种数字生命:指明位数的数字和不指明位数的数字 指明位数的数字表示形式:’ Size 用来指明数字位宽度,只能用十进制整数表示 Base format 包括十进制(’d或’D),二进制(’b或’B),八进制(‘o或’O),十六进制(‘h或’H) 例如 4’b1111 //4 位 2 进制数 12’h3ac //12 位 16 进制数 不指明位数的数字:如果数字说明中没有指定基数,那么默认表示为十进制数
如果没有指定位宽,则默认的位宽度与仿真器和使用的计算机有关(最小为32 位)
‘o21 //32 位八进制数 X 值和Z 值:不确定值用 X 表示,高阻用 Z 值表示
在八进制数中代表3 位,十六进制中代表4 位
12’h12X //这是一个 12 位 16 进制数,其中低四位不确定 负数: 在表示位宽的数字前面增加一个减号来表示它是一个负数
-6’d3 //一个 6 位的用二进制补码形式存储的十进制数 3,表示负数 -6’sd3 //一个 6 位的带符号算数运算的负数 下划线符号和问号: 除了第一个字符,下划线“_”可以出现在数字中的任何位置,它的作用只是提高可读性,在编译阶段会被忽略掉 问号“
”是z 的另一种表示,使用问号的目的在于增强 casex 和casez 语句的可读性
在这两条语句中,“
”表示不必关心的情况
12’B1111_0011_1110 // 增强可读性 4’b