线网类型,即 wire,表示器件之间的物理连接,需要持续的驱动,默认值为高组态 “Z”。
寄存器类型,即 reg,表示保存数据的寄存器,保持最后的赋值,默认值为不定值 “X”。
1、
一般 module 中,输入为 wire,输出为 wire/reg(未定义时输出输出默认为 wire 型)。
而在 testbench 中,输入为 reg,输出为 wire。(输入信号(激励信号)必须定义为reg类型,以保持信号值,待测试模块在激励信号的作用下产生输出,输出信号(显示信号)必须定义为wire类型。)
2、
输入口(input):
内部输入信号只能是 wire;
外部连接可以是 wire 或者 reg。
输出口(output):
内部输出信号可以是 wire 或者 reg;
外部连接只能是 wire。
输入输出口(inout):内部输出信号与外部连接都只能是 wire。
3、
在过程赋值语句 always 中:reg <= wire/reg;
在连续赋值语句 assign 中:wire = wire/reg。