Erste praktische Übung zur Vorlesung Grundlagen der Technischen

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