For loop 错误(10170):文本附近CRC_.v(62)处的Verilog HDL语法错误;整数;;期待;完";

For loop 错误(10170):文本附近CRC_.v(62)处的Verilog HDL语法错误;整数;;期待;完";,for-loop,case,verilog,For Loop,Case,Verilog,我正在使用Quartus Prime Lite Edition,并且有一个案例声明: 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) begi

我正在使用Quartus Prime Lite Edition,并且有一个
案例
声明:

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
S2:开始

DAT[WIDZATA DAT-1(1)] P>不能在<代码>开始/结束/代码>块的中间声明<代码>整数< /代码>。您可以将
整数
声明行移到
始终
块的外部(在它之前)

整数i;
总是。。。
...
S2:开始
dat[WID_dat-1:1]
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