特長および機能モード

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

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

DSP エンジンはさまざまな機能モードでの動作が可能です。主な機能は次のとおりです。

  • 27 ビット前置加算器を持つ 27 × 24 + 58 の 2 の補数積和演算 (MACC)。オプションで積のネゲートをサポート。
  • 2 つの連続する DSP58 で構成した 18 × 18 + 58 の 2 の補数複素 MACC。2 つの複素入力をオプションで共役が可能。
  • 単精度浮動小数点 (binary32) アキュムレータ。
  • 乗数と被乗数を独立して binary16 または binary32 に静的に設定可能な混在精度の浮動小数点 MACC。バイアシングとアキュムレータには binary32 を使用。
  • アキュムレータまたは後置加算器を持つ 3 要素 2 の補数ベクトル ドット積 (INT8 モード)。
  • 低消費電力の 27 ビット前置加算器: 対称フィルター アプリケーションを最適化し、DSP のロジック要件を緩和する。
  • 58 ビット アキュムレータ: カスケード接続することで 116 ビット以上のアキュムレータ、加算器、カウンターを構築可能。
  • SIMD (単一命令複数データ) 演算ユニット: デュアル 24 ビットまたはクワッド 12 ビットの加算/減算/累算が可能。
  • 58 ビットの論理ユニット: ビット単位 AND、OR、NOT、NAND、NOR、XOR、XNOR がある。
  • パターン検出器: ターミナル カウント、オーバーフロー/アンダーフロー、収束丸め/対称丸めをサポートするほか、論理ユニットと組み合わせて 116 ビット幅の AND/NOR で出力が特定のパターンと一致したかどうかを検出する。
  • オプションのパイプライン レジスタと専用バス: 同じカラムにある DSP58 をカスケード接続し、シストリック FIR フィルターなどの階層/複合ファンクションを構築可能。
UltraScale™ アーキテクチャでは、2 つの DSP48E2 にコンフィギャラブル ロジック ブロック (CLB) とブロック RAM を合わせて DSP48 タイルを構成していました。 Versal® アーキテクチャでは DSP58 スーパータイルを導入しています (下図参照)。これは、常に DSP58 に隣接する新しいバージョンのコンフィギャラブル ロジック ブロック (CLB) を 2 行 x 2 列使用して構成したもので、次のリソースを提供します。
  • 64 個の LUTM: ロジック、分散メモリ、またはシフト レジスタ ロジック (SRL) として使用する LUT
  • 64 個の LUTL: ロジック リソースとして使用する LUT
  • 256 個のフリップフロップ

新しい CLB 内の LUT のちょうど半分が LUTRAM/SRL に対応し、DSP にシングル ポートの分散 RAM を提供します。この構造をデバイス全体で複製することで、タイミング クロージャを最大限に容易にできます。

図 1. 2 つの連続する DSP58 スーパータイル

DSP_MODE 属性を CINT18 に設定すると、2 つの連続する DSP58 を使用して 1 つの複素演算ユニットを構成できます (下図参照)。2 つの DSP58 で構成した複素演算ユニットの右側の DSP58 は、実数結果 PRE を計算します。これと同時に、左側の DSP58 は虚数結果 PIM を計算します。共有信号 (CLK、ASYNC_RST など) は左側の DSP58 のインターコネクト インターフェイスにのみ配線されます。

図 2. 1 つの DSP58 複素演算モード スーパータイル

各種機能モードの詳細は、この後の章で説明します。