2017-01-10 6 views
0

FPGAにアルゴリズムを実装するには、非常に大きなサイズの定数マットを格納する必要があります。私は約30メガビットのサイズのROMメモリが必要だと計算したので、FPGAのメモリでは十分ではありません。私は、FPGAに接続された外部デバイスを使用することを考えていました。そのような大量のデータを同時に操作することは可能ですか?FPGAのメモリが大量に必要

ありがとうございます!

+0

このように多くのデータを操作する必要がある場合は、おそらくDSPでうまくいくでしょう。 – user3528438

+0

問題は、行列が巨大であるにもかかわらず、いくつかの要素だけが同時に必要となるため、これらの要素の操作の数がそれほど高くないことです。これらの要素を格納できる方法が必要ですデータ。 –

+0

マトリックスは偶然疎ですか? https://en.wikipedia.org/wiki/Sparse_matrix –

答えて

0

あなたは正しい経路にあります。 30Mビットを外部の不揮発性メモリ(フラッシュ)に格納します。しばしば、余分な容量を同じフラッシュチップに使用してFPGAを構成します(余分なスペースがあると仮定して)。一度に必要とされるいくつかの要素をFPGA内部メモリに読み込みます。フラッシュ読取りインターフェイスの帯域幅が計算に追いついていない場合は、外部フラッシュから外部RAMに一度転送し、FPGAの内部バッファに連続して読み込みます。

0

30Mビットは外部メモリほど大きくありません。

まず、不揮発性メモリ(フラッシュ)が必要です。ただし、これらは常にフラッシュから読み取る必要はありません。帯域幅によって異なります。

帯域幅が大きすぎてフラッシュにならない場合は、ASRAMまたはSSRAMやHyperRamやDDR SDRAMなどのより高速なメモリを使用できます。ボードの電源を入れた後、FPGAはthessデータをフラッシュから読み込み、 RAMからこれらのデータを読み取ることができます。

これらの場合、帯域幅、パッケージ、電力消費、コスト、r/w機能モードを考慮する必要があります。たとえば、DDR SDRAMはデータをシーケンシャルに読み取るときに高い帯域幅を実現できます。ランダムアドレスまたはスキップされたアドレスにアクセスすると、はるかに低い帯域幅を達成できます。

ハードウェアを動作させる前に、機能を包括的にシミュレートすることをお勧めします。

関連する問題