固定小数点データタイプを使用する (FPGAモジュール)

固定小数点データタイプは、浮動小数点データタイプの柔軟性および整数演算の高速性と低サイズ性を持ちます。固定小数点データタイプおよびこのデータタイプを使用することについての情報は、ni.comを参照してください。

メモ  一部のFPGA VIおよび関数では、固定小数点データタイプがサポートされていません。また、固定小数点のサポートが制限されている関数もあります。たとえば、「正弦波発生器」Express VIでは入力端子のみで固定小数点がサポートされています。
注意  固定小数点数を整数端子に配線すると、小数ビットが失われる場合があります。

FPGAリソースへの固定小数点の構成の影響

FPGA VIで固定小数点を使用するには、特定の関数に対して適切なオーバーフローおよび丸め込みモードを使用することが重要です。高スループット数学関数と一部の数値関数には、これらのモードを選択できる構成ダイアログボックスがあります。オーバーフローまたは丸め込みが発生すると、これらのモードはFPGA VIで必要なFPGAリソース量に影響を与えます。オーバーフローまたは丸め込みが発生しない場合は、追加のFPGAリソースは必要ありません。

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

オーバーフローモードの影響

通常、オーバーフローモードを使用するとFPGAリソースの使用に以下の影響があります。

  • 飽和―入力値が出力タイプの範囲内であるかどうかを判断し、元の値または飽和値を返すかどうかを選択する上で、FPGAリソースが必要です。
  • 切り捨て―必要なFPGAリソースが飽和モードよりも少なく済みます。

丸め込みモードの影響

通常、丸め込みモードを使用するとFPGAリソースの使用に以下の影響があります。

  • 切り下げ—ビットを切り捨てるため、FPGAリソースが必要ありません。ただし、このモードでは、ほとんどのデータストリームで最大平均誤差が生じます。このモードは整数演算のデフォルトです。
  • 四捨五入-中間値は切り上げ (非対称) —出力データタイプの最下位ビットに追加します。このオプションには、出力データタイプの幅を持つ加算器が必要です。
  • 四捨五入-最下位ビットを特定—最も多くのFPGAリソースを必要とし、3つの丸め込みモードの中で最も長い組み合わせパスが生成されます。ただし、このモードは、データストリームで統計上最も正確な結果を返すため、固定小数点データタイプのデフォルトの丸め込み方法です。
メモ  「高スループット除算」および「高スループット逆数」関数は、出力値をゼロに切り捨てる丸め込みモードを使用します。このモードは、出力値を出力タイプで表記可能な最も近い値に切り下げます。値が正の場合、値が切り捨てられます。値が負の場合、最下位ビット (LSB) が削除され、削除したビットの中に0以外の値があると残りのLSBに符号ビットが追加されます。

たとえば、出力値 x が連続した値である s および t の間にある場合 ( s < x < t )、x が正の値であると xs と同じ値に設定されます。x が負の場合、xt と等しい値に設定されます。

これら2つの関数では、ゼロへの切り捨てにより、他の丸め込みモードと比較してFPGAリソースの使用量が最も少なくなります。異なる丸め込みモードをこれらの関数に指定することはできません。


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

役に立たなかった