Quartus不支持对这种初始化方式的代码进行综合
可以用$readmemb或$readmemh完成ram的初始化(9.0以上版本支持这种方式的综合)
例如
module ram_with_init(
output reg [7:0] q,
input [7:0] d,
input [4:0] write_address, read_address,
input we, clk
);
reg [7:0] mem [0:31];
integer i;
initial begin
for (i = 0; i < 32; i = i + 1)
mem[i] = i[7:0];
end
always @ (posedge clk)
begin
if (we)
mem[write_address] <= d;
q <= mem[read_address];
end
endmodule
初始值也可以通过文件指定
initial
begin
$readmemb("ram.txt", mem);
end
兄弟你知道为什么不行了吗? 我也遇到这个问题了,但是在resgiter file里我用的相同的方法那就可以跑