2つの複素数の積を計算します。

次の式で示すように、「高スループット複素数の乗算」関数は2つの複素数を乗算します。x = xr + jxi およびy = yr + jyi の積p を計算します。

p = x*y = pr + jpi

ここで、pr=xryrxiyi および pi=xryi+xiyr

この関数は、固定小数点 データタイプです。


icon

ダイアログボックスオプション

オプション 説明
固定小数点の構成

を指定します。この関数の入力端子と出力端子の エンコーディング、ワード長、整数ワード長 です。指定する構成によって、端子の 値の範囲 です。

  • xr/xiタイプ

    xrおよびxi入力端子の固定小数点構成を指定します。

    これらの端子に固定小数点データタイプを配線すると、このセクションは淡色表示となり、ワイヤからの情報が使用されます。

    • 符号付き―この端子が符号付きであることを指定します。
    • 符号なし―この端子が符号なしであることを指定します。
    • ワード長―この端子のワード長を指定します。
    • 整数ワード長―この端子の整数ワード長を指定します。
  • yr/yi タイプ

    yr および yi 入力端子の固定小数点構成を指定します。

    これらの端子に固定小数点データタイプを配線すると、このセクションは淡色表示となり、ワイヤからの情報が使用されます。

    • 符号付き―この端子が符号付きであることを指定します。
    • 符号なし―この端子が符号なしであることを指定します。
    • ワード長―この端子のワード長を指定します。
    • 整数ワード長―この端子の整数ワード長を指定します。
  • pr/piタイプ

    prおよびpi出力端子の固定小数点構成を指定します。

    • ソースに適応―回避するために、出力データタイプの固定小数点構成を自動的に調整するかLabVIEWかを指定します。オーバーフローと丸め誤差。デフォルトでは、このチェックボックスはオンに設定され、以下のオプションが淡色表示になっています。
      メモ LabVIEWは、64ビットの最大ワード長および2047ビットの最大整数ワード長をサポートします。このチェックボックスをオンにすると、これらの最大値を超えるワード長を必要とする出力データタイプに対してオーバーフローや丸め誤差が発生する可能性があります。
    • 符号付き―この端子が符号付きであることを指定します。
    • 符号なし―この端子が符号なしであることを指定します。
    • ワード長―この端子のワード長を指定します。
    • 整数ワード長―この端子の整数ワード長を指定します。
    • オーバーフローステータスを含む―出力端子にオーバーフローステータスを含めるかどうかを指定します。LabVIEWはこのステータスを後続ノードに伝達します。このステータスを追加するには、より多くのFPGAリソースが必要となります。このチェックボックスは、デフォルトでオフになっています。

      このチェックボックスをオンにすると、以下のいずれかの状況でオーバーフローステータスがTRUEになります。

      • 入力端子のオーバーフローステータスがTRUEの場合。
      • この関数の実行中にオーバーフローが発生した場合。
      メモ この関数の実行中にオーバーフローが内部で発生した場合、prpiの両方でオーバーフロービットが設定されます。

      ソースに適応チェックボックスをオンにすると、入力端子にこのステータスが含まれるかどうかに応じてオーバーフローステータスを含むが設定されます。

  • オーバーフローモード

    この関数の処理方法を指定します。オーバーフローです。切り捨て (デフォルト) または飽和を選択できます。

    メモ 飽和 オプションは、 ラップ オプションよりも多くのFPGAリソースと長い組み合わせパスを必要とします。このような場合、飽和を選択すると、この関数がコンパイルできる最大クロックレートが低くなる可能性があります。
  • 丸め込みモード

    この関数がどのように機能するかを指定します。丸め込みが必要な場合、出力データを 丸め ます。切り下げ (デフォルト)、四捨五入 - 中間値は切り上げ四捨五入-最下位ビットを特定のいずれかを選択できます。選択するオプションは、この関数が必要とするリソースの量に影響します

実行モード

この関数の実行方法を指定します。

  • シングルサイクルタイミングループの外側

    このExpress VIをaの外で実行するように構成します。シングルサイクルタイミングループ

    このオプションを選択し、このExpress VIをシングルサイクルタイミングループの内側に配置すると、FPGA VIをコンパイルすると、 コード生成エラー ウィンドウにエラーが表示されます。

  • シングルサイクルタイミングループの内側

    このExpress VIをシングルサイクルタイミングループ内で実行するよう構成します。

    このオプションを選択してこのExpress VIをシングルサイクルタイミングループの外側に配置すると、FPGA VIのコンパイル時にコード生成エラーウィンドウにエラーが表示されます。

パイプラインオプション

のオプションを指定します。この関数を内部的に パイプライン処理 します。これらのオプションは、この関数のコンパイルの最大クロックレートに影響します。これらのオプションと最大クロックレートの関係については、パイプラインによって関数のパフォーマンスを向上させるのトピックを参照してください。

  • パイプラインのステージ数―この関数が内部で使用するパイプラインのステージ数を指定します。ステージ数を増加させると、この関数がコンパイルできるクロックレートが向上しますが、必要となるFPGAリソースの量も増加します。デフォルトは0ステージで、パイプラインの指定なしです。最大11ステージ
  • 実装リソース―乗算器の実装方法を指定します。

    以下のオプションから選択できます。

    • 自動(デフォルト)―コンパイラ は、組込ブロック乗算器を使用するか、ルックアップテーブル (LUT) を使用して乗算器を実装するかを決定します。
    • ルックアップテーブル―関数がLUTを使用して乗算器を実装するよう指定します。このオプションを選択すると、関数がコンパイルできる最大クロックレートが向上します。
レジスタ

するかどうかを指定します。関数の入力および/または出力 に内部レジスタを追加 します。これらのレジスタは、ブロック乗算器またはDSP48Eスライスなどの組込リソースの外側に配置されます。このセクションはシングルサイクルタイミングループの内側を選択した場合のみ使用できます。

メモ レジスタを追加すると、これにより、長い組み合わせ パスによるコンパイルエラーを防ぐことができます。ただし、レジスタの追加によって関数のレイテンシが増加するため、有効な結果を返すために余分なクロックサイクルが必要となることになります。
  • レジスタ入力―この関数の入力の後に内部レジスタを追加します。このオプションを選択すると、関数のレイテンシが1サイクル分増加します。
  • レジスタ出力―この関数の出力の前に内部レジスタを追加します。このオプションを選択すると、関数のレイテンシが1サイクル分増加します。
オプション端子

オプションのブロックダイアグラム端子の表示設定を指定します。

  • 演算オーバーフロー―この関数がブロックダイアグラムに 演算オーバーフロー 出力端子を表示するように指定します。この端子は、この関数の実行中にオーバーフローが発生してかどうかを示します。
構成フィードバック

この関数の実行方法に関する情報を示します。この情報は、ユーザが指定する構成オプションに基づいています。

入力/出力

  • cunkn.png xr

    被乗数xの実部を指定します。

  • cunkn.png xi

    被乗数xの虚部を指定します。

  • cunkn.png yr

    被乗数yの実部を指定します。

  • cunkn.png yi

    被乗数yの虚部を指定します。

  • 入力有効

    次の処理データポイントを受信したかどうかを示します。先行ノードからこのノードにデータを渡すには、先行ノードの出力有効出力をこの入力に配線します。

    これを表示するにはハンドシェイク 端子で シングルサイクルタイミングループの内側 オプションを選択し、以下のいずれかの操作を実行します。

    • 入力後にレジスタを追加または出力前にレジスタを追加チェックボックスのいずれかをオンにします。
    • パイプラインのステージ数を1以上に設定します。

    これらのオプションは、構成ダイアログボックスにあります。

  • 出力準備完了

    後続ノードがこのノードから返される新しい値を受信できる状態かどうかを示します。デフォルトはTRUEです。を使用後続ノード の入力準備完了 出力を現在のノードのこの入力に配線するための フィードバック ノード。

    メモ 特定のサイクルでこの端子がFALSEの場合、 出力有効 端子はそのサイクル中にFALSEを返します。

    この端子を表示するには、シングルサイクルタイミングループの内側オプションを選択して、以下のいずれかの操作を実行します。

    • 入力後にレジスタを追加または出力前にレジスタを追加チェックボックスのいずれかをオンにします。
    • パイプラインのステージ数を1以上に設定します。

    これらのオプションは、構成ダイアログボックスにあります。

  • iunkn.png pr

    積の実部を返します。

  • iunkn.png pi

    積の虚部を返します。

  • 演算オーバーフロー

    理論上の演算値が出力データタイプの有効な範囲を超える場合、TRUEを返します。演算オーバーフローからTRUEが返された場合、関数が返す値はオーバーフローモードオプションによって決定されます。

    演算オーバーフロー端子は、演算オーバーフローチェックボックスをオンにした場合にのみ表示されます。このチェックボックスは、構成ダイアログボックスのオプション端子セクションに表示されます。

  • 出力有効

    ノードが後続ノードで使用できる結果を計算済みの場合、TRUEを返します。ノードのデータを後続ノードに送信するには、この出力を後続の入力有効入力に配線します。

    この端子を表示するには、シングルサイクルタイミングループの内側オプションを選択して、以下のいずれかの操作を実行します。

    • 入力後にレジスタを追加または出力前にレジスタを追加チェックボックスのいずれかをオンにします。
    • パイプラインのステージ数を1以上に設定します。

    これらのオプションは、構成ダイアログボックスにあります。

  • 入力準備完了

    このノードが新しい入力データを受信できる状態になるとTRUEを返します。この出力を先行ノードの出力準備完了入力に配線するには、フィードバックノードを使用します。

    メモ あるサイクルでこの端子がFALSEを返した場合、次のサイクルで他のノードがこのノードに送信するデータはLabVIEWされます。LabVIEWは、次のサイクルで入力有効端子がTRUEである場合もこのデータを破棄します。

    この端子を表示するには、シングルサイクルタイミングループの内側オプションを選択して、以下のいずれかの操作を実行します。

    • 入力後にレジスタを追加または出力前にレジスタを追加チェックボックスのいずれかをオンにします。
    • パイプラインのステージ数を1以上に設定します。

    これらのオプションは、構成ダイアログボックスにあります。

  • この関数は、出力有効から最初のTRUEが返される前のサイクル中にFPGAターゲットとホストコンピュータで異なる結果を返す場合があります。出力有効から初めてTRUEが返された後は、結果は同一になります。

    パイプラインによって関数のパフォーマンスを向上させる

    パイプラインのステージ数を調整することで、FPGAターゲットでの関数のタイミングパフォーマンスを向上させることができます。の機能パイプライン 型乗算器は、特定の数でカスケードされた非パイプライン型乗算器と同等レジスタレジスタの数はパイプラインのステージ数に相当します。

    一般に、パイプラインのステージ数を増やすことで、この関数がコンパイルする最大クロックレートを高めることができます。ただし実際のクロックレートは、以下をはじめとするさまざまな要素によって決定されます。

    • 使用するFPGAターゲット
    • 乗算器のサイズ
    • 使用する丸め込みモードとオーバーフローモード
    • 使用する実装リソース
    • 乗算器以外のFPGA論理