高スループット複素数の乗算
- 更新日2025-01-28
- 12分で読める
2つの複素数の積を計算します。
次の式で示すように、「高スループット複素数の乗算」関数は2つの複素数を乗算します。x = xr + jxi およびy = yr + jyi の積p を計算します。
p = x*y = pr + jpi
ここで、pr=xryr–xiyi および pi=xryi+xiyr
この関数は、固定小数点 データタイプです。

ダイアログボックスオプション
| オプション | 説明 |
|---|---|
| 固定小数点の構成 |
を指定します。この関数の入力端子と出力端子の エンコーディング、ワード長、整数ワード長 です。指定する構成によって、端子の 値の範囲 です。
|
| 実行モード |
この関数の実行方法を指定します。
|
| パイプラインオプション |
のオプションを指定します。この関数を内部的に パイプライン処理 します。これらのオプションは、この関数のコンパイルの最大クロックレートに影響します。これらのオプションと最大クロックレートの関係については、パイプラインによって関数のパフォーマンスを向上させるのトピックを参照してください。
|
| レジスタ |
するかどうかを指定します。関数の入力および/または出力 に内部レジスタを追加 します。これらのレジスタは、ブロック乗算器またはDSP48Eスライスなどの組込リソースの外側に配置されます。このセクションはシングルサイクルタイミングループの内側を選択した場合のみ使用できます。 メモ レジスタを追加すると、これにより、長い組み合わせ パスによるコンパイルエラーを防ぐことができます。ただし、レジスタの追加によって関数のレイテンシが増加するため、有効な結果を返すために余分なクロックサイクルが必要となることになります。
|
| オプション端子 |
オプションのブロックダイアグラム端子の表示設定を指定します。
|
| 構成フィードバック |
この関数の実行方法に関する情報を示します。この情報は、ユーザが指定する構成オプションに基づいています。 |
入力/出力
xr
—
被乗数xの実部を指定します。
xi
—
被乗数xの虚部を指定します。
yr
—
被乗数yの実部を指定します。
yi
—
被乗数yの虚部を指定します。 次の処理データポイントを受信したかどうかを示します。先行ノードからこのノードにデータを渡すには、先行ノードの出力有効出力をこの入力に配線します。 これを表示するにはハンドシェイク 端子で シングルサイクルタイミングループの内側 オプションを選択し、以下のいずれかの操作を実行します。
これらのオプションは、構成ダイアログボックスにあります。 後続ノードがこのノードから返される新しい値を受信できる状態かどうかを示します。デフォルトはTRUEです。を使用後続ノード の入力準備完了 出力を現在のノードのこの入力に配線するための フィードバック ノード。 メモ 特定のサイクルでこの端子がFALSEの場合、 出力有効 端子はそのサイクル中にFALSEを返します。
この端子を表示するには、シングルサイクルタイミングループの内側オプションを選択して、以下のいずれかの操作を実行します。
これらのオプションは、構成ダイアログボックスにあります。
pr
—
積の実部を返します。
pi
—
積の虚部を返します。 理論上の演算値が出力データタイプの有効な範囲を超える場合、TRUEを返します。演算オーバーフローからTRUEが返された場合、関数が返す値はオーバーフローモードオプションによって決定されます。 演算オーバーフロー端子は、演算オーバーフローチェックボックスをオンにした場合にのみ表示されます。このチェックボックスは、構成ダイアログボックスのオプション端子セクションに表示されます。 ノードが後続ノードで使用できる結果を計算済みの場合、TRUEを返します。ノードのデータを後続ノードに送信するには、この出力を後続の入力有効入力に配線します。 この端子を表示するには、シングルサイクルタイミングループの内側オプションを選択して、以下のいずれかの操作を実行します。
これらのオプションは、構成ダイアログボックスにあります。 このノードが新しい入力データを受信できる状態になるとTRUEを返します。この出力を先行ノードの出力準備完了入力に配線するには、フィードバックノードを使用します。 メモ あるサイクルでこの端子がFALSEを返した場合、次のサイクルで他のノードがこのノードに送信するデータはLabVIEWされます。LabVIEWは、次のサイクルで入力有効端子がTRUEである場合もこのデータを破棄します。
この端子を表示するには、シングルサイクルタイミングループの内側オプションを選択して、以下のいずれかの操作を実行します。
これらのオプションは、構成ダイアログボックスにあります。 |
この関数は、出力有効から最初のTRUEが返される前のサイクル中にFPGAターゲットとホストコンピュータで異なる結果を返す場合があります。出力有効から初めてTRUEが返された後は、結果は同一になります。
パイプラインによって関数のパフォーマンスを向上させる
パイプラインのステージ数を調整することで、FPGAターゲットでの関数のタイミングパフォーマンスを向上させることができます。の機能パイプライン 型乗算器は、特定の数でカスケードされた非パイプライン型乗算器と同等レジスタレジスタの数はパイプラインのステージ数に相当します。
一般に、パイプラインのステージ数を増やすことで、この関数がコンパイルする最大クロックレートを高めることができます。ただし実際のクロックレートは、以下をはじめとするさまざまな要素によって決定されます。
- 使用するFPGAターゲット
- 乗算器のサイズ
- 使用する丸め込みモードとオーバーフローモード
- 使用する実装リソース
- 乗算器以外のFPGA論理
xr
—
pr
—