Lernziele
In dieser Aufgabe …
- üben die Studierenden die Umsetzung einer Schaltung.
- festigen die Studierenden ihr Verständnis von Automaten.
- wenden die Studierenden ein einfaches Verfahren zur Schaltungssynthese aus Wertetabellen an.
Gegeben sei eine Roboterschnecke mit einem endlichen Automaten als Gehirn. Die Schnecke kriecht von links nach rechts über ein Papierband mit Nullen und Einsen und liest ein Bit pro Takt.
Die Schnecke lächelt, bis der nächste Taktzyklus beginnt, sobald die letzten drei überfahrenen Bits 110 oder 101 waren.
Wenn die Schnecke gelächelt hat, will sie wieder eine komplett neue 3-Bit-Folge sehen, bevor sie erneut lächelt.
Entwerfen Sie einen endlichen Automaten, welcher die Schnecke in den richtigen Momenten zum Lächeln bringt.
Diese Aufgabe stammt aus Kapitel 3, Beispiel 3.7 von "Digital Design and Computer Architecture. RISC-V Edition." (Harris & Harris, 2022).
Level 3: Anwenden
Entwerfen Sie zuerst ein passendes Zustandsübergangsdiagramm für einen Moore-Automaten. Versuchen Sie dabei, so wenig Zustände wie möglich zu verwenden.
Q4 nach Q1 ist evtl. nicht sofort offensichtlich
Level 1: Wissen
Kodieren sie die Zustände in Binärform und geben Sie die Zustandsübergangstabelle an.
Zustandsübergangstabelle aus dem Zustandsübergangsdiagramm ableiten:
| Zustand | A | Folgezustand |
|---|---|---|
| Q0 | 0 | Q0 |
| Q0 | 1 | Q1 |
| Q1 | 0 | Q3 |
| Q1 | 1 | Q2 |
| Q2 | 0 | Q4 |
| Q2 | 1 | Q2 |
| Q3 | 0 | Q0 |
| Q3 | 1 | Q4 |
| Q4 | 0 | Q0 |
| Q4 | 1 | Q1 |
Zustände binär kodieren (fünf Zustände → drei Bits):
S2 | S1 | S0 | A | S2' | S1' | S0' |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 1 |
S2, S1 und S0 bilden die Bits des Ausgangszustands (000 für Q0, 001 für Q1 …)S2', S1' und S0' den FolgezustandLevel 3: Anwenden
Leiten Sie zuletzt aus der Zustandsübergangstabelle die Zustandsübergangsgleichungen ab. Nutzen Sie die Regeln der Booleschen Algebra aus der Vorlesungen, um die Gleichungen später ressourcensparend verwirklichen zu können.
Vorgehensweise:
Bei S2' ist der Trick, zu erkennen, dass der hintere Term durch das EQUIV-Gatter dargestellt werden kann:
S2' = /S2*S1*/S0*/A + /S2*S1*S0*A
= /S2*S1*(/S0*/A + S0*A)
Bei S1' ist der Trick, zu erkennen, dass Bit S2 nicht relevant ist:
S1' = /S2*/S1*S0*/A + /S2*/S1*S0*A + /S2*S1*/S0*A
= /S2 * (/S1*S0*/A + /S1*S0*A + S1*/S0*A) → /S2 kann gestrichen werden
= /S1*S0*/A + /S1*S0*A + S1*/S0*A
= S0 * (/S1*A + /S1*/A) + S1*/S0*A → Resolution
= /S1*S0 + S1*/S0*A
Bei S0' wird zuerst /S1 ausgeklammert und danach /S0 A:
S0' = /S2*/S1*/S0*A + /S2*/S1*S0*/A + S2*/S1*/S0*A
= /S1*(/S2*/S0*A + /S2*S0*/A + S2*/S0*A)
= /S1*(/S0*A*(/S2+S2) + /S2*S0*/A)
= /S1*(/S0*A + /S2*S0*/A)
Level 1: Wissen
Entwerfen Sie mit Hilfe der Zustandsübergangsgleichungen die Logikschaltungen für die jeweiligen Bits des Folgezustandes.
Wichtig bei S2' ist, dass EQUIV äquivalent zu XOR und NOT ist.

Die Logikschaltung von S1' besteht aus zwei AND-Gattern und einem OR-Gatter.

Für S0' ergibt sich folgende Schaltung:

In dieser Aufgabe …