次の図と表に示すように、Versal AI コアの DSP58 は、以前の 16 nm デバイスよりも SPFP 演算の効率が向上しています ( 『Versal AI コア シリーズ データシート: DC 特性および AC スイッチ特性』 (DS957) 参照)。
シンボル | 説明 | スピード グレードおよび動作電圧 (VCCINT) 別の機能の性能 | 単位 | |||||
---|---|---|---|---|---|---|---|---|
0.88V (H) | 0.80V (M) | 0.70V (L) | ||||||
-3 | -2 | -2 | -1 | -2 | -1 | |||
浮動小数点演算 | ||||||||
FMAX_FP | 浮動小数点演算 | 805 | 805 | 750 | 700 | 532 | 476 | MHz |
従来の DSP48 ベース デバイスでは、整数ユニットおよび DSP48 と PL の組み合わせを使用して単精度、倍精度、またはカスタム精度の浮動小数点演算子 (FPO) を構築していました。新しい DSP58 は DSP48 との下位互換性を維持しつつ、ハード マクロ、SPFP (FP32) 乗算器、および加算器を追加しています。FP32 乗算器および加算器には、次のような特長があります。
- カスケード接続をサポート
- A、B、C、および D 入力 32 ビット SPFP
- 加算器および乗算器の出力は 32 ビット
- 両方の出力を同時に利用可能
SPFP 乗算器および加算器は IEEE-754 と OpenCL™ に準拠しており、次の特性を備えています。
- 乗算加算、乗算減算、積和演算
- 乗算
- 加算
- 減算
- 最近接偶数への丸め
- オーバーフロー、アンダーフロー、および無効フラグ
- インスタンシエーションおよび FPO IP コア
- PL サポート ロジックの追加なしに SPFP の実装効率が 16 nm DSP48 の 4 倍向上
また、AI エンジンの追加により、ソフトウェアは次の図のようなプログラマブルで確定的な専用の SPFP 処理データパスを利用できるようになります。ベクター プロセッサには、次の機能を備えた専用の浮動小数点データパスがあります。
- 単精度
- 1 サイクルで 8 回の積和演算
- レーンごとの符号変換 (FPSGN)
DSP58 と AI エンジンの高性能演算エンジンは、組み合わせるにせよ個別に使用するにせよ、DSP 主体のデザインを強化します。ただし、Versal ACAP デザインは RTL や C/C++ を使用した PL および AI エンジン開発や、組み込み関数や AI エンジン API を使用した AI エンジン開発など、デザイン エントリの方法が多岐にわたるため、実装、デバッグ、および検証が難しいことがあります。VMC は、次のタスクを支援することによって AI コアを使用した DSP 開発を簡略化します。
- ビルド済み Simulink ツールボックスや MATLAB® ソース コードを利用した DSP テストベンチ開発
- Simulink の数多くの視覚的確認方法およびデバッグ方法を利用した DSP の検証と評価
- 基準となるリファレンス モデルと開発中のアルゴリズムをノードごとにその場で比較
- PL または AI エンジン用の C++、 LogiCORE™ IP、RTL、および AI エンジン用の組み込み関数または AI エンジン API を使用した混合言語モデル デザインの協調シミュレーションおよび開発
- 機能デバッグによる開発サイクルの短縮と、AI エンジンのサイクル近似シミュレーション
- C++ デザインとテストベンチを Vitis HLS プロジェクトとして評価およびエクスポートし、リソースとタイミングを最適化
- AI エンジン デザイン用の自動 ADF (Adaptive Data Flow) グラフの作成
- VCK190 をターゲットとした AI エンジン ハードウェア検証
VMC を使用した DSP 開発の方法を紹介するため、このアプリケーション ノートでは同じ SPFP PID アルゴリズムを 3 つの方法で実装した例を示します。このアプリケーション ノートで説明するモデルはすべて、Versal AI コア デザインの機能検証とデバッグに関して高速なビット精度の C++ モデルを使用しています。また、基準となる Simulink リファレンス モデルに対するノードごとの比較も示しています。