Verilog:reg和wire的区别
关于wire
在Verilog中,wire可以看作一个导线(或则任意位宽的总线),需要注意的几点是:
wire可以用于将实例化时的输入输出端口连接到电路的其他地方wire类型必须被其他东西驱动而不能用于储存其他数据wire类型在always@块中不能作为=和<=的左值wire是assign语句的左值唯一合法的类型wire只能用于组合逻辑电路
关于reg
reg和wire比较类似,但是能够储存信息,类似寄存器,需要注意的几点是:
reg可以在实例化模块时连接其输入reg不可以再实例化模块时连接其输出reg可以在声明模块时作为其输出reg不可以在声明模块时作为其输入reg类型时always@块中作为=,<=左值的唯一合法类型reg不能作为assign语句的左值reg类型可以创建寄存器,以用于类似于always@(posedge)的块reg可以描述组合逻辑也可以描述时序逻辑
reg和wire的共性
- 都可以作为实例化模块时的输入
- 都可以作为
always@块中=,<=的右值以及assign的右值