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 

Simulation FPGA VI



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!

13.07.2009, 21:01
Beitrag #1

Werner Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jul 2009

8.6
-
de

43298
Deutschland
Simulation FPGA VI
Hallo,
ich versuche zur Zeit die Eingänge eines FPGA-VIs mit einem anderen "normalen" VI zu simulieren. Das funktioniert auch bisher recht gut. Doch nun habe ich seltsame Effekte bei der Simulation eines Ports. Der Port wird vom FPGA VI an zwei(!) verschiedenen Stellen ausgelesen. An einer Stelle werden die höherwertigen vier Bits verwendet und an anderer die niederwertigen. Über mein Simulations-VI sollen nun die beiden Nibble unabhängig voneinander hochgezählt werden. Wenn das Maximum erreicht ist soll wieder zum Minimum gesprungen werden usw.(In diesem Fall 0-7). Ich habe hier aber leider den Effekt, dass die beiden Werte, vor allem zu Beginn der Simulation, einen Wert überspringen. (Dies liegt wohl am Simulations VI, da man dort über globale Variablen schon den verlorenen Schritt sehen kann.) Dieser Fehler tritt seltsamerweise nicht auf, wenn ich den Port im FPGA VI nur einmal auslese. Das Simulations VI habe ich teilweise als Bild angehangen. Die wichtigsten Informationen müssten enthalten sein. Ich hoffe jemand kann mir einen Tipp geben.
Gruß
Werner


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.07.2009, 07:49
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Simulation FPGA VI
so wie das aussieht hast du dir eine astreine Race Condition gebautSmile

Versuch mal deinen Code so umzustricken dass du die Globalen Variablen durch eine While-Schleife und Schieberegister ersetzt, damit bekommst du so eine Race-Condition schnell wieder weg. Wenn du willst dass die While-Schleife nur einmal durchlaufen wird: einfach eine True-Konstante an das Conditional Terminal anklemmen (Stop if True)

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2009, 12:13
Beitrag #3

Werner Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jul 2009

8.6
-
de

43298
Deutschland
Simulation FPGA VI
Ich sehe (noch) nicht, dass es eine Race Condition ist. Nach meinem Verständnis wird doch jedes Mal, wenn das FPGA VI den Port lesen will, das Simulations VI aufgerufen und dort in die entsprechende Case Struktur gesprungen. Bei einer Race Condition braucht man doch zwei unabhängige Threads die auf eine Variable zugreifen. In diesem Fall wir nur in einem VI und somit nur in einem Thread die Variable gelesen, inkrementiert (wahlweise dekrementiert ) und dann wieder geschrieben. Oder wird für jedes Auslesen des Ports vom FPGA VI eine Instanz des Simulations VI erzeugt? Wenn dem so wäre, wüsste ich aber auch nicht wie eine while Schleife da helfen sollte, und vor allem wo ich diese hinbauen sollte. Würde ich sie in die innerste Case Struktur setzen und somit den bisherigen Algorithmus mit den globale Variablen ersetzen, würden mir die Schritte doch noch viel eher weglaufen, da die while-Schleife dann ja immer läuft und der Wert nicht nur pro Aufruf erhöht wird.
Generell ist mir der Simulationsvorgang noch nicht ganz klar. Kennt jemand eine gute (Online-)Hilfe, ein gutes Buch oder eine Quelle wo man Beispiele hierzu finden kann? Das Tutorial von LabVIEW ist zwar nicht schlecht aber viel zu kurz.
Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2009, 12:53
Beitrag #4

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Simulation FPGA VI
ist der Screen-Shot, den du da verlinkt hast ein Ausschnitt aus dem Simulations-VI?

ich würd mich nicht all zu sehr auf den Simulatur verlassen und stattdessen das VI in der Applikations-Instanz "mein Computer" laufen lassen und die IOs durch Controls/Indicators ersetzen ... da kannst auch die "Lampe" anmachen und sehen was passiert ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2009, 18:30
Beitrag #5

Werner Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jul 2009

8.6
-
de

43298
Deutschland
Simulation FPGA VI
Ja, das ist ein Ausschnitt aus dem Simulations VI.
Die "Lösung" die IOs durch Controls/Indicators zu ersetzen wird wohl eher eine meiner letzten sein. Eine Andere Applikation konfiguriert das FPGA über u.a. einen FIFO den müsste ich ja dann auch noch abändern. Es muss doch mit dem Simulator möglich sein...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2009, 06:45
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Simulation FPGA VI
' schrieb:Es muss doch mit dem Simulator möglich sein...

keine Ahnung. Ich benutz den nie - hab's mal probiert, hat nicht richtig funktioniert und seit dem verwende ich die Methode wie oben geschrieben. Den DMA-Teil kannst du mit eine Disable Struktur ausblenden, und ggf. separat auf dem cRIO testen. Wenn du wissen willst ob den FPGA-Code funktioniert ist es wirklich das einfachste du läßt das auf "mein Computer" laufen und machst die "Lampe" an ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2009, 09:46
Beitrag #7

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Simulation FPGA VI
naja, vielleicht schenkst du ja den Kollegen von LAVA mehr GlaubenWink

Crosspost: http://lavag.org/topic/10450-fpga-simulati...ort/#entry62185


Grüße
CB

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2009, 20:31
Beitrag #8

Werner Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jul 2009

8.6
-
de

43298
Deutschland
Simulation FPGA VI
Naja, man versucht halt so viele Meinungen wie möglich zu bekommen :-)
Mein komplettes Simulations VI und einen Workaround, der für mich akzeptabel ist, habe ich gerade da beschrieben.
Falls ich auf noch mehr Probleme mit der Simulation stoße, schwenke ich evtl. wirklich auf deine Lösung "mein Computer" um...
Danke für die Hilfe!!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.931 26.10.2015 20:41
Letzter Beitrag: Felix777
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 13.240 17.03.2015 16:58
Letzter Beitrag: LauraP.
  LabVIEW Simulation vom parallelen BF537 EZ-KIT LITE auswerten lassen HK123 0 3.646 16.10.2008 08:26
Letzter Beitrag: HK123

Gehe zu: