State Machine: undefinierter Zustand.

Gast #766011
Lesenswert?

moin!

ich bins wieder. :)

Habe so ne schöne state-machine in vhdl geschrieben, die die Daten aus 
einem FIFO ausliest und die an Uart weiterschickt... Das Problem ist 
jetzt nur, das das Signal zum Auslesen in der Simulation irgendwie 
'undefined' bleibt..

Ich sehe meinen Fehler nicht. Kann mir jemand vielleicht helfen?
Angehängte Dateien:
#766202
Lesenswert?

ich hab den Fehler gefunden und jetzt geht!
und zwar habe ich in der Testbench ein OUT-Signal gleich 1 gesetzt. Und 
genau dieses war undefiniert.

P.S.: ich finde die state machines mit variablen viel einfacher... 
obwohl, muss ich zugeben, habe noch in keinem Buch sowas gesehen.
#766214
Lesenswert?

@ E. P. (metallman)

>P.S.: ich finde die state machines mit variablen viel einfacher...

Was ist daran bitte einfacher ? Der Unterschied im Aufwand ist Null, 
denn ob ich schreibe signal xyz oder variable xyz ist eagl. Im Synthese- 
und Simulationsegebins kann man sich mit Variablen aber fix ins Knie 
schiessen. Aber das ist wohl unausrottbar, wie UARTs mit RC-oszillator . 
. . :-(

MFG
Falk
#766257
Lesenswert?

@  Falk Brunner (falk)

Naja.. ich bin ein VHDL-Anfänger, und kenne noch nicht alle Probleme und 
Tricks zum lösen... für mich war bisher die Verwendung von Variablen  in 
meinen State Machines auf jedem Fall übersichtlicher. Wahrscheinlich 
kommt es auch drauf an, was man damit implementiert...
Gast #766381
Lesenswert?

Um es mal kraß zu sagen: Variablen sind nur zur Simulation. Sie bilden 
ein Programmiermodell nach welches im FPGA nicht umgesetzt werden kann.

Für Experten kann man das dann abschwächen. Dazu muss man sich aber gut 
auskennen was der Synthesizer aus Variablen macht. Wenn man das nicht 
weiß, dann gehts ganz schnell schief und du sitzt ewig dran einen Fehler 
zu suchen der sich über deinem (Anfänger-)Wissen bewegt (ist nicht bös 
gemeint, ich will dir nur klar machen worauf du dich einläßt).
Gast #766536
Lesenswert?

Normalerweise muss man sich nur paar Grundregeln in bezug auf Variablen 
merken, damit sie ihren "Schrecken" verlieren. Ich benutze sie trotzdem 
äusserst selten, hab hier ein Projekt mit bestimmt mehreren 10tausend 
Codezeilen und glaube nur 2 mal Variablen benutzt. Und da auch nur, um 
einen etwas komplexeren mathematischen Ausdruck in einem Takt berechnen 
zu können.
#767023
Lesenswert?

alles klar...

ich habe nun alle Variablen durch signale ersetzt. Die Folge war, dass 
ich keine Warrnungen mehr bei der Synthese bekamm! Dass ist 
wahrscheinlich seehr gut...
 Die Simulation funktioniert genauso einwandsfrei, wie vorher.   (also 
wohl kaum unterschied zwischen variablen und signalen).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren