内容发布更新时间 : 2024/11/10 4:38:34星期一 下面是文章的全部内容请认真阅读。
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语句 变量:
后面的越来越不懂……
//