Verilog HDL 学习笔记(二)数据类型及其常量、变量
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Verilog HDL 学习笔记(二)数据类型及其常量、变量
Verilog HDL中总共有19种数据类型。
数据类型是用来表示数字电路硬件中的数据储存和传送元素的。
常量类型:
一、数字
1.整数
(1)二进制整数(b或B)
(2)十进制整数(d或D)
(3)十六进制整数(h或H)
(4)八进制整数(o或O)。
数字表达方式有以下3种:
(1)<位宽><进制><数字>,这是一种全面的描述方式。
(2)<进制><数字> 这种描述方式中,数字的位采用缺少位宽(这由具体的机器系统决定,但至少是32位)。
(3)在<数字> 这种描述方式中,采用十进制作为转为。
在表达式中,位宽指明了数字的精确位数,例如:一个4位二进制数的位宽为4,一个4位十六进制数的位宽为16(因为每个十六进制数就要用4位二进制数来表示)。
如:
8'b10101100
8'ha2
2.x和z
在数字电路中,x代表不定值,z代表高阻值(z可用?代替)。
比如:8'b101011x0表示,从右数第二位为不定值。
8'ha?表示从右数前四位二进制位(一位十六进制位)为高阻值。
还有一个我不太懂的也写出来:
12‘d?表示,位宽为12的十进制整数。
(有些不十分明白,但也大致可以理解)
3.负数
-8'ha3 //正确用法(负号必须在最前面)
8'h-a3 //错误用法
4.下划线
正确的加适当下划线可以增加程序的可读性,不影响程序的运行:
16'b1101_1111_0011_1101 //正确(下划线只能在数字中加,不能在其它位置)
16'b_1101_1111_0011_1101 //错误
二、参数型常量
parameter e=22,f=e+1;
(个人感觉:挺像C语言中的宏定义的最基础用法)
需要改变参数型常量的值时,用defparam语句
变量:
后面的越来越不懂……。