VU Technische Grundlagen der Informatik 183.579, 2014W Übung 4: Schaltwerke Übungsgruppen: Mo., 24.11. – Mi., 26.11.2014 Aufgabe 1: ROM-Erweiterung ROM 32x4 EN Ein 64x16 ROM soll aus mehreren 32x4 ROMs (vgl. Abbildung rechts: ADDR = Adressleitungen, DATA = Datenleitungen, EN = EnableLeitung) aufgebaut werden. 5 ADDR DATA 4 a) Wie viele ROM-Bausteine benötigen Sie für den Aufbau des 64x16 ROMs? b) Wie viele Adress- bzw. Datenleitungen benötigt der 64x16 ROM? c) Wie viele Bytes Daten können im 64x16 ROM insgesamt gespeichert werden? d) Skizzieren Sie den Aufbau des 64x16 ROM, bestehend aus der entsprechenden Anzahl von 32x4 ROMBauteilen und dem unten vorgedruckten (2 zu 1) Multiplexer. Weitere Bauteile (Decoder, NOT-Gatter, etc.) stehen Ihnen nicht zur Verfügung. Achten Sie auf eine korrekte Beschriftung der Leitungen! EN MUX S 16 16 0 1 16 Allgemeiner Hinweis: Zwecks Vereinfachung entfällt bei den nachfolgenden Aufgabenstellungen mit Automaten die Kennzeichnung von Endzuständen – es können jeweils alle Zustände als gültige Endzustände betrachtet werden. Startzustände sind aber immer zu kennzeichnen! Aufgabe 2: Zustandsgraph – Wahr oder falsch? Gegeben ist der folgende Automat: Start 11,10 A0 0 10 01 01 00 B0 B0 0 Notation: 11 10 11 00 11 Zustand a e 1e 2 00 A1 B0 1 00 B1 B0 1 01 01,10 Welche Aussagen treffen zu? Begründen Sie Ihre Antwort! (1) Beim dargestellten Automaten handelt es sich um einen Mealy-Automaten. 2 richtig 2 falsch (2) Der dargestellte Automat ist vollständig und deterministisch. 2 richtig 2 falsch (3) Der dargestellte Automat ist endlich. 2 richtig 2 falsch (4) Der dargestellte Automat verfügt über einen Eingang und zwei Ausgänge. 2 richtig 2 falsch (5) Sobald der Automat gestartet wurde gibt er ’0’ aus. 2 richtig 2 falsch (6) Im Zustand B1 erfolgt die Ausgabe ’01’. 2 richtig 2 falsch (7) Liegt nach dem Start an beiden Eingängen einen Takt lang ’0’ an, befindet sich der Automat im Zustand A1 . 2 richtig 2 falsch (8) Liegt an beiden Eingängen für zwei Takte lang ’1’ an, befindet sich der Automat jedenfalls im Zustand A0 . 2 richtig 2 falsch (9) Liegt nach dem Start am Eingang e2 konstant ’1’ an, verharrt der Automat im Zustand A0 . 2 richtig 2 falsch (10) Die Zustände des dargestellten Automaten können bei 1 aus n-Codierung mit drei Flip-Flops realisiert werden. 2 richtig 2 falsch (11) Die Zustände des dargestellten Automaten können bei dichter Codierung mit zwei Latches realisiert werden. 2 richtig 2 falsch Aufgabe 3: Entwurf eines Zustandsgraphen Zeichnen Sie den Zustandsgraphen eines Mealy-Schaltwerks, das der nachfolgenden Beschreibung entspricht. Verwenden Sie die rechts angeführte Notation. Zustand e / a 2a 1a 0 Das Schaltwerk soll in Abhängigkeit von einem binären Eingang e die Zahlen im Intervall [−3; +4] als drei Bit lange Exzess-codierte Zahl (a2 a1 a0 )2 mit Exess = (3)10 und a0 als lsb wie folgt ausgeben: • Ist der Eingang ’0’, sollen die Zahlen 0 → +1 → +2 → +3 → +4 → 0 → +1 → . . . ausgegeben werden. • Ist der Eingang ’1’, sollen die Zahlen 0 → −1 → −2 → −3 → 0 → −1 → . . . ausgegeben werden. • Wenn sich der Eingang ändert, soll unmittelbar mit der nächsten Zahl in die andere Sequenz gewechselt werden (siehe Beispiel). • Vom Startzustand ausgehend soll, abhängig von e, die Zahl ±1 ausgegeben werden. e=1 e=0 e=0 e=1 e=0 e=0 e=1 e=0 e=0 Beispiel: −−→ −1 −−→ +2 −−→ +3 −−→ 0 −−→ +1 −−→ +2 −−→ −3 −−→ +4 −−→ 0 → . . . Aufgabe 4: Timing-Diagramm Es ist folgende Schaltung gegeben: D 1 Q1 A 1 B & D 2 Q2 =1 Takt Ü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! Achten Sie dabei auf die Flankentriggerung! Takt Q1 Q2 A B Aufgabe 5: Maximale Taktfrequenz a) Bestimmen Sie die Komponenten von Übergangs- und Ausgangsfunktion der Schaltung! Welche dieser beiden Funktionen muss bei der Berechnung der maximalen Taktfrequenz wie berücksichtigt werden? b) Berechnen Sie die maximale Taktfrequenz für das Schaltwerk aus Aufgabe 4! Es gelten folgende Werte: Durchlaufzeit NOT-Gatter: 15 ns Durchlaufzeit AND-Gatter: 20 ns Durchlaufzeit XOR-Gatter: 25 ns Durchlaufzeit D-Flip-Flop: 75 ns Vorbereitungszeit D-Flip-Flop: 5 ns Haltezeit D-Flip-Flop: 3 ns Maximale Taktfrequenz D-Flip-Flop: 10 MHz Aufgabe 6: Analyse eines Schaltwerks mit JK-Flip-Flops Der Zustandsgraph eines Schaltwerks ist gegeben, es gilt folgende Notation: e1e0/a Zustand 11/1 Start 00/1 Z0 01/1 Z1 01,10,11/0 10/1 Z2 00,10,11/0 Z3 00,01,11/0 00,01,10/0 a) Analysieren Sie den Zustandsgraphen. Um welche Art von Schaltwerk handelt es sich? Welche Funktion realisiert dieses Schaltwerk, wenn die Eingänge als zweistellige Binärzahl (e1 e0 )2 aufgefasst werden? b) Tragen Sie in der unten vorgedruckten Tabelle zunächst die Zuständsübergänge und die Ausgangsfunktion a des Schaltwerks ein! Qi bezeichnet dabei den aktuellen Zustand und Q0i den Nachfolgezustand des i-ten Zustandsspeichers. Es gilt die rechts vorgegebene dichte Zustandscodierung. Q2 Q1 Zustand 0 0 1 1 0 1 0 1 Z0 Z1 Z2 Z3 c) Wie Sie später herausfinden, wurden die Zustandsspeicher des Schaltwerks mit JK-Flip-Flops realisiert, wobei die Beschaltung J=0, K=1 für Reset bzw. J=1, K=0 für Set verwendet wurde. Tragen Sie die resultierenden Werte für die Vorbereitungseingänge J2 , K2 , J1 und K1 in die Tabelle ein! e1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 e0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Q2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Zustand Q02 Q01 a J2 K2 J1 K1 Aufgabe 7: Realisierung eines Schaltwerks mittels PLD Entwerfen Sie eine taktgesteuerte Schaltung mit einem Eingang e und drei Ausgängen a1 , a2 und a3 , die die Funktion des folgenden Moore-Automaten realisiert: 1 Z0 Z1 1 1 Z2 100 000 0 0 0 1 0 Z3 1 0 Start 010 111 Z4 010 1 0 Zustand e Z5 a 1a 2a 3 110 a) Vervollständigen Sie für den Automaten die nachfolgende Tabelle der Zustandsübergänge! Es wird dichte Zustandscodierung verwendet, entsprechend sind 23 = 8 Codierung möglich. Überlegen Sie sich, wie mit den unbenutzten Codierungen am besten umgegangen wird! Hinweis: Die Ausgabe (a1 bis a3 ) ist immer vom aktuellen Zustand (Q1 bis Q3 ) anzugeben! e 0 1 0 1 0 1 0 1 0 1 0 1 Q1 0 0 1 1 0 0 1 1 0 0 1 1 Q2 0 0 0 0 1 1 1 1 0 0 0 0 Q3 0 0 0 0 0 0 0 0 1 1 1 1 Z0 Z1 Z2 Z3 Z4 Z5 D1 D2 D3 a1 a2 a3 b) Bringen Sie die Übergangsfunktion mit den folgenden KV-Diagrammen in minimale disjunktive Form! D1 ¬Q1 Q1 ¬Q1 z }| { ¬e D2 Q 2 ¬Q2 ( e ¬e | {z } | {z } ¬Q3 Q3 ¬Q1 Q1 ¬Q1 z }| { ¬e D3 Q 2 ¬Q2 ( e ¬e | {z } | {z } ¬Q3 Q3 ¬Q1 Q1 ¬Q1 z }| { ¬e Q 2 ¬Q2 ( e ¬e | {z } | {z } ¬Q3 Q3 c) Realisieren Sie das Schaltwerk mit dem vorgegebenen PLD! Für die Realisierung der Ausgangsfunktion stehen Ihnen ein AND-Gatter sowie ein OR-Gatter zur Verfügung. Vergessen Sie nicht, sämtliche Einund Ausgänge der Schaltung entsprechend zu beschriften! (Takt, Reset und a1 sind bereits beschriftet.) 1 1 1 1 1 1 1 & & & & >1 D Q & Reset & & & & & & >1 D Q & Reset & & & & & & >1 D Q & Reset & & Takt Reset 1 a1 Aufgabe 8: Schaltwerksentwicklung – Hexapod Roboter / Teil 1 Entwerfen Sie Zustandsgraphen für die Steuerung des nachfolgend beschriebenen sechsbeinigen Roboters (Hexapod). Der schematische Aufbau der Konfiguration ist wie folgt: Drehen Gehen G Rotieren Fernsteuerung D Steuerung R F L V Fehler LED Vorwärts Mittels einer Fernsteuerung hat man die Möglichkeit, die Fortbewegung des Hexapods zu kontrollieren. Es stehen zwei Tasten zur Verfügung: Wird die Taste ”Gehen” gedrückt, bewegt sich der Hexapod vorwärts. Wird die Taste ”Rotieren” oder werden beide Tasten gleichzeitig gedrückt, dreht sich der Hexapod um die eigene Achse. Wird keine Taste gedrückt, verharrt der Hexapod ohne Bewegung. Zusätzlich befindet sich auf der Fernsteuerung eine LED, die beim Auftreten eines technischen Fehlers rot aufleuchtet. Ist der Hexapod betriebsbereit, leuchtet sie grün auf. Die Erkennung der technischen Fehler erfolgt über Sensoren, die zwecks Vereinfachung auf ein einziges Signal zusammengeschaltet sind. Tritt ein Fehler auf, wechselt der Automat in den Fehler-Zustand und verbleibt dort, bis der Fehler beseitigt wurde. Wurde der Fehler beseitigt, verharrt der Hexapod einen Moment bewegungslos, ehe er bereit ist, die nächste Bewegung auszuführen. Die Ein- bzw. Ausgänge der Steuerung sind wie folgt festgelegt: • Der Eingang G liefert logisch ’0’, wenn die ”Gehen”-Taste gedrückt wird, anderenfalls logisch ’1’. • Der Eingang R liefert logisch ’0’, wenn die ”Rotieren”-Taste gedrückt wird, anderenfalls logisch ’1’. • Am Eingang F liegt bei Vorliegen eines Fehlers logisch ’0’ an, anderenfalls logisch ’1’. • Liegt am Ausgang V logisch ’1’ an, geht der Hexapod vorwärts. • Liegt am Ausgang D logisch ’1’ an, dreht sich der Hexapod um die eigene Achse. • Das Signal L steuert die Anzeige-LED. Bei logisch ’1’ leuchtet die LED rot, bei logisch ’0’ grün. a) Zeichnen Sie einen entsprechenden Mealy-Automaten unter Verwendung der rechts angegebenen Notation. b) Zeichnen Sie einen entsprechenden Moore-Automaten unter Verwendung der rechts angegebenen Notation. Zustand Zustand VDL GRF/VDL GRF