wire型,意为连线型,一般用于组合逻辑(CL)之中。verilog HDL模块中的输入输出信号类型默认时自动定义为wire型。
reg型,意为寄存器型,既可以用组合逻辑实现,亦可用于时序逻辑中,即用触发器(filp-flop)实现。
wire型和reg型在verilog HDL语法中的区别在于,wire型数据通常用assign语句赋值,reg型数据必须被放在过程语句中(如initial、always)中,通过过程赋值语句赋值。
同样一个组合电路,不光可以用wire型数据来写,实际上也可以用reg型数据写:
(1) wire写法
wire cl_a;
assign cl_a = a ?A : B;
(2) reg写法