Automatgraph

Gast #7335780
Lesenswert?

khedira55 schrieb:

kann mir Jemand erklären in dem angezeigten Automatgraph bei der Erkennung von 11010, wieso springt er von 011 zu 000,wenn eine 0 ist, und von 100 zu 010, wenn eine 1 ist

Du verwechselst Zustandscodierung mit Eingangsalphabet. In der bubble steht der Name (state_name) resp der Code des Zustandes. Der Name des Zustands muss nicht unbedingt etwas mit seiner Funktion/Ausgangscodsierung zu tun haben.

https://vhdlguide.readthedocs.io/en/latest/vhdl/fsm.html

Ansonsten scheint die FSM eher die Zeitlichen Längen als die Werte aus zu werten. Eine '0' darf höchsten einen Takt lang sein, während eine '1' schon mal länger anliegen darf.

Gast #7335848
Lesenswert?

khedira55 schrieb:

wieso springt er von 011 zu 000,wenn eine 0 ist, und von 100 zu 010, wenn eine 1 ist

Das ist korrekt so. Im Zustand (011) hat die FSM bereits die Eingangsfolge "110" erkannt. Als nächstes muss eine "1" kommen. Kommt eine "0", so wurde die Eingangsfolge nicht erkannt und es geht von vorne los (Zustand (000)).

Wie schon jemand geschrieben hat: verwechsle nicht die Zustandcodierung mit der Eingangsfolge. Die Codierung des Zustands (also das Bitmuster im Kreis) ist für die Funktion der FSM völlig unwichtig. Besser hätte man sie erstmal A, B, C ... genannt. Später kann man sich überlegen, wie die Zustände so codiert werden, dass die Transiitionsfunktion möglichst einfach wird, aber das hat mit der eigentlich FSM nicht zu tun.

Gast #7335856
Lesenswert?

Btw, diese FSM akzeptiert nicht nur die Folge 11010 sondern eine ganze Klasse von Eingangsfolgen, nämlich alle, die auf 11{1}01{1{1}01}0 matchen. Die Klammern {} bedeuten dabei "null mal oder öfters".

Gast #7350944
Lesenswert?

wieso springt er von 011 zu 000,wenn eine 0 ist

Bekommt der Automat die Zeichenfolge 1100 so geht er auf Anfang, weil 00 im zu erkennenden Muster nicht vorkommt.

und von 100 zu 010, wenn eine 1 ist

Bekommt der Automat die Zeichenfolge 11011 so kann das letzte 11 der Beginn der Zeichenfolge 11010 sein.

Mit anderen Worten, der Automat erkennt die Zeichenfolge auch dann, wenn er nicht auf dem Startzustand steht, wenn die zu erkennende Zeichenfolge eingegeben wird.

Im übrigen ist der Automat ein sogenannter Speicherautomat. Das heißt, seine Zustandsvariablen sind auch seine Ausgangsvariablen.

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