我正在設計一個verilog中的32位MIPS處理器,我剛剛完成了RegisterFile。當我嘗試編譯我得到這些錯誤:Verilog編譯錯誤
**錯誤:C:\ Users \ Montifas \ Desktop \ Organwsi \ RegisterFile.v(14):'我'是在生成循環中的無效類型。必須是genvar。 **錯誤:C:\ Users \ Montifas \ Desktop \ Organwsi \ RegisterFile.v(16):接近「[」:語法錯誤,意外''',期待IDENTIFIER或TYPE_IDENTIFIER **錯誤:C:\ Users \ Montifas \ Desktop \ Organwsi \ RegisterFile.v(23):接近「[」:語法錯誤,意外的'[',期待IDENTIFIER或TYPE_IDENTIFIER
我粘貼代碼,直到這些消息顯示的行評論:
module RegFile (clock, reset, raA, raB, wa, wen, wd, rdA, rdB);
input clock, reset, wen;
input [4:0] raA, raB, wa;
input [31:0] wd;
output [31:0] rdA, rdB;
reg [31:0] data[31:0];
integer i;
always @ (negedge clock or negedge reset);
begin
if(~reset)
begin
for(i=0; i<32; i=i+1) //LINE14
begin
data[i] = 1'b0; //LINE16
end
end
else if(reset)
begin
if(wen)
begin
data[wa] <= wd; //LINE23
end
end
end
有沒有人有一個想法是什麼錯?
關閉,但錯了。 '我'應該是一個'整數'。 'genvar'用於生成循環。 always塊第一行的分號混淆了編譯器,使其認爲剩下的編碼是推斷生成的塊。 – Greg 2014-11-04 17:26:38
非常感謝!你是對的!我看不到分號... – 2014-11-04 21:15:36