1
我可以在always块内使用电线吗? 举例来说:使用总是阻止内部的电线?
wire [3:0]a;
assign a=3;
always @(c)
begin
d=a+c;
end
它编译时没有抛出任何错误。为什么?
我可以在always块内使用电线吗? 举例来说:使用总是阻止内部的电线?
wire [3:0]a;
assign a=3;
always @(c)
begin
d=a+c;
end
它编译时没有抛出任何错误。为什么?
是的,你可以使用一个线的值总是块内,你就不能在总或初始块值分配给电线。
导线和reg之间唯一的区别是用于分配值的语法。
在上面的例子中d也可以被创建为线,这些都是等价的:
reg [3:0] answer_reg;
always @* begin
answer_reg = a + c;
end
wire [3:0] answer_wire;
assign answer_wire = a + c;
这是否推断出什么样的硬件?就像在上面的例子中,d是一个加法器,它将一个输入作为c,另一个作为常数“a”。那么,'a'是连接到Vdd的导线,并且会导致3? – aditya3524 2013-02-28 17:33:14
是有效,a是常数图案逻辑'4'b0011'其可以是虽然作为'GND GND VDD VDD'。 wire vs reg与硬件无关,它们真的是模拟器优化。 – Morgan 2013-02-28 17:37:10