如何解决错误 (10170):CRC_configurable.v(62) 文本附近的 Verilog HDL 语法错误:“整数”;期待“结束”
我正在使用 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 语法错误 文字:“整数”;期待“结束”。
为什么会这样,我应该如何避免?
解决方法
您不得在 integer
块中间声明 begin/end
。您可以将 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
行之后立即声明 begin
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。