Altera_Forum
Honored Contributor
17 years agoAn problem about using M4K
In my design I generate a dual port RAM using megafunction which shows the resources estimate is 144 M4K. Also ,I designed an array of shift registers like this :
reg [11:0] IQ_taps[0:1020]; always @(posedge CLK)//generate shift registers begin for (i = 0; i < 1020; i = i + 1) begin IQ_taps[i]<=IQ_taps[i+1]; end IQ_taps[1020]<=IQ; end reg signed[11:0] IQ_corr[0:255]; always @(posedge CLK) // do the operation begin for (k = 0; k < 256; k = k + 1) begin case (CORR_CODE[k]) 1'b1: IQ_corr[k] <= IQ_taps[k*4]; 1'b0: IQ_corr[k] <= -IQ_taps_2[k*4]; endcase end end I am sure the M4K is only used in these two entity. After "Analysis & Synthesis" ,the summary indicates total memory bits of 602618 is used. But the fitter failed and an error appeared in the message window: "Error: Selected device has 250 RAM location(s) of type M4K RAM. However, the current design needs more than 250 to successfully fit." Since only 602618 memory bits is used ,why need more than 250 M4K to successfully fit?? By the way , I used EP2C70F672C6 in my design. Thanks, Tigre