Versal デバイスの DSP - 2023.2 日本語

Power Design Manager ユーザー ガイド (UG1556)

Document ID
UG1556
Release Date
2023-10-18
Version
2023.2 日本語

AMD のデバイス ファミリには、それぞれ異なる機能を備えたデジタル信号処理 (DSP) ブロックがあります。DSP の情報を入力する前に、まず 『UltraScale アーキテクチャ DSP スライス ユーザー ガイド 』 (UG579) を参照して、[DSP] タブのパラメーターについて理解しておく必要があります。

ヒント: PDM では、DSP のデフォルトの構成は 27x18 とされています。正確な消費電力の見積もりを得るため、トグル レートを適宜調整する必要があります。たとえば、18x18 DSP のトグル レートが 25% とすると、それに 0.86 を掛けた値の 21.5% を PDM に入力します。同様に、12x12 の構成では、実際のトグル レートに 0.8 を掛けて調整します。
ヒント: DSP にはクロック イネーブル (CE) ポートがあります。[Toggle Rate] 列にデータを入力する場合は、データ入力トグル レートを DSP スライスのクロック イネーブル レートで乗算してください。たとえば、ランダム データ (通常、トグル レート 38% 以下) が DSP スライスへ入力され、このスライスのクロック イネーブル レートがわずか 50% しかない場合は、出力データのトグル レートが CE で削減されて 19% (38% x 50%) となります。次の図の例を参照してください。
ヒント: 乗算器 (MREG) 内にレジスタがあるファミリでは、このパイプライン レジスタを使用することでダイナミック消費電力を抑えることができます。

DSP ページでは、DSP58 ブロック リソースの見積もりが示されます。前世代のものと同様、AMD Versal™ アダプティブ SoC の DSP ブロックには、加算、減算、乗算、および積和などの一般的な DSP ファンクションなど、さまざまな演算および論理ファンクションをインプリメントできます。前世代の DSP ブロックのように、XOR などの幅の広いロジック ファンクションをインプリメントし、カスケード接続してデジタル フィルターを形成できます。Versal アダプティブ SoC DSP ブロックには、より幅の広い 27x24 複素数乗算器が含まれます。これは、3 つの 9x8 乗算器として設定できるほか、さらに幅の広い 58 ビット アキュムレータを含めることもできます。Versal アダプティブ SoC DSP では、浮動小数点の加算および乗算もサポートされます。

次の設定は、消費電力を見積もるための Versal アダプティブ SoC DSP ブロックのコンフィギュレーションに使用されます。

[Configurations]
Versal アダプティブ SoC PDM では、DSP ブロックにモード別コンフィギュレーションを使用できます。実行している DSP 動作に基づいて、ドロップダウン リストから適切なコンフィギュレーションを選択できます。Versal DSP58 消費電力モデルでは、前世代に比べてはるかに精密な精度がサポートされます。整数乗算器、MAC、ドット積、複素乗算器、浮動小数点演算など、さまざまなサイズから選択できます。
[DSP58 Slices]
これは DSP58 ブロックの数です。Versal アーキテクチャでは、1 つの DSP58 ブロックで 27x24 の固定小数点乗算器をインプリメントでき、2 つの DSP58 ブロックを共通ロジックとペアにすると、18 ビットの複素乗算器をインプリメントできます。
[Clock]
ドロップダウン リストから DSP58 Slice クロックを選択します。
[Block Toggle Rate]
これは、すべての DSP ブロック信号の平均トグル レートです。トグル レートは、必要に応じて手動で調整します。
  • DSP ブロックがサイクルの一部分でのみでイネーブルになっている場合は、Block Toggle Rate をイネーブル レートでスケーリングします。たとえば、DSP が半分のサイクルでイネーブルされる場合、Block Toggle Rate を 0.5 で乗算して、新しい Block Toggle Rate を取得します。
  • DSP ブロックがすべての乗算器出力を使用しない場合は、Block Toggle Rate を使用される出力ビットの割合にスケーリングします。48 ビットのみが使用されている場合は、Block Toggle Rate を (48/58) で乗算し、DSP ブロック内のアクティブに切り替わっている信号の割合を反映させます。
[DSP Mode]
これは、DSP ブロックの動作モードを示します。自動的に設定されます。指定されたコンフィギュレーションは読み取り専用です。
INT24
このモードは、前世代の DSP58 と互換性があります。INT24 は、DSP ブロックが 27x24 符号付き固定小数点乗算器として設定されていることを示します。小さいサイズの乗算器を使用する場合は、使用される出力ビットの割合で [Block Toggle Rate] をスケーリングします。
INT8
DSP58 はこのコンフィギュレーションで Vector Fixed Point ALU モードを使用します。このモードは、累算または後置加算オプションを使用して 3 要素 9x8 ベクター ドット積を計算するために使用されます。
CINT8
2 つの隣接する DSP58 ブロックに 18 ビット複素乗算器をインプリメントするよう設定します。DSP スライスの合計に、複素乗算器ごとに 2 つの DSP スライスが含まれるようにします。
FP32
DSP58E5 は、このコンフィギュレーションに浮動小数点乗算器と加算器を使用します。このモードは、累算または後置加算オプションを使用する FP32 単精度または FP16 半精度に使用されます。
[MULT Used?]
これは、DSP58 乗算器が使用されているかどうかを示します。デフォルト値は Yes です。これは、ほとんどの場合、乗数器が使用されるためです。自動的に設定されます。指定されたコンフィギュレーションは読み取り専用です。
[Multiplier Pipeline Used?]
MULT UsedYes の場合、乗算器がパイプライン処理されているかどうかを示します。乗算器は、その比較的大きな伝搬遅延のために通常パイプライン処理されるので、デフォルト値は Yes です。クロック速度がかなり遅い場合にのみ、または乗算器が DSP コンフィギュレーション用に使用されていないときに、No に設定する必要があります。
[Pre-Add Used?]
DSP58 には、乗算器の 1 つまたは両方の入力を駆動できる 27 ビットの符号付き加算器が含まれます。たとえば、(B + D) * A のように事前加算が必要な演算関数をインプリメントする場合は、Yes を選択します。デフォルト値は、Noです。自動的に設定されます。指定されたコンフィギュレーションは読み取り専用です。
[AD Reg Used?]
これは、前置加算器の出力が乗算器入力に使用される前にパイプライン処理されることを示します。デフォルト値は No です。このフィールドは自動的に入力されますが、設定はオーバーライドできます。