[英]Error (10170): Verilog HDL syntax error at CRC_configurable.v(62) near text: "integer"; expecting "end"
我正在使用 Quartus Prime Lite Edition 並有一個case
聲明:
S2: begin
dat[WID_DAT-1 :1] <= dat[WID_DAT-2 :0];
dat[0] <= 0;
crc[0] <= crc_temp[0];
integer i;
for (i = 1; i < WID_CRC; i = i+1) begin
crc[i] <= crc_temp[i] ^ crc[i-1];
end
if(count != 0) begin
r_ns <= S2;
count <= count -1;
end
else begin
r_ns <= S_DONE;
done <= 1;
end
end
並在我開始分析和細化時收到錯誤消息:
錯誤 (10170): CRC_configurable.v(62) 附近文本的 Verilog HDL 語法錯誤:“整數”; 期待“結束”。
為什么會這樣,我應該如何避免它?
您不得在begin/end
塊的中間聲明integer
。 您可以將integer
聲明行移到always
塊之外(在它之前)。
integer i;
always ...
...
S2: begin
dat[WID_DAT-1 :1] <= dat[WID_DAT-2 :0];
dat[0] <= 0;
crc[0] <= crc_temp[0];
for (i = 1; i < WID_CRC; i = i+1) begin
crc[i] <= crc_temp[i] ^ crc[i-1];
end
或者,如果你給你的開始塊一個名字,你應該能夠在begin
行之后立即聲明integer
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.