私はトップモジュールの結果に応じていくつかのデータを保存するRAMを表すと思われるこのモジュールを作成しました。FPGAのアルテラDE1-SOCでラムを使用したいのですが、正しい方法を採用していますか?
module RAM_OUT (pix_val, w_mem_out, set_ram);
input [2:0] w_mem_out;
input [31:0] pix_val;
input set_ram;
reg [15:0] addr_out;
reg [31:0] mem_out1 [0:57599];
reg [31:0] mem_out2 [0:57599];
reg [31:0] mem_out3 [0:57599];
/////////// ram out ///////////////
always @ (w_mem_out or set_ram)
begin
if (set_ram)
addr_out = 0;
else
begin
if (w_mem_out == 1)
begin
mem_out1 [addr_out] = pix_val;
mem_out2 [addr_out] = 32'b11111111_000000000000000000000000;
mem_out3 [addr_out] = 32'b00000000_000000000000000000000000;
addr_out = addr_out + 16'b0000000000000001;
end
else if (w_mem_out == 2)
begin
mem_out1 [addr_out] = 32'b11111111_000000000000000000000000;
mem_out2 [addr_out] = pix_val;
mem_out3 [addr_out] = 32'b00000000_000000000000000000000000;
addr_out = addr_out + 16'b0000000000000001;
end
else if (w_mem_out == 3)
begin
mem_out1 [addr_out] = 32'b11111111_000000000000000000000000;
mem_out2 [addr_out] = 32'b11111111_000000000000000000000000;
mem_out3 [addr_out] = pix_val;
addr_out = addr_out + 16'b0000000000000001;
end
else
addr_out = addr_out;
end
end
endmodule
プログラムが既にシミュレーションに完全に正常に動作しますが、私は私のFPGAにロードすることを計画していますから、私は私の意図がフルSOCを作ることです(ボードで利用可能なSDRAMメモリを使用する場合、 SDRAMにデータをロードし、そのデータを処理するために私の設計を使用する必要があります)。
私はSDRAMのプログラミングが上記のコードで行ったことから離れているのだろうかと思います。あなたは私が "思い出"にしたいデータを保存するために書き込んだロジックがあるのがわかりますが、これがSDRAMを実行するときに同じかどうかわからない、または後でこのデザインを変更する必要があります。私のシステムはすでにシミュレーションでうまくいっているので、これは好きではないでしょう)。
私は上記のコードをalteraのドキュメントから読みましたが、これはRAMを作る方法だと言いますが、これは合成可能ですか? FPGAで実際に何が起こっているのですか、FPGAチップのゲートを使用してメモリを引き出すか、ボードの実際のメモリを利用しますか?入力データは57600 32ビットの数値で構成されています。
などのローカルデータを格納するために使用されている間、パケットのペイロードまたは同等など大量のデータを格納するために使用されていますSDRAMを実装して上記のRAMを置き換える方法については? NIOS-IIやQSYSを使わずにコードでこれを行うことはできますか? – sujeto1
Quartus II、私は外部SDRAMとのインターフェースのためのMegawizardコアを持っていると思います。 Tools - > MegaWizard Plugin Managerに移動し、Newウィンドウを開きます。この新しいウィンドウで、Interface - > External Memoryに行き、必要な適切なSDRAMコアを選択する必要があります – Prashant
57.000 32ビットの2進数を1回だけ処理してメモリに1つずつ読み込むように保存する必要がある場合。内部メモリやSDRAMのどちらを使う方が便利ですか? – sujeto1