数据类型汇总
(wire)线网:表示硬件单元之间的物理连线(缺省数值为Z)
(reg)寄存器:表示存储单元,表示数据原有的值,直到被改写。整数,实数,时间等数据类型也属于寄存器类型,寄存器类型只能用在always和initial语句块中。
整数(integer):声明不用指明位宽,位宽和编译器有关,一般为32bit,(integer有符号数,reg型为无符号型)
实数(real):可用十进制或者科学计数法表示,实数声明不能带有范围,默认值为0,
将一个实数赋值给一个整数,只有实数的整数部分会赋值给整数。
时间(time):特殊时间寄存器time型变量,位宽一般为64bit
寄存器不需要驱动源,不一定需要时钟信号。
向量:当位宽大于1时,wire和reg即可声明为向量形式。
向量域选择:[bit+:width]从bit位开始递增,位宽为width
[bit-:width]从bit开始递减,位宽为width
信号组合成新向量需要借助大括号
存储器:存储器变量是一种寄存器数组,可以用来描述RAM或者ROM
参数:表示常量,用关键字parameter声明,只能赋值一次
局部参数(localparam声明)与paramter区别:他的值不能被改变
非阻塞只能给寄存器型变量进行赋值
case语句中所有表达式的位宽必须一样(eg: 'bx不可使用,必须使用n'bx)
时序逻辑块多用非阻塞,组合逻辑块多用阻塞
任务和函数的对比