18.07.2019, 08:49
Hallo LabVIEW-Forum,
meine Frage betrifft die Benutzung der "High Throughput Divide" Funktion innerhalb einer "Single Cycle Timed Loop" auf FPGA-Ebene.
Dazu habe ich mal ein Test-Vi programmiert, welches eins zu eins mein Problem wiederspiegelt, welches ich auch bei der Ausführung auf dem FPGA bekomme.
Das VI und ein Bild dazu findet ihr im Anhang.
Mein Ziel ist es beim Wählen des Divide-States, eine Division durchführen zulassen und ein valides Ergebnis zu bekommen.
Meine Problematik ist, dass das irgendwie nur beim ersten Mal klappt, nachdem ich das Programm gestartet habe. Sobald ich wieder eine Division durchführen möchte,
wird das Ergebnis der Division immer um eine Ausführung versetzt angezeigt. Warum?
Hier mal ein konkretes Beispiel:
1. Ausführung: 1/1000 = 0,001
2. Ausführung: 1/2000 = 0,001 <--- altes Ergebnis. Hier sollte 0,0005 stehen.
3. Ausführung: 1/3000 = 0,0005
4. Ausführung: 1/4000 = 0,0003333
Noch als kurze Anmerkung: Die Case-Struktur darf nicht weggelassen werden, da im Original-VI innerhalb der SCTL auf dem FPGA die Berechnung nicht sofort durchgeführt werden soll, sondern erst bei einer bestimmten Startbedinung.
Über Hilfe und Rat wäre ich dankbar!
Krimo
meine Frage betrifft die Benutzung der "High Throughput Divide" Funktion innerhalb einer "Single Cycle Timed Loop" auf FPGA-Ebene.
Dazu habe ich mal ein Test-Vi programmiert, welches eins zu eins mein Problem wiederspiegelt, welches ich auch bei der Ausführung auf dem FPGA bekomme.
Das VI und ein Bild dazu findet ihr im Anhang.
Mein Ziel ist es beim Wählen des Divide-States, eine Division durchführen zulassen und ein valides Ergebnis zu bekommen.
Meine Problematik ist, dass das irgendwie nur beim ersten Mal klappt, nachdem ich das Programm gestartet habe. Sobald ich wieder eine Division durchführen möchte,
wird das Ergebnis der Division immer um eine Ausführung versetzt angezeigt. Warum?
Hier mal ein konkretes Beispiel:
1. Ausführung: 1/1000 = 0,001
2. Ausführung: 1/2000 = 0,001 <--- altes Ergebnis. Hier sollte 0,0005 stehen.
3. Ausführung: 1/3000 = 0,0005
4. Ausführung: 1/4000 = 0,0003333
Noch als kurze Anmerkung: Die Case-Struktur darf nicht weggelassen werden, da im Original-VI innerhalb der SCTL auf dem FPGA die Berechnung nicht sofort durchgeführt werden soll, sondern erst bei einer bestimmten Startbedinung.
Über Hilfe und Rat wäre ich dankbar!
Krimo