问题1:ILA核资源消耗
VIVADO中ILA核是消耗BRAM的
这一点一定要注意,之前我一直以为ila是板上另外的单独资源
因此当BRAM不足可以降低ILA抓取长度
问题2:$readmem语句是否可综合?
如果用来初始化一个二维数组,则可以综合,如:
reg [COEFF_WIDTH-1:0] coeff_array [0:TAP_NUM_ALL-1];
initial begin
$readmemh("lte_int_hb2.coe", coeff_array , 0, TAP_NUM_ALL-1);
end
always@(posedge clk)begin
out<=in&coeff_array[addr];
end
但是调用时必须要用地址调用“coeff_array[addr]”,如果用“in&coeff_array[0]”调用,VIVADO会报错如下:
WARNING: [Synth 8-2898] ignoring malformed $readmem task: invalid memory name
这里很坑,一定要注意!