Forum: FPGA, VHDL & Co. Programmierung eines Zustandsautomaten


von MARK (Gast)


Lesenswert?

Hallo...

Was ist die beste Methode zur Programmierung eines Zustandsautomaten?
Ich meine die beste im Sinne von, zur Realisierung möglichst hoher 
Taktraten.
In den Bücher stehen immer Ein-Prozess, Mehrprozess-Lösungen.

Kann man allgemein fest halten, welche am schnellsten ist?

Viele Grüße MARK

von Jan M. (mueschel)


Lesenswert?

Ob ein, zwei oder noch mehr Prozesse ist der Synthese ziemlich egal. Ich 
bevorzuge zwei Prozesse, das finde ich am uebersichtlichsten.
Viel mehr kommt es auf guten Programmierstil an, keine Zuweisungen mit 
zu vielen Eingangssignalen, wenn noetig Pipelines ueber mehrere Takte 
bauen, etc.

von Jürgen Schuhmacher (Gast)


Lesenswert?

Der Zustandsautomat läuft sowieo clockweise ab - das pipelining bezieht 
sich auf die "zuliefernden Informationen". Klar ist, daß ein Schirtt 
erst dann ausgeführt werden kann, wann die Ausgänge der Kombinatorik aus 
Sichtweise der Synthese "fertig" sind. Wenn diese Ausgänge nun von 
anderen Zuständen abhängen, begrentz dies die maximale Geschwindgikeit. 
Da der Rest im FPPGA aber auch unter diese Randbedingung "leidet" und 
dort sich definitiv solche inneren abhängikeiten ergben, ist die FSM 
wohl kaum der leistungsbegrentende Faktor, es sei denn die Signale, die 
aus ihren Zuständen erzeugt werden, sind derart verschtelt, daß die 
resultierenden MUX komplex werden. Dann bietet sich die "one hot " 
codierung an, sodaß jeder Zustand sein eigenes Signal besitzt und nicht 
noch ein aufwändiger Decoder gebaut werden muss.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.