Versal アダプティブ SoC の DSP プリミティブをタイプ別に次に示します。
プリミティブ | 説明 | 使用法 |
---|---|---|
DSP58 | 標準整数/固定小数点モード | 推論またはインスタンシエーション |
DSPFP32 | 浮動小数点モード | インスタンシエーションのみ |
DSPCPLX | 複素乗算器 | 推論またはインスタンシエーション |
DSP58
Versal アダプティブ SoC の DSP58 プリミティブには、乗算器、加算器、前置加算器、レジスタなど、プリミティブを完全にパイプライン処理する UltraScale デバイスと同じ機能が含まれていますが、大きさが異なり、ほかの機能が追加されています。
サイズ
符号付きロジックの場合、次のように DSP58 を構成できます。
- 乗算器: 27x24
- 加算器: 58 ビット
- 前置加算器: 27 ビット
符号なしロジックの場合、DSP58 を次のように構成できます。
- 乗算器: 26x23
- 加算器: 57 ビット
- 前置加算器: 26 ビット
次の図に、符号付きロジックの例を示しています。
ドット積
DSP58 は、ドット積を実装できます。これは、すべて加算される 3 つの小さな乗算器として表される乗算器です。ドット積は、画像処理のフィルター機能でよく使用される演算です。詳細は、 『Versal アダプティブ SoC DSP エンジン アーキテクチャ マニュアル』 (AM004) を参照してください。次の図に、加算器が追加されたドット積の例を示します。
次の図に、ドット積の RTL を示します。
DSPFP32
DSPFP32 は浮動小数点演算を実行できます。Vivado 合成は、これらの演算に対応していません。代わりにさまざまな IP が提供されています。または DSPFP32 プリミティブをインスタンシエートすることも可能です。
DSPCPLX
DSPCPLX は、次の方程式の実数部と虚数部を解くために必要なロジックを合成するために使用します。
(a+bi)(c+di)
各 DSPCPLX には DSP58 サイトが 2 つ必要です。DSPCPLX は、RTL でインスタンシエートまたは推論可能です。次の図に、DSCPPLX の RTL を示します。