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