【发布时间】:2015-12-30 08:31:30
【问题描述】:
下面是 RAM 模块,我希望在其中读取系数值。
entermodule RAM_LP#( parameter width=8, length=16 )
(output reg [width*width-1:0]data_out,
input [width-1:0] address,
input clk,we);
// let the tools infer the right number of BRAMs
(* ram_style = "block" *)
(* synthesis, ram_block *)
reg [15:0] mem [0:65535];
parameter load_file = "generated/LP_coefficients.txt";
initial
begin
$readmemh (load_file, mem);
end
always @(posedge clk) begin
if (we)
data_out <= mem[address];
end
endmodule
给出警告并停留在这一点 ->
WARNING:Xst:653 - 信号
请指导我如何解决这个问题。
【问题讨论】:
-
将 data_out 声明为
[2*width-1:0]data_out而不是[width*width-1:0]data_out,因为您的mem是 16 位宽度。地址为[length-1:0] address。 -
请发布完整的错误信息,它应该包括信号名称。你模块的参数是没用的,只要内存是固定大小的。