DSP48EまたはDSP48E1スライスの機能を構成する
- 更新日2025-03-06
- 9分で読める
DSP48EまたはDSP48E1関数をブロックダイアグラムに追加した後、関数をダブルクリックし、その構成ダイアログボックスを起動します。最初のページは、関数の全体の動作構成に使用する機能ページです。
opmode、alumode、およびcarryinsel入力の値により、DSP48EおよびDSP48E1スライスの機能が決まります。inmode入力の値はDSP48E1スライスに影響します。関数ページでプルダウンメニューから演算構成または論理構成を選択して、これらの端子をLabVIEWで構成することができます。これらのオプションの1つを選択した場合、以下のセクションで説明する方法で演算または論理式を構成した後、LabVIEWはこれらの値を適切に設定します。
計算式を演算するためにDSP48EまたはDSP48E1関数を構成する
演算構成を選択した場合、関数は以下の演算式を計算するよう構成されます。
p = (+/NOT z) +/– (x+y + carryin)
ここで
- NOT z は –z – 1と同じです。
- z、x+y、およびcarryinは、ユーザが選択する定数 (例: 0)、またはデータソース (例: 別の関数の出力端子など)、または演算結果です。これらの引数に指定する値および/またはソースにより、スライスの機能が決まります。値を0として指定すれば、式からzまたはx+yを削除することができます。メモ
- carryinで利用できるソースは、zおよびx+yで指定される値に依存します。したがって、carryinを指定する前にzおよびx+yを指定することをNIは推奨します。
- (DSP48E) carryinの異なる情報源については、XilinxのWebサイト (www.xilinx.com) にある『Virtex-5 FPGA XtremeDSP Design Considerations User Guide』のTable 1-10を参照してください。このマニュアルでは、この端子をCARRYINSELとして記載しています。(DSP48E1) この情報については、『Virtex-6 FPGA DSP48E1 Slice User Guide』の表1-11を参照してください。
- pはこの式の数値結果です。
DSP48E1スライスのPre-Adderを構成する
DSP48E1スライスのpre-adderを使用するには、x+yの値をm (ここで、m = (d + a) * b) に設定します。d、a、およびbは、0またはd、a、およびb入力端子のデータパスのさまざまな段階のいずれかです。以下のダイアログボックスは、pre-adderを使用する構成の例です。
pre-adderについての詳細は、『Virtex-6 FPGA DSP48E1 Slice User Guide』の以下のセクションを参照してください。
- 「Pre-adder」
- 「Pre-Adder Block Applications」
一般的なDSP48E演算構成
以下のダイアログボックスは、DSP48E関数の一般的な演算構成を示しています。
乗算
乗算と累算
乗算と加算
乗算と減算
1ステップカウンタ
- 関数ページ:

- 端子ページ:

- ブロックダイアグラムで、TRUE定数をキャリーイン端子に、0をaおよびb入力端子に配線します。

nステップカウンタ/アキュムレータ
- 関数ページ:

- ブロックダイアグラムで、制御器をc入力に配線します。
cは、カウンタのステップ数です。関数はcの値を累算します。
メモ この構成で、carryin端子は表示されていません。この時LabVIEWは、carryinに対してFALSE定数を渡します。
一般的なDSP48E1演算構成
以下のダイアログボックスは、DSP48E1関数の一般的な演算構成を示しています。
乗算
Pre-Adder付き乗算
乗算と累算
乗算と加算
乗算と減算
論理式を演算するためにDSP48EまたはDSP48E1関数を構成する
論理構成を選択した場合、関数は論理xと論理zを比較し、その結果をpとして返します。以下の図が示すように、比較演算子と論理xおよび論理zのソースを指定する必要があります。
VIの実行中にDSP48EまたはDSP48E1関数の動作を構成する
VIの実行中にDSP48EまたはDSP48E1スライスの動作を変更するには、構成ダイアログボックスで最初にカスタム構成を選択する必要があります。このオプションを選択した後、LabVIEWは、ブロックダイアグラムにopmode、alumode、およびcarryinsel端子を表示します。LabVIEWはDSP48E1関数でinmode端子も表示します。次に、必要な構成を取得するために、値をこれらの端子に配線する必要があります。この構成を使用した場合の動作はプログラム的に変更可能であるため、FPGA VIの実行中に1つのDSP48EまたはDSP48E1スライスの動作を変更することが可能です。
- 「ALUMODE Inputs」
- 「Carry Input Logic」
- 「Two-Input Logic Unit」
- 「X, Y, and Z Multiplexer」
LabVIEWオプションに相当するVHDLオプション
相当するVHDLの構成を表示するには、VHDLインスタンス化タブをクリックします。特定の属性についての情報は、XilinxのWebサイト (www.xilinx.com) で利用可能な『Virtex-5 FPGA XtremeDSP Design Considerations User Guide』または『Virtex-6 FPGA DSP48E1 Slice User Guide』を参照してください。以下の表は、LabVIEWの各オプションに対応する属性を示しています。
- 「Single Instruction, Multiple Data (SIMD) Mode」
- 「Single Instruction Multiple Data (SIMD) Arithmetic」