0 Daumen
364 Aufrufe

Aufgabe Schaltungen entwickeln:

(a) Geben Sie eine Schaltung für ein 4-Bit-Register an. Ein 4-Bit-Register speichert 4 Bits und hat demnach 4 Eingangs- und 4 Ausgangsleitungen. Zwei Steuerleitungen Set und Enable bestimmen, ob das Register geschrieben oder ausgelesen wird: Wenn Set und Enable auf 1 gesetzt werden, soll in das Register geschrieben werden; wenn Set 0 und Enable 1 ist, soll das Register gelesen werden. Außerdem gibt es eine Leitung für den Takt: \( \phi \). Sie können beliebig Flip-Flops oder Latches aus der Vorlesung für Ihre Lösung verwenden (verwenden Sie die fertigen Schaltsymbole aus der Vorlesung).

(b) Geben Sie eine Schaltung für einen 4 -Bit-Addierer an. Ein 4-Bit-Addierer berechnet die Summe \( \mathrm{S}_{3} \mathrm{~S}_{2} \mathrm{~S}_{1} \mathrm{~S}_{0} \) aus zwei 4-Bit-Zahlen \( \mathrm{A}_{3} \mathrm{~A}_{2} \mathrm{~A}_{1} \mathrm{~A}_{0} \) und \( \mathrm{B}_{3} \mathrm{~B}_{2} \mathrm{~B}_{1} \mathrm{~B}_{0} \). Die Schaltung hat demnach 8 Eingangs- und 4 Ausgangsleitungen, sowie eine Leitung für Carry-In und eine Leitung für Carry-Out. Benutzen Sie folgendes Symbol für einen 1-Bit Volladdierer:

blob.png

(c) Geben Sie eine Schaltung für einen 1-zu-2 Decoder mit dem Eingang \( \mathrm{F}_{0} \) und den Ausgängen \( \mathrm{E}_{0} \) und \( \mathrm{E}_{1} \) an. Der 1-zu-2 Decoder soll \( \mathrm{E}_{0} \) auf 1 setzen, wenn \( \mathrm{F}_{0} 0 \) ist.

(d) Geben Sie eine neue 4-Bit-ALU analog zur Vorlesung an. Die ALU soll 8 Eingangs- und 4 Ausgangsleitungen \( \left(\mathrm{A}_{0}\right. \) bis \( \mathrm{A}_{3}, \mathrm{~B}_{0} \) bis \( \mathrm{B}_{3}, \mathrm{O}_{0} \) bis \( \mathrm{O}_{3} \) ) haben sowie über ein Steuersignal \( \mathrm{F}_{0} \) verfügen, das aus den Funktionen 4 -Bit AND \( \left(\mathrm{F}_{0}=0\right) \) und 4 - \( \mathrm{Bit} \) ADD \( \left(\mathrm{F}_{0}=1\right) \) wählt. Des Weiteren gibt es eine Eingangsleitung für Carry-In und eine Ausgangsleitung für Carry-Out. Sie müssen die folgenden Schaltbilder für einen 1-zu-2-Decoder und einen 4-Bit-Addierer in Ihrer Lösung verwenden:

blob.png

Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

4-Bit-Register

Um ein 4-Bit-Register zu konstruieren, benötigen wir hauptsächlich Flip-Flops, die Daten speichern können. Ein D-Flip-Flop wäre geeignet für die Aufgabe, da es einen einfacheren Aufbau für Speicherzwecke bietet. Für 4 Bits haben wir folgende Anforderungen:

- Datenleitungen (D): 4 Eingänge, die die zu speichernden Daten darstellen.
- Enable (EN): Ein Signal, das bestimmt, ob das D-Flip-Flop den Eingangswert übernehmen (speichern) oder ignorieren soll.
- Set: Da in der Aufgabenstellung kein Reset verlangt wird, interpretieren wir das "Set"-Signal als zusätzliche Steuerlogik, die zusammen mit dem Enable-Signal die Schreib- bzw. Leseoperation bestimmt.
- Takt (\(\phi\)): Ein Signal zur Synchronisation der Datenübernahme in die Flip-Flops.

Die Logik der Set- und Enable-Signale erfordert zusätzliche Überlegungen: Um in das Register zu schreiben, muss bei Enable=1 und Set=1 die Datenübergabe aktiviert werden. Zum Lesen (wofür eigentlich keine aktive Steuerung aus der beschriebenen Sicht notwendig wäre, da die Ausgangsdaten bestimmter Flip-Flops ständig verfügbar sind) muss Enable=1 und Set=0 gesetzt sein. Im Normalfall impliziert "Lesen" bei einem Register keine Veränderung seiner internen Zustände, daher fokussieren wir uns auf die Schreibfunktion.

Grundsätzlich sieht die Schaltung für jedes Bit so aus:

- 1 D-Flip-Flop pro Bit: An den Daten-Eingängen des D-Flip-Flops liegt das entsprechende Datanbit (D0, D1, D2, D3).
- Gemeinsame Steuerung für Schreiboperation: Die Enable- und Set-Signale könnten über AND-Logik verknüpft werden, um die Schreibsteuerung zu realisieren. Nur wenn beide Signale 1 sind, wird in die Flip-Flops geschrieben.

4-Bit-Addierer

Ein 4-Bit-Addierer kann durch Aneinanderreihung von vier 1-Bit-Volladdierern konstruiert werden. Jeder Volladdierer verfügt über drei Eingänge: zwei Daten-Eingänge (A und B für jeden Bit-Level) und einen Carry-In (Cin). Zudem hat jeder Volladdierer zwei Ausgänge: Summe (S) und Carry-Out (Cout).

Für vier Bits arrangieren wir vier Volladdierer in einer Kaskade:

1. 1. Bit-Level: A0 und B0 sowie ein Carry-In (gewöhnlich 0 für den ersten Volladdierer) gehen in den ersten Volladdierer.
2. Jeder folgende Volladdierer übernimmt den Carry-Out des vorherigen Volladdierers als seinen Carry-In.

Die vier Summenausgänge S0, S1, S2, S3 bilden das Ergebnis der 4-bit Addition, und der Carry-Out des letzten Volladdierers ist das Carry-Out des gesamten 4-Bit-Addierers.

1-zu-2 Decoder

Ein 1-zu-2 Decoder hat einen Eingang und zwei Ausgänge. Die Logik ist relativ einfach:

- Wenn \(F_0 = 0\), dann \(E_0 = 1\) und \(E_1 = 0\).
- Wenn \(F_0 = 1\), dann \(E_0 = 0\) und \(E_1 = 1\).

Das lässt sich beispielsweise mit einem NOT-Gate für \(E_0\) und einer direkten Verbindung für \(E_1\) an \(F_0\) realisieren.

4-Bit-ALU mit UND und ADDIEREN

Für eine 4-Bit-ALU, die entweder AND-Operationen oder 4-Bit-Additionen (basierend auf dem Steuersignal \(F_0\)) ausführen kann, benötigen wir:

- Vier AND-Gates für die AND-Operation (\(F_0 = 0\)).
- Ein 4-Bit-Addierer für die Addition (\(F_0 = 1\)).

Wir nutzen den 1-zu-2 Decoder, um zu bestimmen, welche Operation durchgeführt wird. Abhängig von \(F_0\), werden entweder die Ausgänge der AND-Gates oder des 4-Bit-Addierers selektiert und zu den Ausgangsleitungen \(O_0\) bis \(O_3\) durchgeschaltet.
Avatar von 4,6 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community