VGA アプリケーションを実装する FPGA プログラミング用の Verilog コードをコンパイルしようとしています。QuartusII とアルテラを使用しています。ピクセルごとに画像を取得するために readmemh を適切に使用しようとしています。
今のところ、matlab を使用して画像を RGB テキストに変換しました。それぞれの形式は次のとおりです (例): 03 A0 15 B7 ...
現時点では構文エラーは発生していませんが、それぞれ 50x50 = 2500 ビットのレジスタを 3 つ定義する必要があり、コンパイルが非常に遅くなり、「タイミング要件が満たされていません」という警告が表示されます。
より良い解像度のファイルを使用したい場合 (640x480 は素晴らしいですが、制限がないようです)、それはかなり悪いです。200x200 ピクセルの画像を取得するのに 15 分かかり、.sof ファイルは約 6MB です。
大きな入力に readmemh を使用する方法はありませんか?
それが私が読むためにしたことです
...
reg [7:0] mem_R[0:2499];
reg [7:0] mem_G[0:2499];
reg [7:0] mem_B[0:2499];
initial begin
...
$readmemh("menuR.txt", mem_R);
$readmemh("menuG.txt", mem_G);
$readmemh("menuB.txt", mem_B);
end
そして、私は次のようにアクセスします
if( mem_R[total_current-127510] > 0)
begin
menu_red = 1;
end