DSP48E1
- 更新日2023-02-17
- 17分で読める
DSP48E1
特定のXilinx FPGAターゲット上で使用可能なDSP48E1スライスのカスタム化可能な算術計算または論理操作を計算します。
項目タブのノードインタフェースを構成して、実行時にノードが実行する算術計算または論理操作をカスタム化します。
入力/出力

a
スライスの算術計算または論理操作で使用する値です。
固定小数点数値の精度を維持する
固定小数点値は、異なるデータタイプを持つ制御器および表示器に対応しません。その代わり、プログラムは値を強制変換し、その結果、精度が低下します。精度を保持するには、一致するデータタイプを持つ固定小数点値を入力に配線するか、入力の整数ワード長を調整します。

acin
スライスの算術計算または論理操作で使用する、以前のDSP48ノードからカスケードされたaの値です。
この入力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるacinオプションボタンを選択します。
カスケードされた入力接続
このカスケードされた入力は、他のDSP48ノードのacout出力のみと接続します。

b
スライスの算術計算または論理操作で使用する値です。
固定小数点数値の精度を維持する
固定小数点値は、異なるデータタイプを持つ制御器および表示器に対応しません。その代わり、プログラムは値を強制変換し、その結果、精度が低下します。精度を保持するには、一致するデータタイプを持つ固定小数点値を入力に配線するか、入力の整数ワード長を調整します。

bcin
スライスの算術計算または論理操作で使用する、以前のDSP48ノードからカスケードされたbの値です。
この入力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるbcinオプションボタンを選択します。
カスケードされた入力接続
このカスケードされた入力は、他のDSP48ノードのbcout出力のみと接続します。

c
スライスの算術計算または論理操作で使用する値です。
固定小数点数値の精度を維持する
固定小数点値は、異なるデータタイプを持つ制御器および表示器に対応しません。その代わり、プログラムは値を強制変換し、その結果、精度が低下します。精度を保持するには、一致するデータタイプを持つ固定小数点値を入力に配線するか、入力の整数ワード長を調整します。

inmode
pre-adderの機能、さらにa、b、d、および入力レジスタを選択する制御ビットです。
この入力は、項目タブの計算オプションでカスタムを選択したときのみ表示されます。

pcin
スライスの算術式または論理操作で使用する、以前のDSP48ノードからカスケードされたpの値です。
この入力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるpcinチェックボックスを選択します。
カスケードされた入力接続
このカスケードされた入力は、他のDSP48ノードのpcout出力のみと接続します。

carryin
FPGA論理からのキャリー入力を表すブール値です。
| True | DSP48スライス上の外部演算操作キャリー入力は1に設定されています。 |
| False | DSP48スライス上の外部演算操作キャリー入力は0に設定されています。 |
この入力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるcarryinチェックボックスを選択します。

carrycascin
以前のDSP48ノードからのカスケードキャリー入力を表すブール値です。
| True | DSP48スライス上の外部演算操作カスケードキャリー入力は1に設定されています。 |
| False | DSP48スライス上の外部演算操作カスケードキャリー入力は0に設定されています。 |
この入力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるcarrycascinチェックボックスを選択します。
カスケードされた入力接続
このカスケードされた入力は、他のDSP48ノードのcarrycascout出力のみと接続します。

multsignin
以前のDSP48ノード計算の乗算結果の符号を表すブール値です。
| True | 以前のDSP48ノードの乗算結果は負で、DSP48スライスの入力は1に設定されています。 |
| False | 以前のDSP48ノードの乗算結果は正で、DSP48スライスの入力は0に設定されています。 |
この入力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるmultsigninチェックボックスを選択します。
カスケードされた入力接続
このカスケードされた入力は、他のDSP48ノードのmultsignout出力のみと接続します。

alumode
スライスが評価する算術計算または論理操作を選択する制御ビットです。
この入力は、項目タブの計算オプションでカスタムを選択したときのみ表示されます。

opmode
スライスのX、Y、およびZのマルチプレクサへの入力を選択する制御ビットです。
この入力は、項目タブの計算オプションでカスタムを選択したときのみ表示されます。

carryinsel
キャリーソースを選択する制御ビットです。
この入力は、項目タブの計算オプションでカスタムを選択したときのみ表示されます。

acout
他のDSP48ノードにカスケードするためのaの値です。
この出力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるacoutチェックボックスを選択します。
カスケードされた出力接続
このカスケードされた出力は、他のDSP48ノードのacin入力のみと接続します。

bcout
他のDSP48ノードにカスケードするためのbの値です。
この出力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるbcoutチェックボックスを選択します。
カスケードされた出力接続
このカスケードされた出力は、他のDSP48ノードのbcin入力のみと接続します。

p
スライスによって実行された操作の結果です。
固定小数点数値の精度を維持する
固定小数点値は、異なるデータタイプを持つ制御器および表示器に対応しません。その代わり、プログラムは値を強制変換し、その結果、精度が低下します。精度を保持するには、一致するデータタイプを持つ固定小数点値を出力に配線するか、出力の整数ワード長を調整します。

pcout
他のDSP48ノードにカスケードするためのpの値です。
この出力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるpcoutチェックボックスを選択します。
カスケードされた出力接続
このカスケードされた出力は、他のDSP48ノードのpcin入力のみと接続します。

carryout
DSP48スライスからの4ビットキャリー出力です。
この出力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるcarryoutチェックボックスを選択します。

carrycascout
別のDSP48ノードにカスケードするキャリー出力の制御ビットを表すブール値です。
| True | DSP48スライス上の外部演算操作カスケードキャリー出力は1に設定されています。 |
| False | DSP48スライス上の外部演算操作カスケードキャリー出力は0に設定されています。 |
この出力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるcarrycascoutチェックボックスを選択します。
カスケードされた出力接続
このカスケードされた出力は、他のDSP48ノードのcarrycascin入力のみと接続します。

multsignout
別のDSP48ノードにカスケードする乗算結果の符号を表すブール値です。
| True | 乗算結果は負で、DSP48スライスの出力は1に設定されています。 |
| False | 乗算結果は正で、DSP48スライスの出力は0に設定されています。 |
この出力を表示するには、項目タブのコネクタペーンを変更をクリックし、DSP48コネクタペーンを構成ダイアログボックスの端子タブにあるmultsignoutチェックボックスを選択します。
カスケードされた出力接続
このカスケードされた出力は、他のDSP48ノードのmultsignin入力のみと接続します。
ノードインタフェースを構成する
項目タブの3つの計算オプションの1つを選択して、ノードが実行時にどのように動作するかを決定します。
項目タブの編集をクリックして、式で使用する値を選択します。
項目タブのカラースケールをクリックして、ブール式を構成します。
算術または論理の計算タイプを選択すると、DSP48ノードによって、opmode、alumode、inmode、およびcarryinselが自動的に構成されます。opmode、alumode、inmode、およびcarryinselの入力構成の組み合わせが不正の場合、プログラムによって入力値の組み合わせが不正であることを示すエラーが実行時にレポートされます。
DSP48ノードの入力および出力を構成する
DSP48ノードには、ダイアグラム上のDSP48スライスの機能をカスタマイズするのみ有効化できるいくつかの入力および出力があります。オプションのノード入力および出力を有効化して、ノードが実行する計算に使用する値を構成します。
以下の手順に従って、ダイアグラム上に表示するDSP48ノード入力および出力を選択します。
- ダイアグラムで、構成するDSP48ノードを選択します。
- 項目タブのコネクタペーンを変更ボタンをクリックします。
- DSP48コネクタペーンを構成ダイアログボックスの端子タブで、ダイアグラムに表示する入力と出力を選択してOKをクリックします。
DSP48ノードの数値精度を保持する
プログラムで数値精度を保持するために、計算で入力の整数ワード長を正しく設定する必要があります。整数ワード長を正しく設定しないと、計算の結果が不正確になる場合があります。
DSP48ノードの入力のワード長は、DSP48スライスの対応する入力のビット幅と一致する定数値です。DSP48コネクタペーンを構成ダイアログボックスの固定小数点構成を使用して、DSP48ノードの入力または入力のグループの整数ワード長を調整します。
以下の表に、ノードの算術計算で数値精度を維持するために、DSP48ノード入力のデータタイプに必要な変更の概要を示します。
| ノード入力または等式構成 | 数値精度を保持する要件 | サンプル |
|---|---|---|
|
a, b |
|
bのソースのデータタイプはI16 <1.15>です。精度を保持するための要件を満たすには、bの整数ワード長を3、2、または1に設定します。 |
|
乗算器 (p = a * b) |
pの小数部分ワード長は、aとbの小数部分ワード長の合計と等しくなります。 |
小数部分ワード長の合計は29です。この状況では、a、b、およびpのワード長を正しく設定します。
|
|
アキュムレータ (p = p + c) |
pの小数部分ワード長は、cの小数部分ワード長と等しくなります。 |
cのソースのデータタイプはI16 <3.13>です。 pの整数ワード長を35に設定します。 |
一般的なDSP48E1算術式構成
DSP48ノードは、項目タブの計算ドロップダウンメニューから演算を選択すると、以下の汎用式を実行します。
p = (+/Not z) +/- (x+y + carryin)
z、x+y、およびcarryinは変数です。これらの変数に定数値、ノード入力の値、または計算の結果を割り当てられます。carryinで利用できるソースは、zおよびx+yで指定される値に依存します。項目タブの編集ボタンをクリックして、等式を構成します。
項目タブのインタフェースドロップダウンメニューからDSP48E1を選択すると、mの第2の式の解がDSP48を構成ダイアログボックスに表示されます。この式の結果を、ノードが実行する計算でのx+yの入力値として使用できます。
デフォルトで、DSP48ノードのDSP48E1インタフェースは以下の式を実行します。
p = c + (m + carryin)
m = a * b
| 演算操作 | 算術式 | 構成 |
|---|---|---|
|
乗算 |
p = a*b+carryin |
|
|
Pre-Adder付き乗算 |
p = (d+a)*b+carryin |
|
|
乗算と累算 |
p = p+(a*b+carryin) |
|
|
乗算と加算 |
p = c+ (a*b+carryin) |
|
|
乗算と減算 |
p = c-(a*b+carryin) |
|