1.17. 可変精度 DSP ブロック
インテル® Stratix® 10デバイスの DSP ブロックはインテルの従来のデバイスで使用されている可変制度 DSP アークテクチャーに基づいています。ハード固定小数点および IEEE-754 規格の浮動小数点機能を備えています。
DSP ブロックは、18x19 から 54x54 までの精度で信号処理をサポートするために構成が可能です。パイプライン・レジスターは、DSP ブロックの最大動作周波数が増加し、消費電力を削減するために追加されました。
各 DSP ブロックはコンパイル時にデュアル 18x19 あるいはシングル 27x27 乗算累積として個別にコンフィグレーションできます。専用の 64 ビット・カスケードバスにより、精度のより高い DSP 機能を効率的に実装する場合、複数の可変精度 DSP ブロックをカスケード接続することが可能です。
浮動小数点モードでは、各 DSP ブロックは 1 つの単精度浮動小数点の乗算器と加算器が使用可能です。浮動小数点の加算、乗算、mult-adds および mult-accumulates がサポートされています。
次の表は、さまざまな精度が DSP ブロック内または複数のブロックの使用でどのように対応するのかを示しています。
乗算器のサイズ |
DSP ブロックリソース |
使用目的 |
---|---|---|
18x19 ビット |
1/2 の可変精度 DSP ブロック |
中精度の固定小数点 |
27x27 ビット |
1 つの可変精度 DSP ブロック |
高精度の固定小数点 |
19x36 ビット |
外部乗算器を備えた 1 つの可変精度 DSP ブロック |
固定小数点の FFT |
36x36 ビット |
外部乗算器を備えた 2 つの可変精度 DSP ブロック |
非常に高精度の固定小数点 |
54x54 ビット |
外部乗算器を備えた 4 つの可変精度 DSP ブロック |
倍精度の浮動小数点 |
単精度の浮動小数点 | 1 つの単精度の浮動小数点加算器、1 つの単精度浮動小数点乗算器 | 浮動小数点 |
複素数乗算は DSP アルゴリズムでは非常に一般的です。その中でも複素数乗算に最も使用されることが多いアプリケーションが FFT アルゴリズムです。このアルゴリズムは乗算器の片側でのみ精度の要件が増加するという特徴があり、可変精度 DSP ブロックは精度の増加にともない DSP リソース内で比例的に増大する FFT アルゴリズムをサポートします。
複素数乗算器のサイズ |
DSP ブロックリソース |
FFT の使用率 |
---|---|---|
18x19 ビット |
2 つの可変精度 DSP ブロック |
リソースが最適化された FFT |
27x27 ビット |
4 つの可変精度 DSP ブロック |
最高精度の FFT |
高ダイナミック・レンジを必要とする FFT アプリケーションのためのインテル FFT IP コアは、リソースの使用率および高精度の固定小数点の実装と同等の性能で単精度浮動小数点の実装のオプションを提供しています。
DSP ブロックには、その他にも次の機能があります。
- 18 ビットと 25 ビットのハード・プリアダー
- ハード浮動小数点乗算器と加算器
- 64 ビットのデュアル・アキュムレーター ( 個別の I、Q プロダクト累積用 )
- 18 ビットと 27 ビット FIR フィルター用のカスケード化された出力加算器チェーン
- 18 ビットと 27 ビット係数用のエンベデッド係数レジスター
- 完全に独立した乗算器の出力
- ほとんどのモードで インテル® Quartus® Prime 開発ソフトウェアが提供する HDL テンプレートを使用した不確実性
可変精度 DSP ブロックは、高性能 DSP アプリケーションでより高いビット精度の傾向をサポートするのに理想的です。同時に、高精細度ビデオ処理や RRD (Remote Radio Head) といった既存の 18 ビット DSP アプリケーションを効率的にサポートできます。可変精度 DSP ブロック・アーキテクチャーとハード浮動小数点器乗算および加算器を使用することにより、 インテル® Stratix® 10デバイスでは浮動小数点実装を含めるさまざまな精度レベルを効率的にサポートすることができます。この柔軟性により、システム性能の向上、消費電力削減、およびシステム・アルゴリズム設計上のアーキテクチャー制約の低減が可能となります。