我學習的Verilog我的大學課程但我模塊講師離開,所以我希望在這裏一些幫助的一部分,Verilog的數據類型
一個例子,我們已經給出了一個參數n位灰色二進制代碼轉換器,如下:
module bin_n_gray #(parameter n=4) (input [n-1 : 0] gray, output [n-1 : 0] bin);
integer i;
always @ (*)
for(i = 0; i < n; i = i+1)
bin[i] = ^(gray >> i);
endmodule
我的問題:
由於bin[i]
變量賦值語句的左手側的@ always
塊內不應將此變量聲明爲output reg [n-1 : 0] bin
?
因爲我認爲過程塊的賦值語句左側的變量,例如always
/initial
應該聲明爲reg
數據類型?
是的,我認爲,這應該是REG類型的,因爲它是不連續分配,並且可能需要保留它的價值 –