我可以在always块内使用电线吗? 例如:
wire [3:0]a;
assign a=3;
always @(c)
begin
d=a+c;
end
编译时没有抛出任何错误。为什么呢?
答案 0 :(得分:5)
是的,你可以在always块中使用wire的值,你只是不能在always或initial块中为wire赋值。
wire和reg之间唯一真正的区别是分配值的语法。
在上面的示例中,d也可以创建为线,这些是等效的:
reg [3:0] answer_reg;
always @* begin
answer_reg = a + c;
end
wire [3:0] answer_wire;
assign answer_wire = a + c;