Mehrfacharithmetik
- Aktualisiert2025-03-14
- 3 Minute(n) Lesezeit
Führt arithmetische Operationen an numerischen Werten, Arrays, Clustern oder booleschen Werten aus. Zur Auswahl der mathematischen oder logischen Operation (Addieren, Multiplizieren, UND, ODER oder Exklusiv-ODER) klicken Sie die Funktion mit der rechten Maustaste an und wählen Sie aus dem Kontextmenü die Option Modus ändern aus. Bei Auswahl dieser Funktion auf der Palette "Numerisch" lautet der Standardmodus "Addieren". Bei Auswahl dieser Funktion auf der Palette "Boolesch" lautet der Standardmodus "ODER".
Die Standarddatentypen für diese polymorphe Funktion sind im Anschlussfeld dargestellt.

Ein-/Ausgänge
![]() 0..n-1 kann beispielsweise ein numerischer oder boolescher Wert, ein Array aus numerischen oder booleschen Werten, ein Cluster oder Cluster-Array sein. Ein Signalverlauf kann immer nur mit einem Wert-Eingang verbunden werden. Wenn an einem Eingang ein Signalverlauf anliegt, sind unendlich viele Skalareingänge unterschiedlicher Größe möglich. Wenn Wert ein Fehler-Cluster ist, wird nur der Status-Parameter des Fehler-Clusters an den Eingangsanschluss übergeben. ![]() ![]() Ergebnis ist das Ergebnis der ausgewählten Operation, die auf Wert 0..n-1 angewandt wurde. Bei Zahlen wird das Ergebnis bei logischen Operationen wie UND, ODER oder Exklusiv-ODER bitweise ausgegeben. Bei booleschen Werten werden logische Zustände ausgegeben. |
Zum Hinzufügen von Eingängen klicken Sie einen Eingang des Knotens mit der rechten Maustaste an und wählen Sie aus dem Kontextmenü die Option Eingang hinzufügen aus oder ziehen Sie die Funktion mit der Maus auf.
Um Ein- oder Ausgänge der Funktion zu invertieren, klicken Sie mit der rechten Maustaste auf die einzelnen Anschlüsse und wählen aus dem Kontextmenü die Option Invertieren aus. Beim Addieren wird mit Invertieren ein positives oder negatives Vorzeichen gesetzt. Bei der Multiplikation wird mit Invertieren der Kehrwert eines Eingangs- oder Ausgangswerts gebildet. Bei UND und Exklusiv-ODER wird mit Invertieren ein Integer-Eingang oder -Ausgang bitweise negiert oder eine Ein- oder Ausgabe logisch negiert.
Bei Exklusiv-ODER-Verknüpfungen von drei oder mehr Werten führt die Funktion zunächst eine Exklusiv-ODER-Verknüpfung der ersten beiden Wertepaare und anschließend des Ergebnisses und des nächsten Werts aus. Auf diese Art und Weise wird solange fortgefahren, bis alle Eingaben verarbeitet worden sind.
Details zum FPGA-Modul
Die folgenden Details gelten, wenn Sie dieses Objekt in einem FPGA-VI verwenden.
SCTL (Single-Cycle Timed Loop) | Unterstützt. |
Verwendung | Wenn Sie diese Funktion mit dem Fließkomma-Datentyp mit einfacher Genauigkeit verwenden, lesen Sie den Abschnitt Verwendung des Fließkomma-Datentyps mit einfacher Genauigkeit und Entscheidung Welcher Datentyp in FPGA-Entwürfen verwendet wird. Bei Verwendung in einem FPGA-VI kann die Funktion "Mehrfacharithmetik" andere Ergebnisse für Fließkommaoperationen ausgeben, da diese Funktion Operationen in einer anderen Reihenfolge ausführt als auf einem Host-Computer. |
Timing | Beim Einfügen in eine SCTL ist die Verzögerung logarithmisch proportional zur Anzahl der Eingänge. |
Ressourcen | Diese Funktion beansprucht FPGA-Ressourcen proportional zur Anzahl der Eingänge (N). Jede Operation erhält dedizierte Hardware und die Gesamtanzahl der Operationen ist immer N - 1. |