Akkumulator (ohne Vorzeichen)

Kumuliert oder dekrementiert x. Dieser Knoten unterstützt Mehrkanal-Operationen und Feedback-Skalierung.

Dieser Knoten unterstützt nur boolesche Arrays und skalare Werte mit Integer- und Festkomma-Datentypen.

1378

Ein-/Ausgänge

datatype_icon

x

Daten, die zum Wert von Summe addiert oder von ihm subtrahiert werden sollen. Wenn xein boolesches Array fester Größe ist, ist das erste Array-Element das niederwertigste Bit (LSB) und das letzte Element das höchstwertige Bit (MSB).

Bei Anwendungen mit mehreren Kanälen werden die Daten verschachtelt und ein Element pro Taktperiode mit x verbunden.
datatype_icon

Sub?

Ein boolescher Wert, mit dem festgelegt wird, ob eine Subtraktion oder eine Addition ausgeführt werden soll. Verwenden Sie diese Eingabe, um den Vorgang programmgesteuert zu ändern.

TRUE Berechnet sum - x.
FALSE Berechnet sum + x.

Default value: FALSE

datatype_icon

Laden

Ein boolescher Wert, der angibt, ob eine neue Summierung von 0 begonnen wird.

TRUE Ignoriert alle vorherigen Werte von Summe und beginnt eine neue Summierung durch das Laden des Werts von x.
FALSE Fährt mit der Summierung vorangegangener Ausführungen fort.

Default value: FALSE

Neustart der Summierung von einem bestimmten Kanal

In Anwendungen mit mehreren Kanälen betrifft diese Eingabe den Kanal, dessen Daten während der Taktperiode an x eintreffen, wenn sich Laden ändert. Wenn Sie z. B. Daten von zwei Kanälen acht Taktperioden lang kumulieren, empfängt x Daten von Kanal 1 während der ersten, der fünften und der siebenten Taktperiode. Um die Summierung für Kanal 1 zu starten, legen Sie während dieser Taktperioden Laden auf "True" fest. Die Summierung von Kanal 2 bleibt unverändert.

datatype_icon

Aktivieren

Ein boolescher Wert, der angibt, ob die Operation auf den Wert von x angwendet wird. Verwenden Sie diese Eingabe nur für gültige Werte von x. Sie können z. B. den Ausgang Ausgabe gültig eines Knotens für Rechenoperationen mit hohem Datendurchsatz mit diesem Eingang verbinden, um sicherzustellen, dass der Akkumulator nur den Betrieb aufnimmt, wenn der vorgelagerte Knoten ein gültiges Ergebnis hat.

TRUE Kumuliert den aktuellen Betrag von x.
FALSE Ignoriert x und ändert nicht die Summe.

Default value: TRUE

Ignorieren der Werte von einem bestimmten Kanal

In Anwendungen mit mehreren Kanälen betrifft diese Eingabe den Kanal, dessen Daten während der Taktperiode an x eintreffen, wenn sich Aktivieren ändert. Wenn Sie z. B. Daten von zwei Kanälen acht Taktperioden lang kumulieren, empfängt x Daten von Kanal 1 während der ersten, der fünften und der siebenten Taktperiode. Um nur den zweiten Wert von Kanal 1 zu ignorieren, setzen Sie Aktivieren während der dritten Taktperiode auf FALSE und während der fünften Taktperiode wieder auf TRUE. Die Summierung von Kanal 2 bleibt unverändert.

datatype_icon

Übertrag (Eingang)

Ein boolescher Wert, mit dem festgelegt wird, ob Akkumulator ein zusätzliches niedrigstwertiges Bit (LSB) beim Berechnen der Summe berücksichtigt.

Das LSB könnte beispielsweise vom Bit-Muster des Ausgangs Übertrag (Ausgang) eines nachgelagerten Akkumulator-Knotens stammen.
TRUE

Sub? ist ebenfalls "True"—Berechnet Summe - x.

Sub? ist "False"—Berechnet Summe + x + 1(LSB).

FALSE

Sub? ist "True"—Berechnet Summe - x - 1(LSB).

Sub? ist ebenfalls "False"—Berechnet Summe + x.

datatype_icon

Summe

Ergebnis, das dieser Knoten berechnet.

Das Ergebnis hängt nicht allein vom Wert in x ab, sondern auch von den Werten aller booleschen Eingaben in den Knoten, beispielsweise Laden und Aktivieren. Im Mehrkanal-Anwendungen wird Summe für jeden Kanal separat kumuliert.

Diese Funktion wendet in den folgenden Situationen den Umbruch-Überlaufmodus auf Summe an:

  • Sub? ist TRUE und Übertrag (Ausgang) gibt FALSE aus.
  • Sub? ist FALSE und Übertrag (Ausgang) gibt TRUE aus.
datatype_icon

Übertrag (Ausgang)

Ein boolescher Wert, der angibt, ob der Datentyp der Summe nicht das Ergebnis einer vorzeichenlosen Additionsoperation oder einer vorzeichenlosen Subtraktionsoperation darstellen kann.

TRUE Der Datentyp von Summe kann nicht das Ergebnis einer vorzeichenlosen Additionsoperation darstellen.
FALSE Der Datentyp von Summe kann nicht das Ergebnis einer vorzeichenlosen Subtraktionsoperation darstellen. In diesem Fall schneidet der Knoten den Wert in Summe ab.

Herunterskalierung von Rückkopplungen

Gibt die Anzahl der Bits an, um die dieser Knoten das Bitmuster der Ausgabe vor dem Kumulieren/Dekrementieren der Ausgabe um x nach rechts verschiebt.

Kanäle

Gibt die Anzahl der Datenkanäle an, an denen dieser Knoten arbeitet.

Dieser Knoten speichert Daten von separaten Kanälen in separaten internen Registern. Wenn Sie mehr als 1 Kanal angeben, müssen Sie die Werte verschachteln, die Sie an X übertragen. Der Standardwert ist 1 Kanal.

Übertrag (Ausgang) registrieren

Gibt an, ob dieser Knoten vor Übertrag (Ausgang) ein internes Register einfügt. Dieser Knoten gibt standardmäßig das Ergebnis Übertrag (Ausgang) eine Taktperiode vor dem Wert von Summe aus. Um den Wert von Übertrag (Ausgang) während derselben Taktperiode wie den Wert von Summe auszugeben, aktivieren Sie die Option.

Examples

In der folgenden Tabelle sehen Sie ein Beispiel dafür, wie dieser Knoten Summe + x in einer Anwendung berechnet, die Interleave-Daten aus zwei Kanälen kumuliert.

Taktperiode Eingang "x" Erläuterung von "x" Ausgang "Summe" Erläuterung von "Summe"
1 6 Kanal 1, Sample 1 - Akkumulator gibt während der ersten Taktperiode keine Summe aus, da eine Taktperiode für die Ausführung benötigt wird.
2 8 Kanal 2, Sample 1 6 (die Summierung von Kanal 1) Obwohl x Daten von Kanal 2 empfängt, gibt Summe die Berechnung der während der ersten Taktperiode von Kanal 1 empfangenen Daten aus. Während der ersten Periode betrug die Summe 0 und x war 6, so dass der Knoten 6 ausgibt.
3 44 Kanal 1, Sample 2 8 (die Summierung von Kanal 2) Obwohl x Daten von Kanal 1 empfängt, gibt Summe die Berechnung der während der 2. Taktperiode von Kanal 2 empfangenen Daten aus. Während der zweiten Periode betrug die Summe für den zweiten Kanal 0 und für x 6, so dass der Knoten 8 ausgibt.
4 5 Kanal 2, Sample 2 50 (die Summierung von Kanal 1) 6 (Summe von Taktperiode 2) + 44 (x von Taktperiode 3)
5 2 Kanal 1, Sample 3 13 (die Summierung von Kanal 2) 8 (Summe von Taktperiode 3) + 5 (x von Taktperiode 4)
6 3 Kanal 2, Sample 3 52 (die Summierung von Kanal 1) 50 (Summe von Taktperiode 4) + 2 (x von Taktperiode 5)
7 - Es gibt keine weiteren Daten von Kanal 1. 16 (die Summierung von Kanal 2) 13 (Summe von Taktperiode 5) + 3 (x von Taktperiode 6)

Zurücksetzen der Summierung

Setzen Sie den Eingang Laden auf TRUE, um eine neue Summierung zu beginnen. Setzen Sie dann Laden auf FALSE zurück für die Zeitdauer, während der Summe Werte kumulieren soll.

Daten aus mehreren Kanälen

Zwei Faktoren bestimmen, wie der Knoten Daten aus mehreren Kanälen verarbeitet:

  • Der Knoten benötigt immer eine Periode zum Berechnen einer Summe.
  • Dieser Knoten verwahrt für jeden Kanal separate interne Werte für Summe.

Bei einem Interleave-Datensatz aus zwei Kanälen bedeutet dieses Verhalten, dass während einer Periode, bei der x von Kanal 1 ist, der Knoten einen Summe-Wert für Kanal 2 ausgibt. Ein ausführliches Beispiel für dieses Verhalten finden Sie auf der Registerkarte Beispiele für diesen Knoten.

Borgen von Werten in nachgelagerten Akkumulator-Knoten

Wenn Sie Instanzen dieses Knotens kaskadieren, legen Sie fest, ob ein nachgelagerter Knoten einen Wert trägt oder borgt. Um festzulegen, dass ein nachgelagerter Knoten den Wert verwendet, verbinden Sie Übertrag (Ausgang) mit dem Ausgang Übertrag (Eingang) des nachgelagerten Akkumulator-Knotens.

Um den Wert von Übertrag (Ausgang) während derselben Taktperiode wie den Wert von Summe auszugeben, aktivieren Sie die Option Übertrag (Ausgang) registrieren. Diese Funktion ist nützlich wenn Sie Akkumulator-Knoten kaskadieren und keine Verzögerung zwischen dem Ausgang Übertrag (Ausgang) eines Knotens und dem Eingang Übertrag (Eingang) des nachgelagerten Knotens möchten. In der Standardeinstellung ist diese Option nicht aktiviert und der Knoten gibt das Übertrag (Ausgang)-Ergebnis eine Taktperiode vor dem Wert der Summe aus.

Leistungsbeeinträchtigung bei der Simulation

Dieser Knoten kann die Simulationslaufzeit erheblich erhöhen, wenn die Ausführung zeitgleich mit dem Herunterladen, Anhalten oder Ausführen des FPGA-VIs stattfindet.