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).

1378

Ein-/Ausgänge

datatype_icon

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:

  1. 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.
  2. 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).
  3. Da M im gültigen Bereich [1/e, 1) liegt, verwenden Sie diesen Knoten, um ln(M) zu berechnen.
Hinweis Wenn Sie das Binärkomma nach rechts verschieben, ist E der negative Wert der Anzahl, wie oft der Punkt verschoben wurde. Wenn Sie z. B. das Binärkomma um drei Stellen nach rechts verschieben, beträgt E -3.

Um x in M umzuwandeln, wird eine binäre Verschiebung empfohlen, da dies weniger FPGA-Ressourcen erfordert als eine Divisionsoperation.

datatype_icon

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.
datatype_icon

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

datatype_icon

ln(x)

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

datatype_icon

undefiniert

Ein boolescher Wert, der angibt, ob ln(x) undefiniert ist.

TRUE ln(x)ist undefiniert.
FALSE ln(x)ist nicht undefiniert.
datatype_icon

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.
datatype_icon

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.
Hinweis Wenn der Ausgang während einer Taktperiode "False" ausgibt, verwirft der Knoten in der nachfolgenden Taktperiode die von anderen Knoten gesendeten Daten. Das gilt auch, wenn Eingabe gültig bei der nachfolgenden Taktperiode auf "True" wechselt.