繁体   English   中英

错误 (10170): CRC_configurable.v(62) 附近文本的 Verilog HDL 语法错误:“整数”; 期待“结束”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM