高スループット自然対数
- 更新日2023-02-17
- 5分で読める
高スループット自然対数
指定された入力値の eを底とする自然対数を計算します。
xが0の場合、lnは -
です。xが複素数でなく0より小さい場合、lnは非数(NaN)になります。入力/出力

x
この演算の入力です。xは[1/e, 1)の範囲内の符号なしでなければなりません。整数ワード長は0ビットでなければなりません。
この入力は、固定小数点データタイプのスカラ値のみをサポートします。
xが有効範囲外の場合にln(x)を計算する
以下の手順に従って、xが[1/e, 1)の範囲外の場合にln(x)を計算します。
- xのバイナリポイントをxの最初の非ゼロビットのすぐ左に来るまでシフトします。結果として得られるMは、常に0.5以上で、[1/e, 1)の範囲内となります。
- ln(M) + (E × ln(2))を計算します。ここで、Eは、バイナリポイントを左にシフトした回数とします。結果はln(x)と同等です。
- Mは有効範囲[1/e, 1)内にあるため、このノードを使用してでln(M)を計算します。
NIはバイナリシフトでxをMに変換することを推奨します。これは、この演算が除算よりも少ないFPGAリソースを使用するためです。

入力有効
次のデータポイントが有効で、処理できるかどうかを指定するブール値です。
先行ノードからこのノードにデータを渡すには、先行ノードの出力有効をこの入力に配線します。
| True | データポイントは有効で処理できます。 |
| False | データポイントは無効です。 |

出力準備完了
後続ノードがこのノードから返される新規値を受信できる状態かどうかを指定するブール値です。
フィードバックノードを使用し、この入力を後続ノードの入力準備完了入力に配線します。あるサイクルでこの入力がFalseの場合、出力有効は同サイクルでFalseを返します。
| True | 後続ノードは次のデータ要素への準備が完了しています。 |
| False | 後続ノードは次のデータ要素への準備が完了していません。 |
Default value: False

ln(x)
xの自然対数です。xが[1/e, 1)の範囲外の場合、ln(x)は未定義になります。

未定義
ln(x)が未定義かどうかを示すブールです。
| TRUE | ln(x)は未定義です。 |
| FALSE | ln(x)は未定義ではありません。 |

出力有効
このノードが後続ノードで使用できる結果を計算するかどうかを示すブール値です。
ノードのデータを後続ノードに送信するには、この出力を後続の入力有効入力に配線します。
| True | 後続ノードは、このノードが計算する結果を使用できます。 |
| False | このノードは、後続ノードが使用できない未定義の値を返します。 メモ このノードは、シミュレーションモードで実行した場合、ハードウェア上で実行した場合と比較して、未定義の異なる値を返す可能性があります。 |

入力準備完了
このノードが新しい入力データを受信できる状態かを示すブール値です。
フィードバックノードを使用して、この出力を先行ノードの出力準備可能出力に配線します。
| True | このノードが新しい入力データを受信できる状態です。 |
| False | このノードが新しい入力データを受信できる状態ではありません。 |