Drei Zustände, drei Lichter
Eine einfache Ampel durchläuft zyklisch genau drei Zustände — Grün, Gelb, Rot — immer in derselben Reihenfolge, immer angetrieben von irgendeinem Zeitsignal. Da das An/Aus-Muster jedes Lichts nur davon abhängt, in welchem Zustand sich der Automat befindet, und nie von einem zusätzlichen Eingang, ist dies ein Lehrbuch-Moore-Automat.
Die Zustände codieren
Zwei Bits reichen für drei Zustände:
- Grün = 00, Gelb = 01, Rot = 10 (die vierte Kombination, 11, bleibt einfach ungenutzt) — gespeichert in einem 2-Bit-Register.
- Folgezustandslogik: Grün (00) → Gelb (01), Gelb (01) → Rot (10), Rot (10) → Grün (00) — drei Übergänge, direkt von den aktuellen Zustandsbits zurück in den Registereingang verdrahtet, durch einen kleinen Block aus Gattern oder einen PLM-Block, der genau mit dieser Wahrheitstabelle konfiguriert ist.
Ausgangslogik: vom Zustand zu den Lichtern
Jede der drei LEDs ist einfach eine Boolesche Funktion der beiden Zustandsbits — Grün = ¬S1·¬S0, Gelb = ¬S1·S0, Rot = S1·¬S0 — genau dieselbe One-Hot-Dekodierstruktur wie bei einem Dekoder, da die Ausgangslogik eines Moore-Automaten nichts weiter ist als kombinatorische Logik, die das Zustandsregister ausliest.
Probieren Sie es selbst
Bauen Sie das 2-Bit-Zustandsregister und die Folgezustandslogik im Schaltungseditor, takten Sie es mit einem langsamen CLOCK-Element und verdrahten Sie die drei Ausgangsgleichungen mit drei LED-Elementen — beobachten Sie, wie sie in einer Schleife Grün, Gelb, Rot, Grün durchlaufen, genau wie eine echte Ampel.