Altera_Forum
Honored Contributor
14 years agoWhy index cannot fall outside?
The following is my code for nixie tube's driving.
At line"$" their is an error clew"Error (10251): Verilog HDL error at MyDAQCard.v(120): index 15 cannot fall outside the declared range [7:0] for dimension 0 of array "CST"". My cst_reg.txt contents: 100110001001011010000000 11110100001001000000 000000011000011010100000 00000010011100010000 000000000000001111101000 00000000000001100100 000000000000000000001010 00000000000000000001 I want know why j>=0 is wrong at verilog?Thanks a lot. reg [3:0] dataout_memo[7:0]; reg [31:0] CST[7:0]; reg [3:0] i,j; reg [31:0]data_reg; reg flag; always @(posedge clk) begin data_reg = data_in; $readmemb("cst_reg.txt",CST); for(j=7;j>=0;j=j-1) //" $$$$$$$$$$$$$$$$$$$$$$" for(i=1,flag=0;i<=9;i=i+1) if(data_reg>=CST[j]) begin data_reg = data_reg - CST[j]; dataout_memo[j] = i; flag = 1; end else if(!flag)dataout_memo[j]=0; dataout_memo[0] = data_reg; // handle:j=0 "@@@@@@" data_reg = 1'b0; end