Automatische Überprüfung der Aufgaben

Diese Seite enthält eine Reihe von Java-Applets zur automatischen und interaktiven Überprüfung der Übungsaufgaben von Aufgabenblatt 1 zur Vorlesung Technische Informatik 1. Weitere Informationen:


Aufgabe 6.1 (Ampel-Schaltwerk)

Verkehrsampelsteuerungen lassen sich direkt als einfache Schaltwerke realisieren. Die folgende Aufgabe besteht in der Realisierung einer vereinfachten Ampelanlage für einen Fußgängerüberweg mit Bedarfsknopf b. Eine symbolische Zustandskodierung könnte folgendermaßen aussehen (siehe Aufgabenblatt).

6.1.a

Übertragen Sie die dargestellten Ampelphasen ausgehend von der Zustandsmenge in einen Zustandsgraphen mit den sechs symbolisch bezeichneten Zuständen (A,...,F).

Für diese Aufgabe gibt es bisher keine automatische Überprüfung. Sie können aber durchaus unser Applet JavaFSM, einen interaktiven Editor und Simulator für endliche Automaten, zum Entwurf des Zustandsdiagramms benutzen. Bitte einfach hier klicken, um das Applet aufzurufen. Im Applet zunächst den Moore-Modus auswählen, dann den Eingang (b) und die Ausgänge (rot, gelb, grün, stop, gehen) anlegen. Anschließend kann im Editor das Zustandsdiagramm eingegeben und im Simulationsmodus kann der Automat dann überprüft werden.

6.1.b

Definieren Sie für die sechs Zustände (A,B,C,D,E,F) eine Zustandskodierung unter Verwendung der Variablen (z2,z1,z0) und übertragen Sie Ihren Zustandsgraphen in eine Zustandstabelle der folgenden Form:

Die Tabelle hängt von der gewählten Zustandskodierung ab und lässt sich daher nicht einfach automatisch überprüfen. Auch die KV-Diagramme hängen von der Zustandskodierung ab. Die folgenden KV-Diagramme gelten nur für die 'offensichtliche' Kodierung mit A=(000), B=(001) usw.

Verwenden Sie zur Minimierung des Übergangschaltnetzwerks folgende KV-Diagramme; nutzen Sie dabei, wenn möglich don't cares (*) bei der Minimierung. Geben Sie die minimierten Terme an (zum Beispiel aus den Applets auslesen):

Funktion z2+:

Funktion z1+:

Funktion z0+:

Erstellen Sie anschließend eine Wertetabelle für die Ausgangsfunktion in folgender Form:

Verwenden Sie folgende KV-Diagramme zur Minimierung der einzelnen Ausgangsfunktionen (nutzen Sie wieder don't cares):

Funktion rot:

Funktion gelb:

Funktion grün:

Funktion gehen:

Funktion stop:

(Hinweis: Sie können die Funktion stop natürlich auch von gehen ableiten anstatt Sie separat zu minimieren.)

6.1.c

Realisieren Sie ausgehend von Ihrer Zustandstabelle ein Schaltwerk mit D-Fliflops zur Ampelsteuerung. Um welchen Automatentyp handelt es sich?

Den Schaltplan bitte von Hand zeichnen oder mit Hades entwerfen und simulieren. Hinweise zu Hades. Laden Sie die Vorlage für Aufgabe 6.1.c über das T1-Exercises Menü. Die Gatter und Flipflops können Sie über das Popup-Menü zu Ihrer Schaltung hinzufügen. Bitte benutzen Sie die Flipflops Typ DFFR mit Reset-Eingang, um die Schaltung in einen definierten Zustand bringen zu können. Wenn Sie ein vollständiges JDK 1.4.2 installiert haben, können Sie den Java Webstart Installer zum Download und Starten von Hades benutzen; bitte klicken Sie dann einfach hier auf den Button:

(Java Webstart erforderlich).

6.1.d

Was passiert, wenn der Automat, etwa auf Grund von elektromagnetischen Störungen, in einen nicht kodierten Zustand gerät? Wie könnte in einem solchen Fall eine Fehlerbehandlung aussehen?

Für diese Aufgabe ist eine schriftliche Begründung notwendig. Deshalb steht leider keine automatische Überprüfung zur Verfügung.

6.1.e

In welchem Zustand befindet sich der Automat nach dem Einschalten? Wie kann der Automat in einen definierten Anfangszustand gebracht werden?

Die Antwort hängt von Ihrem Entwurf ab... Bitte liefern Sie eine kurze schriftliche Begründung.


Aufgabe 6.2 (Schieberegister)

Es wird grundsätzlich zwischen taktflankengesteuerten und taktzustandsgesteuerten Flipflops unterschieden...

Für diese Aufgabe können Sie die Schaltpläne natürlich von Hand zeichnen und abgeben. Wir stellen aber auch Vorlagen der Schaltpläne für unseren Hades-Simulator zur Verfügung. Wenn Sie ein vollständiges JDK 1.4.2 installiert haben, können Sie den Java Webstart Installer zum Download und Starten von Hades benutzen; bitte klicken Sie dann einfach hier auf den Button:

(Java Webstart erforderlich).

Anschließend können Sie die jeweilige Vorlage über das T1-Exercises Menü laden:

6.2.a

Realsieren Sie ein 4-Bit Schieberegister mit flankengesteuerten D-Flipflops.

Weitere flankengesteuerten Flipflops können Sie über das Popup-Menü unter popup-create-flipflops-DFFR zu Ihrer Schaltung hinzufügen. Der Reset-Eingang (nreset) dieser Flipflops ist Null-aktiv. Am Anfang der Simulation sollten Sie die Flipflops also einmal mit nreset=0 zurücksetzen und anschließend mit nreset=1 aktivieren. (Das Verhalten von DFFR entspricht dem in der Aufgabe angegebenen Typ 7474.)

6.2.b

Warum kann man mit taktzustandsgesteuerten D-Flipflops kein Ein-Phasen-Takt Schieberegister wie in Aufgabe 6.2.a realisieren?

Für diese Aufgabe reicht eine kurze schriftliche Begründung. Sie können aber gerne ein entsprechendes Hades-Design erstellen und das Verhalten einfach ausprobieren.

Die taktzustandsgesteuerten (pegelgesteuerten) Flipflops erhalten Sie über das Popup-Menü unter popup-create-flipflops-Latchr. Der Reset-Eingang (nreset) dieser Flipflops ist Null-aktiv. Am Anfang der Simulation sollten Sie die Flipflops also einmal mit nreset=0 zurücksetzen und anschließend mit nreset=1 aktivieren. (Das Verhalten von Latchr entspricht dem in der Aufgabe angegebenen Typ 7475.)

6.2.c

Realisieren Sie mit taktzustandsgesteuerten D-Flipflops ein 4-Bit Schieberegister, dass mit einem nicht überlappenden Zwei-Phasen-Takt angesteuert wird.

Laden Sie die Vorlage 6.2.c aus dem T1-Exercises Menü. Die taktzustandsgesteuerten (pegelgesteuerten) Flipflops erhalten Sie über das Popup-Menü unter popup-create-flipflops-Latchr. Der Reset-Eingang (nreset) dieser Flipflops ist Null-aktiv. Am Anfang der Simulation sollten Sie die Flipflops also einmal mit nreset=0 zurücksetzen und anschließend mit nreset=1 aktivieren. (Das Verhalten entspricht dem in der Aufgabe angegebenen Typ 7474.)

6.2.d

Realisieren Sie ein Moore-Schaltwerk mit flankengesteuerten Flipflops, dass einen nicht überlappen Zwei-Phasen-Takt aus einem einfachen Taktsignal generiert. Verwenden Sie dabei eine einschrittige Zustandskodierung.

Laden Sie die Vorlage 6.2.d aus dem T1-Exercises Menü. Die zusätzlich benötigten Gatter erhalten Sie über das Popup-Menü unter popup-create-gatter.

6.2.d

Welche besondere Eigenschaft ergibt sich aus der einschrittigen Zustandskodierung in Aufgabe 6.2.d bezüglich der Ausgangssignale?

Bitte liefern Sie eine kurze schriftliche Begründung.


Aufgabe 6.3 (Automat)

Es ist ein getaktetes Moore-Schaltwerk zu entwerfen, welches in Abhängigkeit der (einzigen) Eingangsvariablen x folgende zyklische Ausgabe der drei Ausgangsvariablen (y2,y1,y0) liefert:
  x = 0:  (000) -> (100) -> (011) -> (000) -> ...
  x = 1:  (000) -> (110) -> (111) -> (100) -> (000) -> ...
Der Übergang von einem Zyklus in den anderen beim Wechsel von x soll spätestens beim Erreichen der Ausgabe (Zustand) (000) erfolgen. Da fünf verschiedene Ausgabevektoren vorkommen, sind wenigstens drei Zustandsvariablen (z2,z1,z0) notwendig.

6.3.a

Stellen Sie ein Zustandsdiagramm auf und ermitteln Sie die zugehörige Übergangstabelle.

Auch für diese Aufgabe gibt es bisher keine automatische Überprüfung. Sie können aber wieder unser Applet JavaFSM zum Entwurf des Zustandsdiagramms benutzen. Bitte einfach hier klicken, um das Applet aufzurufen. Im Applet zunächst den Moore-Modus auswählen, dann den Eingang (x) und die Ausgänge (y2,y1,y0) anlegen. Anschließend kann im Editor das Zustandsdiagramm eingegeben und im Simulationsmodus kann der Automat dann überprüft werden.

6.3.b

Führen Sie eine Minimierung des Delta-Schaltnetzes mit den KV-Diagrammen unter Ausnutzung nicht spezifizierter Stellen durch: Funktion z2+:

Funktion z1+:

Funktion z0+:

6.3.c

Durch die Realisierung werden nicht spezifizierte Übergänge festgelegt. Zeichnen Sie das realisierte Zustandsdiagramm und prüfen Sie, ob (a) alle Übergänge mit der Spezifikation im Einklang sind, und (b) ob das Schaltwerk nach dem Einschalten aus jedem beliebigen Zustand heraus in den gewünschten Zyklus münden. Dokumentieren Sie evtl. gefundene Designfehler.

6.3.d

Beseitigen Sie in 6.3.c. gefundene Designfehler.

Impressum
16.11.2004, last update 14.01.2005
http://tams-www.informatik.uni-hamburg.de/lehre/ws2004/t1Uebung/applets/bogen6.html