高スループット数学関数の入出力端子を構成する (FPGAモジュール)

高スループット数学関数の入出力端子の値の範囲は、端子のエンコーディング、ワード長、および整数ワード長によって異なります。端子が符号付きの場合、値の範囲は[–2^( iwl–1), 2^(iwl–1)–2^(–wl+iwl)]です。ここで、

  • wl = ワード長
  • iwl = 整数ワード長

端子が符号なしの場合、値の範囲は[0, 2^ iwl –2^(–wl + iwl )]です。

たとえば、wl = 16、iwl = 1、そして端子が符号付きの場合、値の範囲は[–2^(1–1), 2^(1–1)–2^(–16+1)]または[–1, 0.999969482421875]です。端子が符号なしの場合、値の範囲は[0, 1.999969482421875]です。

サポートされていない入力端子の固定小数点の構成

端子の固定小数点の構成には、端子のエンコーディング、ワード長、および整数ワード長が含まれます。「高スループット加算」関数などの一部の関数の入力端子では、LabVIEWでサポートされるすべての固定小数点の構成がサポートされています。「高スループット指数」関数などのその他の関数の入力端子では、サポートされている固定小数点の構成が限られています。特定のサポートでサポートされる固定小数点の構成については、関数のヘルプトピックを参照してください。ヘルプトピックを表示するには、関数を右クリックして、ショートカットメニューからヘルプを選択します。

メモ  エンコーディング、ワード長、および整数ワード長により端子の値の範囲が決定するため、値の範囲もサポートされる固定小数点の構成が決定される要因となります。

以下は、入力端子で起こり得る制限事項を示します。

  • サポートされないエンコーディング―「高スループット平方根」関数は符号付きデータタイプをサポートしません。
  • サポートされないワード長および/または整数ワード長―「高スループットHyperbolic Sine & Cosine」関数へデータを配線した場合にそのデータタイプのエンコーディングが符号付きであると、関数で1ビットを超える整数ワード長はサポートされません。
  • サポートされない値の範囲―「高スループット自然対数」関数にデータを配線すると、関数で[1/e, 1)以外の値はサポートされません。

サポートされていない構成を端子に配線すると、ワイヤが壊れて表示される場合があります。この場合、関数を実行できません。また、サポートされている構成にワイヤが強制的に配線される場合もあります。この場合、関数を実行できますが、強制により予測せぬ動作が起こることがあります。ワイヤが壊れておらず、強制ドットも表示されていない場合、入力端子はその固定小数点の構成をサポートしています。

サポートされていない固定小数点の構成を避ける

構成ダイアログボックスで入力端子の固定小数点の構成を指定して、入力端子でワイヤが壊れたり、強制ドットが表示されることを防ぐことができます。この方法で端子を構成するには、以下の手順に従ってください。

  1. ブロックダイアグラムに関数を追加します。
  2. 関数をダブルクリックします。構成ダイアログボックスが表示されます。
  3. 固定小数点の構成セクションで端子のデータタイプを構成します。関数により、特定のオプションが淡色表示され、その他のテキストボックスに入力できる値が制限されている場合もあります。構成ダイアログボックスを使用して特定の固定小数点の構成を指定できる場合は、関数でこの構成がサポートされています。
  4. OKボタンをクリックして変更を保存し、ダイアログボックスを閉じます。

これらの手順を終了したら、入力端子を右クリックして、作成→制御器または作成→定数を選択します。作成する制御器または定数の固定小数点の構成は、関数でサポートされています。

配列サポート

一部の「高スループット数学」および「基本要素」関数は配列をサポートしています。以下の表は、配列サポートのある「高スループット数学」および「基本要素」関数の概要を示しています。

メモ  以下に記載されていない「高スループット数学」および「基本要素」関数は、配列をサポートしていません。
関数 整数の配列 固定小数点数の配列 クラスタ配列
高スループット加算

高スループット減算

高スループット乗算

離散遅延

アキュムレータ

加算減算

以下の注意事項は、「高スループット加算」、「高スループット減算」、「高スループット乗算」関数に適用されます。

  • 両方のデータ入力が配列の場合、2つの配列は要素ごとに計算されます。
  • 1つのデータ入力が配列でもう1つがスカラの場合は、配列の各要素はスカラと共に計算されます。
  • 両方のデータ入力が異なるサイズの配列の場合、長い配列を持つ端子が短い方の配列サイズを適用します。長い配列を持つ端子に強制ドットが表示されます。たとえば、xが5つの要素の配列でyが3つの要素の配列の場合、xの4番目および5番目の要素は破棄されます。出力は同じサイズの配列です。

出力端子のオーバーフローおよび丸め込み

理論上の演算値は、出力データ端子の有効範囲とは関係ない数学的結果です。出力端子の範囲が理論上の演算値を格納するのに十分でない場合、オーバーフローが発生します。この場合、関数は構成ダイアログボックスのオーバーフローモードプルダウンリストで指定されたオプションに基づいて動作します。また、関数にブールの演算オーバーフロー出力端子を表示するかを指定できます。この端子の値を使用して、オーバーフローが発生した場合にVIの動作を制御できます。

メモ  また、「高スループット除算」または「高スループット逆数」関数がゼロでの除算を試みるとオーバーフローが発生します。

通常、関数の構成ダイアログボックスのソースに適応チェックボックスをオンにすることでオーバーフローを避けることができます。このチェックボックスをオンにすると、オーバーフローまたは丸め込みが発生しないように出力データタイプの幅と範囲が調整されます。ただし、このような調整できない場合もあります。たとえば、関数で除算が行われる場合は、丸め込み処理が常に発生します。また、一部の関数にはこのチェックボックスがありません。



この記事は役に立ちましたか。

役に立たなかった