INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Probleme beim Compilieren im FPGA



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.10.2009, 18:48 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2009 23:06 von jg.)
Beitrag #1

PhilipDehm Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Sep 2009

8.6
2008
de

76149
Deutschland
Probleme beim Compilieren im FPGA
Hallo,

zur zeit bin ich gerade am compilieren eines LabVIEW Programmes zum Mitteln der Eingangsanalogwerte einer Anlage.

Nach mehrmaligem Herumprobieren habe ich immer noch keine Lösung gefunden. Beim Aufspielen auf den FPGA
taucht immer diese Meldung auf: Kein Error aber bei dieser Meldung bleibt das compilen stehen und geht auch nicht mehr weiter.

=========================================================================
* HDL Synthesis *
=========================================================================

Performing bidirectional port resolution...
INFO:Xst:2561 - Always blocking tristate driving signal <configd> in unit <toplevel_gen> is removed.

Weiss jemand woran das liegen könnte?

Gibt es vielleicht noch andere Möglichkeiten zur Mittelung der Eingangssignale die relativ einfach sind. Würde gerne 100-1000 Messwerte mitteln.
Ist evt. der Speicher auf dem FPGA zu beschränkt?

Schoneinmal Danke für die Hilfe im Vorraus.

Grüße

Philip

Lv86_img


Angehängte Datei(en)
Sonstige .vi  Eing_nge_einlesen.vi (Größe: 420,57 KB / Downloads: 274)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.10.2009, 11:44
Beitrag #2

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
Probleme beim Compilieren im FPGA
Also,

das ist ja schon relativ umfangreich... Folgendes würde ich mal zu bedenken geben, ohne zu wissen, ob das ganze wirklich Dein Problem löst:

- Wozu brauchst du die Fehlercluster und die Fehlerabfrage? Wenn die Fehlerkonstante sagt, dass Du keinen Fehler hast, wird der "Fehler-Fall" auch nie eintreten. Selbst wenn der Compiler das merken würde, ists immer noch einfach tierisch unübersichtlich

- Du machst extrem viele Fixkommaoperationen. Würde es nicht langen, diese vor dem allerletzten Schritt zu machen? Hätte auch den Vorteil, dass du keine Genauigkeitsverluste hast, die über ein 1LSB hinaus gehen... Mit der Quotient und Reminder Funktion kann das schon größer werden.

- Generell finde ich die Struktur merkwürdig - allerdings hab ich keine Ahnung, was Du für Anforderungen hast. Generell macht es m.E. wenig Sinn, die Mittelung nach jedem neuen Messwert durchzuführen (was im übrigen auch einfacher gehen würde, als immer das gesamte Array aufzuaddieren, in dem man nämlich einfach die Änderung des MIttelwerts durch den neuen Wert auf den bisherigen Mittelwert aufaddiert (also xQuerNeu = XQuerAlt + neuerWert/AnzahlWerteGesamt). Da die Schleife mit größer werdendem Array auch länger braucht, kommst Du irgendwann an den Punkt, wo nicht mehr dein LoopTimer die Datenrate regelt, sondern die Schleife...
Wenn Du Daten nicht direkt im FPGA für irgendwas brauchst, würde ich da nur Daten aufnehmen, per DMA an den Host übertragen udn Mittelungen etc. dort machen...

- Die beiden Timer für die Digital und Analog-Eingänge widersprecens ich. Weiß nicht, wie LabVIEW damit umgeht. Daher lieber zwei While-Schleifen für beide Funktionen

- Da Deine Mittelung für alle Kanäle gleich zu funktionieren scheint: Sub-VI bauen und alle nur in 1 Schleife packen. Wenn der Compiler gut ist, macht das zwar nix, aber ich bin mir nicht so ganz sicher, wie gut der compiler ist...Wink

Das fällt mir jetzt so auf Anhieb ein... Vielleicht hilft es ja, erstmal jede Funktionalität für einen Kanal zum Funktionieren zu bringen - beim FPGA sind die Chancen sehr hoch, dass eine parallele Vervielfältigung definitiv funktioniert.

Viel Erfolg,

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2009, 13:00
Beitrag #3

PhilipDehm Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Sep 2009

8.6
2008
de

76149
Deutschland
Probleme beim Compilieren im FPGA
Hallo,

danke erst einmal für die zahlreichen Tipps.

ich stimme Dir da absolut zu. Im Moment sieht das Programm sehr umfangreich aus. Die Mittelwertbildung wurde vorher von einer externen Firma gelöst, von der auch das ganze Hauptprogramm stammt. Ich möchte dabei nur einige Kleinigkeiten verbessern bzw. korriegieren. Ich habe das alte VI davon mal in den Anhang gehängt. -> VI "Eingänge lesen" - LabVIEW 8.6 . Hier wurde die Mittelwertbildung lediglich über 10 Messwerte realisiert. Auch immer wieder durch einfaches aufaddieren. War wohl die schnellste Möglichkeit. Dies war jedoch nicht ausreichend. Es sollen nun 100-1000 realisiert werden. Leider bin ich auch kein richtiger LabVIEW-Profi und habe daher bisehr noch nicht die passende Lösung für das Problem gefunden. Mit einem running average VI (auch im Anhang - LabVIEW 8.6) habe ich das zuletzt gesendete VI versucht aufzubauen, leider ohne Erfolg. Mir wurde ein Tipp gegeben die Werte über einen FIFO auszulesen um einen Überlauf des Speichers vom PC beim Compilieren auszuschliessen. Bei dieser Lösung stecke ich im Moment erst einmal fest. Vielleicht hast Du da noch einen Tipp für mich.

- Die Fehlercluster habe ich nur eingefügt um Fehler vom Compiler zu umgehen. Wirklich Sinn haben die natürlich nicht.

- Die FXP´s habe ich eingefügt um die roten Punkte (Datentypen-Fehler) zu umgehen. Teilweise sind sie jedoch nicht nötig wie Du schon erwähnt hast.

Wie könnte ich die Daten aus dem FPGA rausholen ohne dabei die Mittelwertbildung genau dort zu machen?

Sonstige .vi  Eing_nge_einlesen.vi (Größe: 373,67 KB / Downloads: 330)
- LabVIEW 8.6

Sonstige .vi  running_average.vi (Größe: 12,97 KB / Downloads: 288)
- LabVIEW 8.6
Vielen Dank schonmal für die Hilfe und Freundliche Grüße

Philip
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2009, 16:16
Beitrag #4

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
Probleme beim Compilieren im FPGA
Hi,

ich versteh' Dein Problem jetzt nicht so ganz... Wenn Du Daten im FPGA aufzeichnest und die auf dem Host mitteln willst, gibt es dafür eigentlich eine gute Lösung: einen DMA-FIFO. Wie man den anwendet, findest Du bei NI auf der Homepage. Einfach mal danach suchen.

Wenn Du auf dem FPGA mitteln willst, musst Du halt schauen, was Du brauchst. Wenn's ein Moving Average ist, gibt's von NI vielleicht auch schon irgendwo ein IP dafür oder Du überlegst es Dir selbst, wie man es möglichst geschickt löst... Wenn Geschwindigkeit ein Problem ist, könntest Du über Pipelining bzw. über geschickt platzierte Single Cycle Loops nachdenken...

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  FPGA Dateiformatproblem Multiplikationsprobleme beim übertragen von Messwerten yanik 9 11.542 22.03.2017 18:50
Letzter Beitrag: jg
  Fehler beim Öffnen eines Projekts von FPGA Modulen Annemike 2 6.796 29.04.2016 14:15
Letzter Beitrag: Annemike
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.992 26.10.2015 20:41
Letzter Beitrag: Felix777
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 13.336 17.03.2015 16:58
Letzter Beitrag: LauraP.
  Probleme beim erzeugen der Intermediate Files Boggy 3 5.457 29.03.2014 13:40
Letzter Beitrag: Boggy
  Probleme beim Sampeln von Daten und Ticks Dracotin 1 4.007 01.03.2013 19:32
Letzter Beitrag: GerdW

Gehe zu: