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