目录
- 1 空白符和注释
- 2 整数常量和实数常量
- 3 整数常量和实数常量
- 4 字符串(string)
- 5 格式符与转义符
- 6 标识符(identifiers)
微信公众号获取更多FPGA相关源码:
1 空白符和注释
2 整数常量和实数常量
Verilog中,常量(literals)可是整数也可以是实数。
整数的大小可以定义也可以不定义。整数表示为:
<size>’<base><value>
其中
- size :大小,由十进制数表示的位数(bit)表示。缺省为32位
- base:数基,可为2(b)、8(o)、10(d)、16(h)进制。缺省为10进制
- value:是所选数基内任意有效数字,包括X、Z。
实数常量可以用十进制或科学表示法表示。
实数常量表示 | 说明 |
---|---|
12 | unsized decimal (zero-extended to 32 bits) |
'H83a | unsized hexadecimal (zero- extended to 32 bits) |
8’b1100_ 0001 | 8-bit binary |
64’hff01 | 64-bit hexadecimal (zero- extended to 64 bits) |
9’O17 | 9-bit octal |
32’bz01x | Z-extended to 32 bits |
3’b1010_ 1101 | 3-bit number, truncated to 3’b101 |
6.3 | decimal notation |
32e- 4 | scientific notation for 0.0032 |
4.1E3 | scientific notation for 4100 |
3 整数常量和实数常量
整数的大小可以定义也可以不定义。整数表示:
- 数字中(_)忽略,便于查看
- 没有定义大小(size)整数缺省为32位
- 缺省数基为十进制
- 数基(base)和数字(16进制)中的字母无大小写之分
- 当数值value大于指定的大小时,截去高位。如 2’b1101表示的是2’b01
实数常量
- 实数可用科学表示法或十进制表示
- 科学表示法表示方式:
<尾数><e或E><指数>, 表示: 尾数×10指数
4 字符串(string)
Verilog中,字符串大多用于显示信息的命令中。Verilog没有字符串数据类型。
- 字符串要在一行中用双引号括起来,也就是不能跨行。
- 字符串中可以使用一些C语言转义(escape)符,如\t \n
- 可以使用一些C语言格式符(如%b)在仿真时产生格式化输出:
”This is a normal string”
”This string has a \t tab and ends with a new line\n”
”This string formats a value: val = %b”
5 格式符与转义符
格式符%0d表示没有前导0的十进制数。
6 标识符(identifiers)
- 标识符是用户在描述时给Verilog对象起的名字
- 标识符必须以字母(a-z, A-Z)或( _ )开头,后面可以是字母、数字、( $ )或( _ )。
- 最长可以是1023个字符
- 标识符区分大小写,sel和SEL是不同的标识符
- 模块、端口和实例的名字都是标识符
微信公众号获取更多FPGA相关源码: