数据对象
1.parameter 常量
parameter NUM=5000_000;
2.reg 寄存器型变量
①默认位宽:1位
②可综合(对应具体的硬件电路)
3.wire网络型变量
①标准内部连接线,可综合(对应具体的硬件电路),结构实体(如:门)之间的物理连线
reg和wire的区别
reg对应数据存储元件,在下一次赋值之前保持当前值不变,由赋值语句改变寄存器变量中的值;
wire型变量表示器件之间的物理连线,它是一根导线,不能存储数据,只能被其他信号驱动传递1和0,这也是为什么不能给它赋初值的原因。wire的输出始终根据输入的变化而变化。
wire和reg的使用
1. 在Verilog模块设计中所有的端口默认为wire型
2. 所有的wire型变量需要由assign连续赋值语句提供驱动源数据;reg型变量只能在initial和always内部进行赋值,反之,在initial和always内部赋值的对象必须是reg型变量。
4.reg和wire的默认值
如果不对reg和wire赋初值,则reg的默认状态是未知X,wire的默认状态是高阻Z。所以使用reg型变量时,要赋初值。