DT ÜB 07 LSG V1 - Lösung PDF

Title DT ÜB 07 LSG V1 - Lösung
Course Digitaltechnik
Institution Technische Universität Darmstadt
Pages 9
File Size 443.5 KB
File Type PDF
Total Downloads 81
Total Views 137

Summary

Lösung...


Description

Digitaltechnik Wintersemester 2020/2021 7. Übung Prof. Dr.-Ing. Thomas Schneider, M.Sc. Christian Weinert, M.Sc. Daniel Günther LÖSUNGSVORSCHLAG

KW02

Bitte bearbeiten Sie die Übungsblätter bereits im Voraus, sodass Sie Ihre Lösungen zusammen mit Ihren Kommilitonen und Tutoren während der wöchentlichen Übungsstunde diskutieren können. Mit der angegebenen Bearbeitungszeit für die einzelnen Aufgaben können Sie Ihren Leistungsstand besser einschätzen. Die mit “Zusatzaufgabe” gekennzeichneten Aufgaben sind zur zusätzlichen Vertiefung für interessierte Studierende gedacht und daher nicht im Zeitumfang von 90 Minuten einkalkuliert.

Übung 7.1 Realisierung endlicher Automaten EX10-C-1

EX10-C-2

EX10-C-3

[25 min]

Gegeben ist eine Zustandsübergangs- und Ausgangstabelle eines endlichen Automaten: Zustand S1 S0 0 0 0 0 0 1 0 1 1 0 1 0 1 0

Eingänge B A * 0 * 1 0 * 1 * * 0 0 * 1 1

Nächster Zustand S0′ S1′ 0 0 0 1 0 1 1 0 1 0 1 0 0 0

Zustand S1 S0 0 0 0 1 1 0

Ausgang Y 0 0 1

a) Welche Art von Automat wird durch die Tabellen beschrieben? Wie sind die Zustände kodiert? Es handelt sich um einen Moore-Automat, da das Ausgangssignal Y ausschließlich vom aktuellen Zustand bestimmt wird. Die Zustände sind “durchnummeriert”, sie entsprechen den (vorzeichenlosen) 2-Bit-Zahlen 0, 1 und 2. b) Zeichnen Sie das zugehörige FSM Diagramm.

A 0

A+ B

B A

1

B

2 Y

AB

c) Setzen Sie den Automaten als synchrone sequentielle Schaltung um. Nutzen Sie dafür kombinatorische Logik und D-Flip-Flops für die Zustände. Es bietet sich an, die Zustandsübergangsfunktionen zuerst zu minimieren. Vereinfache zunächst die Zustandsübergangsfunktionen für S1′ und S0′ mittels KV Diagramm. Die nicht genutzte Zustandskodierung 11 kann dabei als “Don’t Care” angesehen werden:

1

Zustand S1 S0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 1 S1′ : S1 S0 11

10

00

*

1

01

*

1

BA

01

Nächster Zustand S1′ S ′0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 * * S′0 : S1 S0

S1 00

Eingänge B A * 0 * 1 0 * 1 * * 0 0 * 1 1 * *

S1 00

BA

01

11

1

*

1

*

00 01

1

11

1

10

A 11

1

10

1

A

*

B

*

B *

1

*

10

S0

S1′ = B S0 + A S1 + B S1

S0

S0′ = A S0 S1 + B S0

Laut Ausgangstabelle gilt Y = S1 . Anders als bei einem Mealy-Automat muss die Ausgangslogik die Eingänge nicht gesondert berücksichtigen. Zur Realisierung des Zustands werden 2 Flip-Flops als Zustandsregister benötigt.

CLK

A B

s0′

s0

B

s1′

s1

Y

A

B

Reset

2

Übung 7.2 Automat aus Timing-Diagramm

[10 min]

a) Zeichnen Sie aus dem gegebenen Timing-Diagramm das zugehörige FSM-Diagramm eines Mealy-Automaten.

CLK Reset

a S

0

0

0

1

1

1

0

0

0

y

a/ y

a/ y a/ y

Reset

S1

S0 a/ y

b) Zeichnen Sie aus dem gegebenen Timing-Diagramm das zugehörige FSM-Diagramm eines Moore-Automaten.

CLK Reset

a S

0

1

1

1

2

1

2

0

0

y

a

a a

Reset

S0

S1

y

y a

a

a S2 y

3

Übung 7.3 Mealy vs. Moore

[15 min]

Übung 7.3.1 Analyse eines Timing-Diagramms Das folgende Timing-Diagramm zeigt das Verhalten eines Zustandsautomaten unbekannten Typs mit dem Eingang A, einem Ausgang Y und dem Zustand S :

CLK Reset

A S

S0

S1

S0

S0

S1

S1

S1

S0

S0

Y a) Handelt es sich um einen Mealy- oder Moore-Automaten? Woran haben sie dies erkannt? Es handelt sich um einen Mealy-Automaten. Der Automat verändert innerhalb eines Taktes die Ausgabe und in Takten mit Zustand S = 0 erfolgt nicht immer die gleiche Ausgabe. Dies ist bei Moore-Automaten nicht möglich. b) Beschreiben sie die Unterschiede zwischen beiden Automatentypen. Die Ausgänge eines Mealy-Automaten sind vom Zustand und den Eingängen abhängig. Daher werden die Ausgänge an den Kanten notiert. Daher können sich die Ausgänge von Mealy-Automaten innerhalb eines Taktes mehrmals ändern falls sich Eingangssignale ändern. Mealy-Automaten benötigen somit meist weniger Zustände als Moore-Automaten und reagieren schneller auf Änderungen der Eingangssignale. Die Ausgänge bei Moore-Automaten sind hingegen ausschließlich vom aktuellen Zustand abhängig und werden daher auch direkt an den Knoten notiert. Moore-Automaten sind besonders geeignet, wenn viele statische Ausgaben erfolgen sollen, z.B. bei einer Ampelschaltung.

Übung 7.3.2 Automat umwandeln EX10-C-4 Gegeben ist folgender endlicher Automat mit den Eingängen A und B , sowie einem Ausgang Y :

A A Reset

A

S0

A Y

S1

S2

B

B a) Handelt es sich um einen Moore- oder einen Mealy-Automat? Es handelt sich um einen Mealy-Automat, da die Ausgabe Y an einer Kante annotiert ist. b) Entwerfen Sie einen äquivalenten Automaten des anderen Typs.

B

A Reset

A

S0

B

S2

A

S1

Y

A B S3

B

4

Die Überführung eines Mealy- in einen Moore-Automaten ist meist komplexer als umgekehrt, da ein MealyAutomat in der Regel weniger Zustände als ein äquivalenter Moore-Automat besitzt. Allgemeines Vorgehen: • Alle Ausgabesymbole der Kanten (Zustandsübergänge) in ihren Zielzustand übertragen • Knoten (Zustände) mit mehreren unterschiedlichen Ausgabesymbolen auf dessen eingehenden Kanten vervielfältigen (inklusive ausgehender Kanten), bis jeder Knoten genau eine Ausgabe hat In diesem Fall muss zudem noch beachtet werden, dass der Zustand S2 im Moore-Automat nach einem Takt auch bei der Eingabe B verlassen werden muss, da sonst konstant Y ausgegeben wird, bis B gilt. Dies würde nicht dem Verhalten des Mealy-Automaten entsprechen. c) Vergleichen Sie das zeitliche Verhalten der beiden Automaten im folgenden Timing-Diagramm:

CLK Reset

A B Moore FSM

S

S0

S0

S1

S2

S0

S1

S3

S0

S1

Y Mealy FSM

S

S0

S0

S1

S2

S0

S1

S2

S0

S1

Y Der Ausgang des Mealy-Automaten reagiert bereits jeweils einen Takt früher als der des Moore-Automaten.

5

Übung 7.4 Entwurf endlicher Automaten am Beispiel der Steuerung einer Zugtür

[25 min]

Die folgende Abbildung zeigt eine übliche Zugtür:

Die Steuerung der Zugtür soll folgendermaßen umgesetzt werden: Im Startzustand ist die Tür gesperrt. Hält der Zug, so kann der Zugführer die Tür freigeben, indem er ein Freigabesignal (F) sendet. Ist die Tür freigegeben, aber noch geschlossen, so soll die grüne Beleuchtung des Knopfs an der Tür (B) aufleuchten. Ein Drücken des Knopfes (K) durch einen Passagier leitet dann das Öffnen der Tür ein. Um die Tür zu öffnen, muss an den Motoren ein entsprechendes Signal (M1) anliegen, bis ein Schalter (T1) signalisiert, dass die Tür vollständig offen ist. Zur Vereinfachung können Sie annehmen, dass die Tür nicht automatisch wieder schließt und eine Freigabe der Tür nur einmal pro Halt stattfindet. Ist die Tür freigegeben, kann der Zugführer sie jederzeit wieder sperren, indem er ein Sperrsignal (S) sendet. Ist die Tür noch geschlossen, so lässt sich diese nun nicht mehr öffnen. Das Schließen der Tür geschieht ähnlich wie das Öffnen durch das Anlegen eines Signals (M2) an die Türmotoren, bis ein Schalter (T2) signalisiert, dass die Tür zu ist. Ist die Tür gerade noch dabei sich zu öffnen, so wird sie erst nach dem vollständigen Öffnen geschlossen. Aus Sicherheitsgründen soll die Tür ein Warnsignal während des Schließens ausgeben (W). Außerdem ist eine Lichtschranke (L) installiert, die solange eine 1 ausgibt, wie sie nicht unterbrochen wird. Die Tür darf nur geschlossen werden, wenn die Lichtschranke nicht unterbrochen wird, ebenso muss ein Unterbrechen der Lichtschranke während eines Schließvorgangs zum sofortigen Öffnen der Tür führen. Ist die Tür gesperrt und geschlossen, soll dem Zugführer ein entsprechendes Signal gesendet werden (Z). a) Entwerfen Sie das FSM-Diagramm eines Moore-Automaten, der die Türsteuerung umsetzt. b) Geben Sie die Zustandsübergangs- und die Ausgabetabelle an. Sie müssen die Zustände nicht kodieren.

6

a) Lösung: F

S T1

SK

S

S S0

Reset

S1

F

SK

S2

S T1

S3

M1

B

Z

T2 L SL

T2 L

S4

S

M2 W

L SL S5 L

T1

M1

T1

S6

L

b) Lösung: Zustand Si

F

S

Eingänge K L T1

S0 S0 S1 S1 S1 S2 S2 S2 S3 S3 S3 S4 S4 S4 S5 S5 S6 S6

0 1 * * * * * * * * * * * * * * * *

* * 0 0 1 0 0 1 0 1 1 * * * * * * *

* * 0 1 * * * * * * * * * * * * * *

* * * * * * * * * 0 1 0 1 1 * * 0 1

* * * * * 0 1 * * * * * * * 0 1 * *

T2

Nächster Zustand S ′i

Zustand Si

B

* * * * * * * * * * * * 0 1 * * * *

S0 S1 S1 S2 S0 S2 S3 S5 S3 S6 S4 S5 S4 S0 S5 S6 S6 S4

S0 S1 S2 S3 S4 S5 S6

0 1 0 0 0 0 0

Ausgänge M1 M2 W 0 0 1 0 0 1 0

0 0 0 0 1 0 0

0 0 0 0 1 0 0

Z 1 0 0 0 0 0 0

Gewisse Spezialfälle wie “was passiert in S4 wenn die Lichtschranke blockiert ist ( L = 0) und gleichzeitig die Tür in diesem Moment schon geschlossen ist ( T 2 = 1)” könnten auch anders behandelt werden. Wichtig ist, implizite Selbstschleifen (immer wenn kein Zustandswechsel stattfindet) beim Erstellen der Zustandsübergangstabelle nicht zu vergessen, sofern diese im FSM-Diagramm weggelassen wurden. Alle anderen Zustands/Eingabe-Kombinationen sind hingegen Don’t Cares.

7

Übung 7.5 One-Hot-Kodierung

[5 min]

Neben der Kodierung als Binärzahl wird der Zustand von Automaten auch oft als One-Hot-Kodierung umgesetzt. a) Wie viele Bits (und damit Speicherelemente) benötigt man für die Kodierung der Zustände eines Automaten mit 8 Zuständen bei einer Kodierung als Binärzahl? Wie viele bei einer One-Hot-Kodierung? Für die Kodierung von 8 Zuständen benötigt man bei der Kodierung als Binärzahl 3 Bits (23 = 8), für die One-HotKodierung benötigt man 8 (ein Bit für jeden Zustand). b) Welchen großen Nachteil und welchen großen Vorteil hat die One-Hot-Methode gegenüber einer Kodierung als Binärzahl? Die One-Hot-Kodierung benötigt mehr Speicherelemente, ist jedoch sehr einfach umzusetzen. Daher kann die Zustandsübergangs- und Ausgangslogik oft deutlich einfacher ausfallen.

Übung 7.6 Reduzierung der Anzahl der Zustände – Zusatzaufgabe Der folgende Automat besitzt deutlich mehr Zustände als für seine Funktion unbedingt notwendig wären. Geben sie einen Moore-Automaten an, der dieselbe Funktion mit möglichst wenigen Zuständen umsetzt.

A S7

S6

Y

A

A

A A A

Reset

A

S0

S1

A

S2 Y

A

A

A

A

S3

S4

A

A

S5 Y

A

A

A A S8

S9 Y

A

A

8

Man kann nach folgendem Algorithmus1 vorgehen, um den Automaten zu minimieren: a) Stelle eine Tabelle aller Zustandspaare z , z ′ mit z 6= z ′ auf. b) Markiere alle Paare z, z ′ bei denen z Endzustand und z ′ kein Endzustand ist (oder umgekehrt). c) Für jedes unmarkierte Paar z, z ′ und für jede Eingabe a teste, ob das Paar der Folgezustände bereits markiert ist. Wenn ja, markiere auch z, z ′ . d) Wiederhole Schritt c), bis sich keine Änderung in der Tabelle mehr ergibt. e) Alle nicht markierten Paare z, z ′ können jeweils zu einem Zustand verschmolzen werden. Lösung (4 statt 10 Zuständen):

A Reset

A

S0

A

A

S2

A

S1

Y

A

A A

S3

1

Quelle: Schönig, Theoretische Informatik – kurzgefasst, 4. Auflage, S.46

9...


Similar Free PDFs