Natürlicher Logarithmus (hoher Durchsatz)
- Aktualisiert2023-02-17
- 4 Minute(n) Lesezeit
Natürlicher Logarithmus (hoher Durchsatz)
Berechnet den Logarithmus zur Basis e eines natürlichen Eingangswerts.
Wenn x 0 ist, ist, ln -
. Wenn x nicht komplex und kleiner als 0 ist, ist ln keine Zahl (NaN).
Ein-/Ausgänge

x
Ein Eingangswert für diese Operation. x muss im Bereich [1/e, 1) liegen und unsigniert sein. Die Integer-Wortlänge muss 0 Bit sein.
Dieser Eingang unterstützt nur Skalar-Werte mit einem Festkommadatentyp.
Berechnen von In(x), wenn x außerhalb des gültigen Bereichs liegt
Gehen Sie wie folgt vor, um ln(x) zu berechnen, wenn x sich außerhalb des Bereichs [1/e, 1) befindet:
- Verschieben Sie das Binärkomma von x, bis es sich direkt links neben dem ersten Bit von x befindet, das ungleich null ist. Die sich ergebende Anzahl M ist immer größer oder gleich 0,5, was sich im gültigen Bereich [1/e, 1) befindet.
- Berechnen Sie ln(M) + (E × ln(2)), wobei E die Anzahl der Stellen angibt, um die das Binärkomma nach links verschoben wurde. Das Ergebnis entspricht ln(x).
- Da M im gültigen Bereich [1/e, 1) liegt, verwenden Sie diesen Knoten, um ln(M) zu berechnen.
Um x in M umzuwandeln, wird eine binäre Verschiebung empfohlen, da dies weniger FPGA-Ressourcen erfordert als eine Divisionsoperation.

Eingabe gültig
Boolescher Wert, mit dem festgelegt wird, ober der nächste Datenpunkt gültig ist und verarbeitet werden kann.
Verbinden Sie Ausgabe gültig eines vorgelagerten Knotens mit diesem Eingang, um Daten von dem vorgelagerten Knoten an diesen Knoten zu übertragen.
| True | Der Datenpunkt ist gültig und kann verarbeitet werden. |
| False | Der Datenpunkt ist nicht gültig. |

Für Ausgabe bereit
Boolescher Wert, der anzeigt, ob nachgelagerte Knoten für einen neuen Ausgabewert von diesem Knoten bereit sind.
Verbinden Sie diesen Eingang über Rückkopplungsknoten mit dem Eingang Für Eingabe bereit eines nachgelagerten Knotens. Wenn dieser Eingang während eines Ausführungsintervalls "False" ist, gibt Ausgabe gültig für dieses Intervall "False" aus.
| True | Der nachgelagerte Knoten ist für das nächste Datenelement bereit. |
| False | Der nachgelagerte Knoten ist noch nicht für das nächste Datenelement bereit. |
Default value: False

ln(x)
Natürlicher Logarithmus von x. Wennx sich außerhalb des Bereichs [1/e, 1) befindet, ist ln(x) undefiniert.

undefiniert
Ein boolescher Wert, der angibt, ob ln(x) undefiniert ist.
| TRUE | ln(x)ist undefiniert. |
| FALSE | ln(x)ist nicht undefiniert. |

Ausgabe gültig
Boolescher Wert, der angibt, ob dieser Knoten ein Ergebnis berechnet hat, das von nachgelagerten Knoten verwendet werden kann.
Verbinden Sie diesen Ausgang mit dem Eingang Eingabe gültig eines nachgelagerten Knotens, um Daten vom Knoten an den nachgelagerten Knoten zu übertragen.
| True | Nachgelagerte Knoten können das Ergebnis verwenden, das dieser Knoten berechnet. |
| False | Dieser Knoten gibt einen undefinierten Wert aus, der für nachgelagerte Knoten unbrauchbar ist. Hinweis Die ausgegebenen undefinierten Werte können im Simulationsmodus und auf der Hardware unterschiedlich sein. |

Für Eingabe bereit
Boolescher Wert, der anzeigt, ob dieser Knoten für neue Eingangsdaten bereit ist.
Verbinden Sie diesen Ausgang über Rückkopplungsknoten mit dem Ausgang Für Ausgabe bereit eines vorgelagerten Knotens.
| True | Der Knoten ist bereit, neue Eingangsdaten anzunehmen. |
| False | Der Knoten kann keine neuen Eingangsdaten annehmen. |