FPGAファームウェア設計:大きすぎますか?
matlabからVHDLに移植する必要のある特に大きな信号処理トランスフォームがあります。間違いなく何らかのリソース共有が必要です。少し計算すると、次のことがわかりました。 512 fftの64ポイント 41210積和演算 最大のVirtex 6 FPGAには最大2000個のDSP48Eブロックがあることを考えると、リソースを複数回再利用するためにリソースを共有できることがわかります。実行時間は実際には問題ではなく、FPGAの観点からすると処理時間は比較的長くかかる場合があります。 リソースの使用状況を見ると、radix-2 liteアーキテクチャを使用すると、4dspブロック/ FFT操作= 2048 DSPブロック、合計で約43kになります。最大のVirtex FPGAには2kブロック、つまり20オペレーション/ muxがあります。 明らかに、このような大きなマルチプレクサをファブリックに含めると、スライスが占有されます。この制限の上限はどこにありますか?FPGAリソースを無限に共有することはできません。41210乗数は大きすぎますか?大きすぎるものを計算するにはどうすればよいですか? 他のリソース(スライス、Bramsなど)も調べました。Radix-2 Liteは、4 x 18kブラム/ fft = 2048ブラムも提供します。最大のザイリンクスFPGAには2128ブラムが含まれます。非常に境界線。デザインが大きすぎるのではないかと心配しています。 更新: デザイン自体に関する詳細情報。詳細に説明することはできませんが、ここで説明します。 Initial conditions -> 512 ffts -> 40k multipliers ---------|----> output data to host ^------re-calculate initial conditions----| 出力データレートの仕様:「MATLABシミュレーションよりも高速」 賢明な計算、これは私がいる場所です: FFTステージ:簡単。1/2/4/8 FFTを実装し、結果をSDRAMに保存して後でアクセスできます。比較的小さく、時間がかかっても問題ありません。radix-2 liteを使用すると、2つのDSP48Eと2つの18k BRAMS / FFTを取得できます。ストリーミングでは、6個のDSP48Eに0BRAMS / FFTが与えられます。どちらの場合も、64ポイントFFTはFPGAリソースの観点からは小さいです。 …