Forum: FPGA, VHDL & Co. Erklärung Moore-Automat


von Hans L. (holzwurm56)


Lesenswert?

Hallo,
das Verständnis des Moore-Automaten ist wohl eine Grundvoraussetzung um 
in die digitale Logik einzuzsteigen. Die Beschreibungen die ich im www 
gefunden habe, habe ich leider nicht kapiert. Kennt jemand eine 
Erklärung des M-A die auch ein absoluter Anfänger verstehen kann?

Vielen Dank für jede Antwort

Hans

von Falk B. (falk)


Lesenswert?

@ Hans Lang (holzwurm56)

>in die digitale Logik einzuzsteigen. Die Beschreibungen die ich im www
>gefunden habe, habe ich leider nicht kapiert.

Welche denn?

> Kennt jemand eine
>Erklärung des M-A die auch ein absoluter Anfänger verstehen kann?

https://de.wikipedia.org/wiki/Moore-Automat

https://upload.wikimedia.org/wikipedia/commons/b/b6/Moore-Automat-de.svg

Das Übergangsnetzzwerk bzw. das Ausgangsnetzwerk sind einfache Dekoder 
bzw. Tabellen. D.h. mit einem Bitvektor aus n Bits wird die Zeile der 
Tabelle (Speicher) angesprochen und der dazugehörige Speicherinhalt 
ausgegeben. Als einfaches Beispiel für das Ausgangsnetzwerk kann man 
sich einen Binär auf 7-Segment Dekoder vorstellen, welcher 4 Bit am 
Eingang in 7 Bit am Ausgang umwandelt. In jeder der 16 Zeilen sind die 
Bitmuster der Zahlen 0-9 bzw. A-F abgelegt.
Das Übergangsnetzzwerk bestimmt, wie sich der endliche Automat verhalten 
soll. Sprich, unter welchen Bedingungen (Eingabevekor mit m Bits) geht 
der Automat in welche verschiedenen Zustände über. Al einfaches Beispiel 
kann man sich einen 3 Bit Zähler vorstellen, welcher mittels eines 
einzigen EIngangsbits vorwärts oder rückwärts zählen kann. Sprich, wenn 
der Steuereingang 1 ist wird vorwärts gezählt, bei 0 logischerweise 
rückwärts. Wie man auf dem Bild erkennt, ist die Eingangsbitbreite des 
Übergangsnetzzwerks gleich der der Zustandsbitbreite + 
Eingangs(Steuerungs)bitbreite. Der Ausgang ist immer gleich der 
Zustandsbitbreite. Der Ausgangsvektor des Ausgangsnetzwerks kann 
beliebig breit sein.

Der Automat arbeitet getaktet, d.h. mittels eines Digitaltaktes wird mit 
jeder aktiven Flanke ein neu berechneter Zustandscode Qn+1 aus dem 
Übergangsnetzzwerk gespeichert, der alte Code Qn geht damit verloren. 
Mit dem neuen Zustandscode wird ein neuer Ausgangscode und auch ein 
neuer Zustandscode unter Berücksichtung des Eingabevektors berechnet.

Ist das besser verständlich?

von C. A. Rotwang (Gast)


Lesenswert?

Hans L. schrieb:
> Hallo,
> das Verständnis des Moore-Automaten ist wohl eine Grundvoraussetzung um
> in die digitale Logik einzuzsteigen. Die Beschreibungen die ich im www
> gefunden habe, habe ich leider nicht kapiert. Kennt jemand eine
> Erklärung des M-A die auch ein absoluter Anfänger verstehen kann?


Moore ist wie Mealy nur eine möglichkeit einen Zustandsautomaten zu 
codieren. Also versuch zuerst Zustandsautomat (neudeutsch - FSM - Finite 
Stae machine) zu verstehen, dann klappt das auch mit dem Moore. 
Beispielsweise mit diesem lehrtext:
http://users.etech.haw-hamburg.de/users/schwarz/En/Lecture/DI/Notes/DI_15.pdf

Sowas gehört eigentlich seit den Achtzigern zum Grundprogramm der 
Ausbildung in Digitaltechnik - da sollte sich auch was in den Klassikern 
Seifart oder Tietze/Schenk finden lassen.

von C. A. Rotwang (Gast)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Hans L. schrieb:
> Kennt jemand eine Erklärung des M-A die auch ein absoluter Anfänger
> verstehen kann?
Abseits der Automatentheorie eine ziemlich frontale Betrachtung:
Jedes synchrone FPGA Design funktioniert so: da kommt ein Taktiimpuls, 
der die an den Flipflops anliegenden Zustände übernimmt.  Danach 
herrscht Hektik im FPGA, bis über die Logik die neuen Zustände ermittelt 
sind. Und diese werden dann durch den nächsten Taktimpuls wieder 
übernommen. Usw....
Das war eigentlich alles, was sich auf der Hardware abspielt.

Und bei einem Moore-Automaten werden einfach nur die Flipflops direkt an 
die Ausgänge abgebildet.

von MagIO (Gast)


Lesenswert?

Ich denke mal ein Forum ist denkbar ungeeignet, um solche allgemeinen 
Verständnissfragen aufzulösen. Wie ja hier schon mehrfach verlinkt, 
helfen dabei andere Artikel eher weiter, die dann vielleicht Sprachlich 
oder vom Vorwissen besser zum Leser passen.

Wenn es dann immer noch nicht klappt mit dem Verständnis, dann ist es 
hilfreicher hier im Forum konkrete Fragen zu stellen und sich dem 
Verständniss dann in kleinen Schritten zu nähern.
Es hilft, sich dabei auf einen Artikel zu beziehen, damit beide Seiten 
einen Bezugspunkt haben.

Was mich etwas stutzig macht ist die Aussage:
"...Grundvoraussetzung um in die digitale Logik einzuzsteigen."

Bist du sicher, dass du schon so weit bist? Immerhin hast du ja erkannt, 
dass es Grundlagen braucht, aber die Grundlagen von digitaler Logik 
fangen etwas früher an.
Da braucht es erst mal boolsche Algebra & die Grundgatter, dann kommt 
der Übergang zu synchroner Logik und dann kommt erst sowas wie 
Zustandsautomaten.
Das wäre dann die Reihenfolge für den Einstieg.

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.