Verilogで推定RAMの内容を初期化できません。ラムのコードは次のとおりです。Verilogで推定ブロックRAM(BRAM)の内容を初期化する方法
module ram(
input clock, // System clock
input we, // When high RAM sets data in input lines to given address
input [13:0] data_in, // Data lines to write to memory
input [10:0] addr_in, // Address lines for saving data to memory
input [10:0] addr_out, // Address for reading from ram
output reg data_out // Data out
);
reg [13:0] ram[2047:0];
// Initialize RAM from file
// WHAT SHOULD GO HERE?
always @(posedge clock) begin
// Save data to RAM
if (we) begin
ram[addr_in] <= data_in;
end
// Place data from RAM
data_out <= ram[addr_out];
end
endmodule
私は$ readmemhコマンドを実行しました。しかし、それについての文書は疎であるようです。どのようにデータを含むファイルをフォーマットする必要がありますか?また、このモジュールをインスタンス化するときにファイルを引数として渡して、このモジュールの異なるインスタンスを別のファイルからロードできるようにするにはどうすればよいですか?
シミュレーションと実際の実装の両方で初期化されたコンテンツを利用したいと考えています。そのため、FPGAはすでにこのコンテンツをRAMでブートしています。
私はKintex xc7k70 FPGAをプログラムするためにVivado 2015.4を使用しています。