wire和reg作为输出的区别
-
组合逻辑 vs 时序逻辑:
- 如果输出信号直接由输入信号通过组合逻辑电路计算得到,应该使用
wire类型。例如门电路、算术运算等。 - 如果输出信号需要存储某个状态,通常在时钟的控制下改变,应该使用
reg类型。例如触发器、计数器等。
- 如果输出信号直接由输入信号通过组合逻辑电路计算得到,应该使用
-
赋值方式:
wire类型的信号只能通过连续赋值语句(assign)或实例化的子模块驱动。reg类型的信号只能在过程块(如always块)中赋值。
wire 类型作为输出
wire类型的输出信号主要用于组合逻辑电路。它们的值由连续赋值语句(assign语句)或者实例化的模块、门电路直接驱动。
-
连续赋值:
wire类型的信号使用assign语句进行连续赋值。 -
组合逻辑:通常用于描述组合逻辑电路,因为
wire类型信号的值总是由驱动它的表达式直接确定。 -
//组合逻辑示例 module and_gate ( input wire a, input wire b, output wire y ); assign y = a & b; endmodule //没有时钟触发的always也属于组合逻辑,但是always块要求输出类型为reg module

最低0.47元/天 解锁文章
684





