シストリック FIR フィルター

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

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

シストリック FIR フィルターは、パラレル フィルター アーキテクチャに最適なソリューションであると考えられます。DSP58 アーキテクチャの利点を最大限に引き出すために、シストリック FIR フィルターは加算器チェーンも使用します (下図参照)。

図 1. シストリック FIR フィルター

入力データは、カスケード接続したレジスタ (データ バッファーとして使用) に入力されます。各レジスタから乗算器へサンプルが送信され、ここでそれぞれの係数と乗算が実行されます。係数は左から右へ割り当てられ、構造の一番左に最初の係数が割り当てられます。加算器チェーンで内積が徐々に合計され、最終結果が得られます。このフィルターは、外部ロジックなしで可能です。また、この構造を拡張することで任意の数の係数をサポートできます。

注記: 専用のカスケード接続 (PCOUT と PCIN) を利用することで最大限の性能を得ることができます (加算器チェーン構造と加算器ツリーの比較)。

次の図に、シストリック FIR フィルターのセグメントごとの DSP58 の構成を示します。最初のセグメントを除き、処理要素の構造はすべて同じです。丸めを実行する場合は、最初のセグメントの ALU を正しい値の C 入力 (動的/静的丸め) または RND 属性 (静的丸め) で駆動する必要があります。2 番目以降のすべての DSP インスタンスに関しては、同じインスタンスの乗算器の結果、およびチェーン接続された直前の DSP からの結果 (専用のカスケード パス PCOUT → PCIN を経由) を ALU に入力するように OPMODE を設定します。丸めを実装する場合は、WMUX からの OPMODE の最上位 2 ビットを使用できます。必要な入力データ バッファーのカスケード接続は、最初の DSP インスタンスの専用カスケード入力 (BCIN) と専用カスケード出力 (BCOUT) を使用して作成します。

注記: このデザインは推論でサポートされているため、A 入力と B 入力はツールの選択に応じて入れ替え可能です。つまり、(BCIN と BCOUT の代わりに) ACIN と ACOUT を使用してカスケードを作成できます。
図 2. シストリック MADD プロセッシング エレメント

シストリック FIR フィルターには次の長所があります。

最高の性能
この構造では、高ファンアウトの入力信号がないため、最大限の性能が得られます。専用のカスケード接続により、プログラマブル インターコネクトを通過する必要がなくなります。デバイスの 1 カラムを構成する DSP エンジンの数よりも係数の数の方が多い場合、大規模なフィルターの配線が制限されることがあります。
DSP58 への効果的なマップ
シストリック FIR フィルターの加算器チェーン構造を使用してマップします。この拡張可能な構造により、あらゆる規模の FIR フィルターをサポートできます。
外部ロジック不要
外部プログラマブル ロジックを使用しないため、最大限の性能が得られます。

シストリック FIR フィルターには次の短所があります。

レイテンシが長い
フィルターのレイテンシは、フィルターに存在する係数の数によって変化します。フィルターが大きいほど、レイテンシは長くなります。
リソース使用量が多い
MACC FIR フィルターよりも多くの DSP を使用します。

コーディング テンプレートは、 Vivado® 統合設計環境 (IDE) の今後のリリースで言語テンプレートとして提供される予定です。