リソース使用率に関するガイドライン

Versal ACAP DSP エンジン アーキテクチャ マニュアル (AM004)

Document ID
AM004
Release Date
2022-09-11
Revision
1.2.1 日本語

サンプル レートが低く、係数の数が少ない場合は、単一乗算器 MACC FIR フィルターが適しています。サンプル レートが高い場合や係数の数が多い場合、セミパラレルまたはパラレル FIR フィルターの使用を検討してください。係数の数が多い場合や係数の幅が大きい場合には、メモリ バッファーにはデュアル ポート ブロック RAM の使用を推奨します。次の図に、このデザインの実装例の概要図を示します。係数の数が少ない場合や係数の幅が小さい場合 1 、ブロック RAM の代わりに分散メモリ (LUTRAM) を係数バッファーとして使用できます。データの幅が小さい場合 1 、ブロック RAM の代わりに SRL16 をデータ バッファーとして使用できます。

注記:
  1. Vivado Design Suite の合成ツールでは、サイズに応じて自動的にブロック RAM または SRL16/LUTRAM にマップされます。SRL16/LUTRAM かブロック RAM を選択する際には、両方の場合のタイミングおよびリソース使用率を比較して、最適なソリューションを判断する必要があります。
図 1. 単一乗算器 MACC FIR フィルター

データ バッファーをブロック RAM で実装する場合、サイクリック RAM バッファーを使用します。小規模な FIR フィルター (通常、32 タップ未満) の場合、フィルター入力サンプルおよび係数の格納にブロック RAM を使用すると、使用率が低くなることがあります。近くの DSP58 内にはブロック RAM よりも規模の小さい分散 RAM が多数あるため、小規模な FIR フィルターには分散 RAM の方が適しています。次の図に、係数バンクに分散 RAM、データ バッファーに SRL16 を使用して実装した実際の単一乗算器 MACC FIR フィルターを示します。

図 2. 16 タップの分散 RAM MACC FIR フィルター