Lehrstuhl für Informatik 12 Cauerstraße 11 91058 Erlangen TECHNISCHE FAKULTÄT Erste praktische Übung zur Vorlesung Grundlagen der Technischen Informatik Aufgabe 1 (NAND-Schalterfunktion) Es soll ein NAND-Gatter mit der entsprechenden Schaltfunktion 𝑦 = 𝑥1 ⋅ 𝑥2 entworfen, (graphisch) implementiert und simuliert werden. Vorbereitung (Hausaufgabe) Entwerfen Sie für die Schaltfunktion des NAND-Gatters Relaisschaltnetze nach dem Ein- und Zweischalterprinzip. Versuch (vor Ort) a) Öffnen Sie die NAND-Gatter Vorlage (Menüleiste B File B Open... Bex1-nand.hds) mit dem Werkzeug Hades. Verbinden Sie zu Testzwecken die Eingänge – wie in Abbildung 1 dargestellt – mit Schaltern, den Ausgang mit einer LED und simulieren Sie mit den verschiedenen Schalterstellungen alle Eingangsbelegungen. Abbildung 1: Testschaltung eines NAND-Gatters in Hades b) Geben Sie nun das von Ihnen zu Hause entworfene Schalternetz graphisch in Hades ein. Benutzen Sie dabei die Symbole aus der Bibliothek von Hades, z. B. Rechtsklick auf Zeichenfläche B create B browse... B built-in Bhades Bmodel Bswitched BISwitch bzw. Bulb. Vergleichen Sie anschließend die korrekte Funktion Ihrer Schaltung mit der des NAND-Gatters aus dem ersten Schritt. 1 Aufgabe 2 (Entwurf eines Volladdierers) Es soll ein Volladdierer entworfen werden, der ausschließlich aus Multiplexern aufgebaut ist. Vorbereitung (Hausaufgabe) a) Erarbeiten Sie die Funktionstabelle eines 1-Bit-Volladdierers mit den Eingängen 𝑎u� , 𝑏u� (Summanden) und 𝑐u�−1 (vorheriger Übertrag) sowie den Ausgängen 𝑠u� (Summe) und 𝑐u� (Übertrag). b) Realisieren Sie einen Volladdierer, indem Sie zwei Halbaddierer zusammenschalten, die wie in der folgenden Abbildung implementiert sind. Sie können beliebige weitere Gatter verwenden. Geben Sie das vollständige resultierende Schaltnetz an. 𝑎u� 𝑠u� 𝑏u� 𝑐u� c) Geben Sie die Schaltausdrücke für 𝑐u� und 𝑠 an, die Ihr in Teilaufgabe b) entworfenes Schaltnetz realisiert. d) Nehmen Sie an, dass die Laufzeitverzögerung aller verwendeten Gatter maximal 𝜏 ns betrage. i) Wie lange dauert es, bis nach Anlegen einer Eingangskombination an den Volladdierer alle Ausgänge garantiert stabil sind? ii) Wie hoch darf die Taktrate höchstens sein, wenn ein solcher Addierer eine Addition in einem Takt durchführen soll? e) Entwerfen Sie ein Volladdierer-Schaltnetz ausschließlich mithilfe zweier 4:1-Multiplexer (4:1 bedeutet, dass 4 Eingänge 𝑥0 bis 𝑥3 mittels eines 2-Bit-Auswahlsignals 𝑆 = 𝑠1 𝑠0 auf den einzigen Ausgang 𝑦 geschalten werden). Entwickeln Sie dazu die in Teilaufgabe c) erarbeiteten Schaltfunktionen mit dem Entwicklungssatz von Shannon zuerst nach 𝑏u� , dann nach 𝑎u� , um die Ausdrücke für 𝑥0 bis 𝑥3 und 𝑥0′ bis 𝑥3′ zu bestimmen: 𝑥3 𝑥2 𝑥1 𝑥0 𝑥3′ 𝑥2′ 𝑥1′ 𝑥0′ u�u� u�u� u�u� u�u� u�u� u�u� 𝑠u� u�u� u�u� 𝑎u� 𝑏u� u�u� u�u� u�u� u�u� u�u� u�u� 𝑐u� u�u� u�u� 𝑎u� 𝑏u� Versuch (vor Ort) Bauen Sie das von Ihnen in der Vorbereitung entwickelte Volladdierer-Schaltnetz in Hades nach. Eine Vorlage steht Ihnen unter ex3-full-adder-with-mux.hds bereit (Abbildung 2). 2 Abbildung 2: Vorlage für einen Volladdierer aus 4:1-Multiplexern in Hades Aufgabe 3 (4-Bit-Addierer/Subtrahierer) In dieser Aufgabe soll ein Volladdierer derart erweitert werden, dass 𝑎 − 𝑏 berechnet wird, falls ein zusätzlicher Steuereingang 𝑥 gleich 1 ist (ist 𝑥 = 0, wird weiterhin addiert). Dabei sollen bei der Subtraktion die Signale 𝑐u�−1 und 𝑐u� Borrow-Semantik haben. Es gilt: Borrow = Carry Aus dieser Komponenente soll anschließend ein 4-Bit-Addierer/Subtrahierer aufgebaut werden. Vorbereitung (Hausaufgabe) a) Stellen Sie die Funktionstabelle dieses 1-Bit-Addierer/Subtrahierer-Schaltnetzes auf (Eingänge: 𝑎u� , 𝑏u� , 𝑐u�−1 , 𝑥; Ausgänge: 𝑠u� , 𝑐u� ). b) Erweitern Sie Ihr in Aufgabe 2b) entworfenes Volladdiererschaltnetz um den Eingang 𝑥, der angibt, ob addiert (𝑥 = 0) oder subtrahiert (𝑥 = 1) werden soll. Geben Sie das vollständige modifizierte Schaltnetz an, aber ersetzen Sie die Halbaddierer durch folgendes Schaltsymbol: 𝑎u� 𝑏u� HA 𝑠u� 𝑐u� c) Entwerfen Sie schließlich ein Schaltnetz, in dem mehrere Instanzen des entworfenen Schaltnetzes so zusammengeschalten werden, dass es 4-Bit-Zahlen addiert und subtrahiert. Der Ausgang 𝑐3 soll dabei als 5. Summenbit 𝑠4 interpretiert werden können. Gehen Sie vom 2er-Komplement aus und achten Sie auf eventuell überflüssige Gatterkombinationen, die durch die Zusammenschaltung entstehen. Zeichnen Sie das gesamte resultierende Schaltnetz unter Verwendung des folgenden Schaltsymbols für Volladdierer: 𝑐u�−1 𝑎u� 𝑏u� 𝑐u�−1 VA 𝑏u� 3 Versuch (vor Ort) a) Öffnen Sie die Vorlage für das Addierer/Subtrahierer-Schaltnetz (ex2-1bit-add-or-sub.hds, Abbildung 3) in Hades. Verändern Sie die Vorlage so, dass es Ihrem entworfenen Addierer/Subtrahierer-Schaltnetz entspricht und überprüfen Sie dessen korrekte Funktion. b) Bauen Sie nun einen 4-Bit-Addierer/Subtrahierer aus der Vorlage ex2-4bit-add-or-sub.hds (Abbildung 4) und verbinden Sie die Volladdierer, um die gewünschte Funktionalität zu erzielen. Testen Sie die korrekte Funktionalität des Addierers/Subtrahierers mittels der bereitgestellten BCD-Ein- und Ausgängen. 4 Abbildung 3: Vorlage für ein 1-Bit-Addierer/Subtrahierer-Schaltnetz in Hades Abbildung 4: Vorlage für ein 4-Bit-Addierer/Subtrahierer-Schaltnetz in Hades 5 Aufgabe 4 (Flipflops) Es sollen mehrere Arten von Flipflops entworfen und deren Eigenschaften erkundet werden. Vorbereitung (Hausaufgabe) Folgende Schaltdiagramme repräsentieren ein NOR- (links) bzw. NAND-RS-Latch (rechts). 𝑅 𝐺1 𝑄 𝑆 𝐺1 𝑄 𝑆 𝐺2 𝑄 𝑅 𝐺2 𝑄 Vervollständigen Sie die folgenden Wellenformdiagramme für 𝑄 und 𝑄 bis zum Zeitpunkt 280 ns. a) NAND-RS-Latch mit 10 ns Gatterlaufzeit für beide Gatter: 𝑅 𝑆 𝑄 𝑄 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 200 220 240 260 280 200 220 240 260 280 𝑡 [ns] b) NAND-RS-Latch mit 10 ns Gatterlaufzeit für 𝐺1 , 5 ns für 𝐺2 : 𝑅 𝑆 𝑄 𝑄 0 20 40 60 80 100 120 140 160 180 𝑡 [ns] c) NOR-RS-Latch mit 10 ns Gatterlaufzeit für beide Gatter: 𝑅 𝑆 𝑄 𝑄 0 20 40 60 80 100 120 140 6 160 180 𝑡 [ns] Abbildung 5: Vorlage für ein Master-Slave-Toggle-Flipflop in Hades Versuch (vor Ort) a) Modellieren Sie das NAND-RS-Latch in Hades und simulieren Sie das funktionale Verhalten für alle Eingangsbelegungen. Die benötigten Komponenten finden Sie unter ex4-rs-nand.hds. Verwenden Sie die „Probe”-Funktion von Hades, um den Verlauf der Ein- und Ausgangssignale graphisch darzustellen. b) Wiederholen Sie Teilaufgabe a) analog für das NOR-RS-Latch. c) Entwickeln Sie schließlich ein vorderflankengesteuertes Toggle-Flipflop nach dem Master-SlavePrinzip. Das Toggle-Flipflop soll einen asynchronen Reset haben. Öffnen Sie dazu die Vorlage ex4toggle-ff.hds (Abbildung 5) und vervollständigen Sie diese. Vergleichen Sie zur Überprüfung das Verhalten Ihres Toggle-Flipflops mit dem bereits in der Vorlage vorgegebenen. 7 Aufgabe 5 (Automaten) Es soll das Schaltwerk eines Modulo-10-Zählers als Automat entworfen werden. Ein Modulo-10-Zähler zählt von 0 bis 9 und beginnt dann wieder von vorne. Die Anzeige des aktuellen Wertes soll über eine Siebensegmentanzeige erfolgen, die eine BCD-codierte Ansteuerung erwartet und direkt mit dem Zähler verbunden ist. Der Zustand soll mit T-Flipflops gespeichert werden. Vorbereitung (Hausaufgabe) a) Der Automat soll als Medwedew-Automat realisiert werden. Was hat dies für Auswirkungen? b) Das Schaltwerk benötigt vier Flipflops, um den Zustand des Automaten zu speichern. Wieso vier? c) Welche Flipflop-Typen kennen Sie neben Toggle-Flipflops noch und wie unterscheiden sie sich? d) Vervollständigen Sie die folgende Zustandüberführungstabelle. Flipflop 𝑇0 speichert den Wert von 𝑞0 , 𝑇1 den von 𝑞1 , und so weiter. 𝑞3 0 𝑞2 0 𝑞1 0 𝑞0 0 𝑞′3 𝑞′2 𝑞′1 𝑞′0 𝑇3 𝑇2 𝑇1 𝑇0 e) Bestimmen Sie jeweils eine DMF für die Ansteuerfunktionen: 𝑇1 mittels eines Symmetriediagramms, 𝑇2 mittels des Nelson-Petrick-Verfahrens und 𝑇3 mittels des Quine-McCluskey-Verfahrens. Versuch (vor Ort) Modellieren Sie den synchronen Modulo-10-Zähler, den Sie in der Vorbereitung entworfen haben, mit Hades. Benutzen Sie dafür die Vorlage ex5-modulo-10-counter.hds (Abbildung 6) und ergänzen Sie alle fehlenden Komponenten (z. B. Gatter). Testen Sie das Schaltwerk schließlich auf korrekte Funktion. 8 Abbildung 6: Vorlage für den Modulo-10-Zähler in Hades 9
© Copyright 2024 ExpyDoc