シストリック FIR フィルターは、パラレル フィルター アーキテクチャに最適なソリューションであると考えられます。DSP58 アーキテクチャの利点を最大限に引き出すために、シストリック FIR フィルターは加算器チェーンも使用します (下図参照)。
入力データは、カスケード接続したレジスタ (データ バッファーとして使用) に入力されます。各レジスタから乗算器へサンプルが送信され、ここでそれぞれの係数と乗算が実行されます。係数は左から右へ割り当てられ、構造の一番左に最初の係数が割り当てられます。加算器チェーンで内積が徐々に合計され、最終結果が得られます。このフィルターは、外部ロジックなしで可能です。また、この構造を拡張することで任意の数の係数をサポートできます。
次の図に、シストリック FIR フィルターのセグメントごとの DSP58 の構成を示します。最初のセグメントを除き、処理要素の構造はすべて同じです。丸めを実行する場合は、最初のセグメントの ALU を正しい値の C 入力 (動的/静的丸め) または RND 属性 (静的丸め) で駆動する必要があります。2 番目以降のすべての DSP インスタンスに関しては、同じインスタンスの乗算器の結果、およびチェーン接続された直前の DSP からの結果 (専用のカスケード パス PCOUT → PCIN を経由) を ALU に入力するように OPMODE を設定します。丸めを実装する場合は、WMUX からの OPMODE の最上位 2 ビットを使用できます。必要な入力データ バッファーのカスケード接続は、最初の DSP インスタンスの専用カスケード入力 (BCIN) と専用カスケード出力 (BCOUT) を使用して作成します。
シストリック FIR フィルターには次の長所があります。
- 最高の性能
- この構造では、高ファンアウトの入力信号がないため、最大限の性能が得られます。専用のカスケード接続により、プログラマブル インターコネクトを通過する必要がなくなります。デバイスの 1 カラムを構成する DSP エンジンの数よりも係数の数の方が多い場合、大規模なフィルターの配線が制限されることがあります。
- DSP58 への効果的なマップ
- シストリック FIR フィルターの加算器チェーン構造を使用してマップします。この拡張可能な構造により、あらゆる規模の FIR フィルターをサポートできます。
- 外部ロジック不要
- 外部プログラマブル ロジックを使用しないため、最大限の性能が得られます。
シストリック FIR フィルターには次の短所があります。
- レイテンシが長い
- フィルターのレイテンシは、フィルターに存在する係数の数によって変化します。フィルターが大きいほど、レイテンシは長くなります。
- リソース使用量が多い
- MACC FIR フィルターよりも多くの DSP を使用します。
コーディング テンプレートは、 Vivado® 統合設計環境 (IDE) の今後のリリースで言語テンプレートとして提供される予定です。