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

Eine eigene Frage? Dieser Thread ist über 3 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.