Zustand

Werbung
VU Technische Grundlagen der Informatik
Übung 4: Schaltwerke
183.579, WS2011
Übungsgruppen: Mo., 21.11. – Fr., 25.11.2011
Aufgabe 1: Schaltwerke - Theoriefragen
a) Wodurch unterscheiden sich Schaltnetze und Schaltwerke? Beschreiben Sie das Konzept des Schaltwerks
anhand einer Skizze!
b) Erläutern Sie die Unterschiede zwischen Moore- und Mealy-Schaltwerk!
Aufgabe 2: Zustandsgraph - Wahr oder falsch?
Es ist folgender Zustandsgraph für ein Schaltwerk mit den Eingängen X1 und X2 sowie dem Ausgang Y gegeben:
Start
00
A0
0
01
10
B0
B0
0
11
Es gilt die folgende Notation:
00
01
10
11
01
10
11
Zustand
Y
00
A1
B0
1
00
B1
B0
1
X1X2
11
01
Welche Aussagen treffen zu? Begründen Sie Ihre Antwort!
(1)
(2)
(3)
(4)
Der Zustandsgraph ist nicht vollständig.
2 richtig
2 falsch
Die Ausgabe erfolgt abhängig vom Zustandsübergang.
2 richtig
2 falsch
Dem dargestellten Zustandsgraphen liegt ein Mealy-Schaltwerk zugrunde.
2 richtig
2 falsch
In Zustand A1 erfolgt die Ausgabe ’01’.
2 richtig
2 falsch
2 richtig
2 falsch
2 richtig
2 falsch
2 richtig
2 falsch
Wird in Zustand B1 an X1 ’1’ und an X2 ’0’ eingelesen, erfolgt ein Übergang in Zustand
(5) B .
0
Liegt an beiden Eingängen für zwei Takte ’0’ an, befindet sich das Schaltwerk auf jeden
(6) Fall in Zustand A .
0
Damit das Schaltwerk startet, muss an allen Eingängen ’0’ anliegen.
(7)
Aufgabe 3: Zustandsgraph - Mealy vs. Moore
Es ist ein synchrones Schaltwerk zu entwerfen, das gleiche Bitfolgen der Länge ≥ 2 erkennt. Tritt eine derartige
Bitfolge auf, wird vom Schaltwerk für die weitere Dauer dieser Folge ’1’ ausgegeben, anderenfalls ’0’.
Beispiel:
Eingang
Ausgang (Mealy)
Ausgang (Moore)
=
=
=
101001110
000010110
000010110
a) Zeichnen Sie den Zustandsgraphen eines entsprechenden Mealy-Schaltwerks.
b) Zeichnen Sie den Zustandsgraphen eines entsprechenden Moore-Schaltwerks.
Aufgabe 4: Mealy-Schaltwerk
Der folgende Zustandsgraph eines Schaltwerks ist gegeben:
00/1
Start
01/1
S
00,10,11/0
Es gilt die folgende Notation:
10/1
B0
11/1
B1
00,01,11/0
B2
00,01,10/0
01,10,11/0
E0E1/A
Zustand
a) Analysieren und erklären Sie die Funktion dieses Schaltwerks.
b) Erstellen Sie für dieses Schaltwerk eine Tabelle der Zustandsübergänge. Benutzen Sie dafür die nachfolgend
angegebene dichte Zustandscodierung:
P
0
0
1
1
E0
E1
P
Q
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
Q
0
1
0
1
0
1
0
1
S
Zustand
S
B0
B1
B2
1
0
0
1
1
1
0
1
B0
0
0
1
0
0
1
1
0
1
0
1
0
B1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
B2
DP
DQ
A
Aufgabe 5: Mealy-Moore-Transformation
Transformieren Sie das Mealy-Schaltwerk aus Beispiel 4 in ein Moore-Schaltwerk. Verwenden Sie dabei die
folgende Notation für die Zustände und Zustandsübergänge des Moore-Automaten:
Zustand
A
E 0E 1
Aufgabe 6: Schaltwerke - Timing
Es ist folgende Schaltung gegeben:
Rot
Takt
D
C
A
D
C
B
=1
Gelb
&
Grün
1
Überlegen Sie sich die Funktionsweise der Schaltung, sodass Sie diese in der Übung erklären können und vervollständigen Sie das nachfolgende Timing-Diagramm. Gehen Sie dabei von positiver Flankentriggerung aus.
Takt
A
B
Rot
Gelb
Grün
Takt
A
Aufgabe 7: Schaltwerke - Maximale
Traktfrequenz
B
a) Was ist die maximale Taktfrequenz und was kann passieren, wenn sie nicht eingehalten wird?
Rot
b) Berechnen Sie die maximale
Taktfrequenz für das Schaltwerk aus Aufgabe 6, wobei die folgenden Angaben
gelten:
Gelb
Durchlaufzeit AND-Gatter: 10 ns
Grün
Durchlaufzeit XOR-Gatter: 15 ns
Durchlaufzeit NOT-Gatter: 5 ns
Durchlaufzeit D-Latch: 50 ns
Vorbereitungzeit D-Latch: 5 ns
Haltezeit D-Latch: 3 ns
Maximale Taktfrequenz D-Latch: 30 MHz
Aufgabe 8: Zustandsgraph eines Mealy-Schaltwerks
Zeichnen Sie den Zustandsgraphen eines Mealy-Schaltwerks, das der nachfolgenden Beschreibung entspricht.
Das Schaltwerk soll in Abhängigkeit von einem binären Eingang E bestimmte Folgen der Zahlen 2 bis 7 binär
ausgeben:
• Wenn der Eingang ’0’ ist, sollen der Reihe nach die ungeraden Zahlen in aufsteigender Reihenfolge (dh.:
3 → 5 → 7) ausgegeben werden. Wenn 7 erreicht ist, soll die Sequenz im nächsten Schritt wieder bei 3
beginnen.
• Ist der Eingang ’1’, sollen die geraden Zahlen in absteigender Reihenfolge (das bedeutet, 6 → 4 → 2)
ausgegeben werden. Sobald 2 erreicht ist, soll die Sequenz im nächsten Schritt wieder bei 6 beginnen.
• Wenn sich der Eingang ändert, soll unmittelbar in die Sequenz gewechselt werden, die dem neuen Wert von
E entspricht. Die neue Sequenz soll – bezogen auf die zuletzt ausgegebene Zahl – mit der nächstkleineren
geraden oder nächstgrößeren ungeraden Zahl aufgenommen und dann folgerichtig fortgesetzt werden.
E=0
E=1
E=1
E=1
E=0
E=0
E=0
Beispiel: 3 −−−→ 5 −−−→ 4 −−−→ 2 −−−→ 6 −−−→ 7 −−−→ 3 −−−→ 5 . . .
• Vom Anfangszustand ausgehend soll entweder die Zahl 3 oder die Zahl 6 ausgegeben werden, abhängig vom
Zustand des Eingangs E. Danach soll die Sequenz wie in den vorherigen Punkten beschrieben fortgesetzt
werden.
Aufgabe 9: Schaltwerke: Hysteresefunktion
Konstruieren Sie ein Moore-Schaltwerk mit einer Ausgangsvariable z und den drei Eingangsvariablen e1 , e2
und e3 . Die Eingangsvariablen werden als dreistellige Binärzahl interpretiert, die einen Eingangswert n :=
4 ∗ e1 + 2 ∗ e2 + e3 bildet. Das Schaltwerk soll, gesteuert durch den Eingangswert n, eine Hysterese-Schaltfunktion
in der folgenden Weise realisieren:
z
1
6
• Ist der Ausgang ’0’, soll er im nächsten Schritt auf
’1’ wechseln, falls n ≥ 5 erfüllt ist. Sonst soll der
Ausgang unverändert bleiben.
? ? ? ?
6 6 6
0
0 1 2 3 4 5 6 7
-
n
• Ist der Ausgang ’1’, soll er im nächsten Schritt auf
’0’ wechseln, sofern die Bedingung n ≤ 3 erfüllt ist.
Anderenfalls soll der Ausgang unverändert bleiben.
a) Konstruieren Sie einen Moore-Automaten, der die oben beschriebene Aufgabe löst.
b) Erstellen Sie die Tabelle der Zustandsübergänge (vgl. Lehrbuch Einführung in die Technische Informatik,
S. 112). Verwenden Sie dabei eine dichte Zustandscodierung. Ermitteln Sie außerdem die vereinfachte
Zustandsfunktion und die Ausgabefunktion.
¬e2
e2
¬e2
z }| {


¬e1
e1






¬e3
e3

¬e1
| {z } | {z }
Q
¬Q
c) Entwerfen Sie eine geeignete Schaltung. Verwenden und ergänzen Sie dazu das nachfolgende PAL.
e1
1
e2
1
e3
1
Q
1
&
&
&
>1
&
>1
Aufgabe 10: Schaltwerksentwicklung - Kaffeemaschine / Teil 1
Entwerfen Sie ein Moore-Schaltwerk für die getaktete Steuerung einer Kaffeemaschine, die folgendermaßen
funktionieren soll:
Zustandsübergänge erfolgen ausschließlich zum Takt. Nach dem Einschalten befindet sich die Kaffeemaschine
solange im Zustand ”Standby”, bis eine Start-Taste gedrückt wird. Die Kaffeemaschine wechselt dann in den
Zustand ”Heizen” und beginnt Wasser zu erhitzen. Danach wechselt die Maschine in den Zustand ”Zubereiten”.
Wurde der Kaffee erfolgreich zubereitet, kehrt die Kaffeemaschine in den ”Standby”-Modus zurück.
Die Kaffeemaschine verfügt über Sensoren zur Erkennung technischer Fehler. Tritt ein technischer Fehler auf,
wechselt der Automat unverzüglich in den Zustand ”Fehler” und verharrt dort, bis der Fehler beseitigt ist.
Das ist z.B. der Fall, wenn der Wassertank leer ist, ein Defekt im Heizsystem erkannt wird oder der Filter
verstopft ist. Wurde der Fehler behoben, kehrt die Kaffeemaschine wieder in den Zustand ”Standby” zurück.
Ein Betätigen der Start-Taste in den Zuständen ”Heizen”, ”Zubereiten” oder ”Fehler” hat keine Auswirkungen
und wird ignoriert.
Zwei Eingangssignale stehen zur Verfügung: Am Signal ”OK” liegt bei Vorliegen eines Fehlers logisch ’0’ an. Das
Signal ”Start” liefert den Zustand der Start-Taste. Logisch ’1’ bedeutet, dass die Start-Taste gedrückt wurde.
Ausgangsseitig werden 2 LEDs angesteuert: Solange kein Fehler auftritt, soll eine grüne LED aufleuchten. Tritt
ein Fehler auf, eine rote.
Verwenden Sie folgende Zustandscodierung:
Zustand
Standby
Heizen
Zubereiten
Fehler
Z1 Z0
00
01
10
11
a) Geben Sie den resultierenden Zustandsgraph unter Angabe Ihrer verwendeten Notation an.
b) Befüllen Sie nachfolgende Wahrheitstabelle für die Zustandsübergänge.
Hinweis: Sofern Sie Don’t Cares verwenden, werden möglicherweise nicht alle Zeilen benötigt!
Zustand
Z1
Z0
Eingänge
OK
Start
Folgezustand
Z’1
Z’0
Ausgänge (in Z’0 bzw. Z’1 )
rote LED
grüne LED
c) Vereinfachen Sie die Übergangsfunktion mit Hilfe der nachfolgenden KV-Diagramme. Wie lautet die minimierte Übergangsfunktion?
Z00 :
Z10 :
¬Z0
Z0
¬Z0
z }| {


¬Z1
Z1
¬Z0







¬Z1
| {z } | {z }
OK
¬OK
¬Start
Z0
¬Z0
z }| {


¬Z1
Z1






Start

¬Z1
| {z } | {z }
OK
¬OK
¬Start
Start
Herunterladen