Verilog错误 - Quartus II - 循环必须在X次迭代中终止

时间:2014-01-03 00:40:09

标签: verilog fpga hdl intel-fpga quartus

我正在研究RiSC16 CPU的非常简单的verilog实现,我遇到了使用Quartus II网络版进行编译的问题。我的代码如下:

reg j;
initial begin
pc = 0;
rf[0] = `ZERO;
rf[1] = `ZERO;
rf[2] = `ZERO;
rf[3] = `ZERO;
rf[4] = `ZERO;
rf[5] = `ZERO;
rf[6] = `ZERO;
rf[7] = `ZERO;
    for(j=0;j<200;j=j+1) begin // THis is line 38
        m[j] = 16'd0; 
    end
end

我收到以下错误:

Error (10106): Verilog HDL Loop error at RiSC16.v(38): loop must terminate within 10000 iterations

我现在很失落。有谁之前经历过这个吗?某处有语法错误吗?

1 个答案:

答案 0 :(得分:4)

由于j被声明为1位,因此它的唯一值是0和1;它不能达到200,for循环将是无限的。声明为:

reg [7:0] j; // 0 to 255

integer j;