LabVIEWForum.de - Arrays oder Cluster zum Transport in SubVI ?

LabVIEWForum.de

Normale Version: Arrays oder Cluster zum Transport in SubVI ?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich benutze eine SUBVI in einer Timed Loop.

Zur SubVI müssen mehrere gleichartige Daten "transportiert" werden.

Dafür ist meiner Meinung nach am besten ein Array geeignet.
Die Daten liegen in Form einzelner "Verbindungsleitungen" vor.


Der Vorteil eines Clusters wäre, dass man jeweils die Funktionen
index array und replace array subset zum Entpacken/Verpacken spart.

Ich hätte nun gerne gewusst, welche Variante günstiger ist ?!?

Die Cluster - Variante lässt sich mit der bundle/unbundle Methode zumindest übersichtlicher implementieren.
Ich befürchte allerdings, dass ein Cluster wesentlich mehr logische Einheiten auf den FPGA verbraucht.

Hat jemand Erfahrungen damit ?


MfG
' schrieb:Hallo,

ich benutze eine SUBVI in einer Timed Loop.

Zur SubVI müssen mehrere gleichartige Daten "transportiert" werden.

Dafür ist meiner Meinung nach am besten ein Array geeignet.
Die Daten liegen in Form einzelner "Verbindungsleitungen" vor.
Der Vorteil eines Clusters wäre, dass man jeweils die Funktionen
index array und replace array subset zum Entpacken/Verpacken spart.

Ich hätte nun gerne gewusst, welche Variante günstiger ist ?!?

Die Cluster - Variante lässt sich mit der bundle/unbundle Methode zumindest übersichtlicher implementieren.
Ich befürchte allerdings, dass ein Cluster wesentlich mehr logische Einheiten auf den FPGA verbraucht.

Hat jemand Erfahrungen damit ?
MfG


Erstmal würde ich sagen: nimm das Array! aber das ist auch nur eine Vermutung! Wenn du ein Cluster an ein VI übergibst, muss das VI doch die Struktur des Clusters kennen oder? also ein Cluster vom typ double gibt es in dem sinne ja nicht. du müsstest also vorher wissen, wie viele elemente im cluster sind. oder du übergibst eben ein array von doubleclustern. das wäre aber dann irgendwie ungeschickt. da kannste ja auch direkt ein array von doubles nehmen.

(meine spontanen gedanken dazu)
' schrieb:Hallo,

ich benutze eine SUBVI in einer Timed Loop.

Zur SubVI müssen mehrere gleichartige Daten "transportiert" werden.

Dafür ist meiner Meinung nach am besten ein Array geeignet.
Die Daten liegen in Form einzelner "Verbindungsleitungen" vor.
Der Vorteil eines Clusters wäre, dass man jeweils die Funktionen
index array und replace array subset zum Entpacken/Verpacken spart.

Ich hätte nun gerne gewusst, welche Variante günstiger ist ?!?

Die Cluster - Variante lässt sich mit der bundle/unbundle Methode zumindest übersichtlicher implementieren.
Ich befürchte allerdings, dass ein Cluster wesentlich mehr logische Einheiten auf den FPGA verbraucht.

Hat jemand Erfahrungen damit ?
MfG

Arrays sind in FPGA relativ kostbar. In dieser Hinsicht sind Clusters eindeutig vorzuziehen. Der Unterschied ist das Arrays grundsätzlich Variablesized (wenn auf FPGA auch meist als Fixed size implementiert) sind. Cluster sind immer zur Kompilierzeit schon in ihrer Grösse festgelegt also wesentlich besser in Hardware zu implementieren.

Rolf Kalbermatter
' schrieb:Arrays sind in FPGA relativ kostbar. In dieser Hinsicht sind Clusters eindeutig vorzuziehen. Der Unterschied ist das Arrays grundsätzlich Variablesized (wenn auf FPGA auch meist als Fixed size implementiert) sind. Cluster sind immer zur Kompilierzeit schon in ihrer Grösse festgelegt also wesentlich besser in Hardware zu implementieren.

Rolf Kalbermatter

Vielen Dank für die Antworten.

Ich benutze nun Cluster.
Ich muss 40 Fifos in der SUBVI parallel mit Daten füllen.

Es sieht zwar relativ komisch aus, wenn man jede Linie 40x zieht und im Cluster 40 Variablen hat, die sich nur durch die Nummer
unterscheiden, aber das scheint nicht anders zu funktionieren.
' schrieb:Vielen Dank für die Antworten.

Ich benutze nun Cluster.
Ich muss 40 Fifos in der SUBVI parallel mit Daten füllen.

Es sieht zwar relativ komisch aus, wenn man jede Linie 40x zieht und im Cluster 40 Variablen hat, die sich nur durch die Nummer
unterscheiden, aber das scheint nicht anders zu funktionieren.

Wenn Du wirklich 40 FIFO brauchst nicht. Aber es stellt sich natürlich die Frage ob Du da nicht ein prinzipiel schlechtes Applikationsdesign aufgestellt hast. Ich weiss nicht mal ob seperate 40 FIFOs in FPGA überhaupt möglich sind, aber selbst wenn wird das die Resourcen sehr strapazieren.

Rolf Kalbermatter
Referenz-URLs