一 Verilog 语言要素
1 空白符
空白符包括空格、Tab、换行和换页。在综合时空白符被忽略。
2注释
- 单行注释://xxxxxxx//,不允许续行
- 多行注释:多行注释以 /*xxxxxxxx*/
3 标识符
只允许字母、下划线 、数字、$,并且第一个字母必须是字母或下划线
标识符最长可以包括1023个字符,此外标识符区分大小写,与关键字区分开来
out* //非法标识符
count
COUNT // COUNT 与count有所区别
转义标识符:以“/"开头,以空白符结尾,可以包含任何字符
\7400
\~&uwi //合法表示
4 关键字
注意:所有关键字都是小写的
ALWAYS 与always时不同的
二 常量
- 整数
- 实数
- 字符串
1 整数
- 十进制 (d或D)
- 二进制 (b或B)
- 八进制 (o或O)
- 十六进制 (h或H)
8‘hd5 //位宽为八位的十六进制数:d5
5'o27 //位宽为五位的八进制数:27
4'B1x_01 //4位二进制数:1x01
8 'h 2A //位宽和'之间可以出现空格但'和h之间不允许出现空格
4'd-4 // 数值不能为负数
(3+2)'b10 // 位宽不可以为表达式
三、数据类型
- net
- variable
必须放在过程语句中使用
1、reg型
最常用的variable型变量
2、integer型
多用于循环变量,整型变量是至少32位带符号的
标量和向量
标量位宽为1
向量位宽大于1
定义形式