- Definition und Übersicht des binären Subtrahierers
- Halber Subtrahierer
- Voller Subtrahierer
- N-Bit-Subtrahierer
- Anwendungen des binären Subtrahierers
- VHDL Implementierung eines halben Subtrahierers und eines vollständigen Subtrahierers
Definition
Ein Subtrahierer ist ein Gerät, das zwei Zahlen subtrahiert und das Ergebnis erzeugt. Ein digitaler oder binärer Subtrahierer befasst sich mit der Subtraktion binärer Ziffern.
Für die digitale Berechnung in einem digitalen Gerät oder einem digitalen Computer wird ein binärer Subtrahierer benötigt. Der bequemste Weg, vorzeichenlose Binärzahlen zu subtrahieren, ist die Methode der Komplemente. Es gibt Regeln für die binäre Subtraktion.
Die binären Subtraktionsregeln werden wie folgt angegeben. Hier ist 0 logisch niedrig und eins ist logisch hoch. A und B sind zwei Eingänge.
A | B | Y = A - B. |
0 | 0 | 0 |
0 | 1 | 1 (1 ausleihen) |
1 | 0 | 1 |
1 | 1 | 0 |
Beispiel für Subtraktionsoperationen:
1101 – 1011
1101
- 1011
= 0010
Die Antwort lautet also 0010
Komplementmethoden können alternativ binäre Subtraktionen für binäre Subtrahierer durchführen. Es gibt zwei Arten von Komplementmethoden, die im Allgemeinen verwendet werden.
A. 1's Komplement
B. 2's Komplement
Schritte zum Ausführen des 1er-Komplements:
- Finden Sie das 1er-Komplement der zu subtrahierenden Zahl heraus.
- Nun wird das Komplement der 1 zu der Zahl addiert, von der die Subtraktion gewünscht wird.
- Befindet sich in der letzten Position ein Übertrag des Ergebnisses der Zugabe in Schritt 2, wird der Träger entfernt und dem Produkt ohne den Übertrag hinzugefügt, um das Endergebnis zu erhalten.
Nehmen wir ein Beispiel - 1101 - 1011
1-Komplement von 1011 = 0100
Fügen Sie nun 1101 mit 0100 hinzu
1101
+ 0100
= 1 0001
Wie wir sehen können, gibt es einen als Übertrag, also entfernen wir den Übertrag und fügen den Übertrag erneut mit dem erhaltenen Ergebnis hinzu.
0001
+ 1
= 0010
Die Antwort auf die Subtraktion lautet also 0010
Für die 2er-Komplementmethode
- Berechnen Sie das 2er-Komplement.
- Das Komplement wird jetzt mit einer anderen Nummer hinzugefügt.
- Der Übertrag wird abgelehnt.
Nehmen wir ein Beispiel - 1101 - 1011
Das 2er-Komplement einer beliebigen Zahl wird berechnet, indem das 1er-Komplement ausgeführt und 1 hinzugefügt wird.
2er Ergänzung von
Fügen Sie nun 1101 mit 0100 hinzu
1101 + 0100 = 1 0001
Wie wir sehen können, gibt es einen als Übertrag, also entfernen wir den Übertrag und fügen den Übertrag erneut mit dem erhaltenen Ergebnis hinzu.
0001 + 1 = 0010
Die Antwort auf die Subtraktion lautet also 0010
Digitale Computer verwenden die Komplementmethode der 2 für Berechnungen, da sie weniger Übertrag erfordern.
Die Komplementmethoden im Dezimalzahlensystem sind als 9er- und 10er-Komplementmethode bekannt.
Verschiedene digitale Schaltungen implementieren diese Subtraktionsoperation. Sie sind -
- Halber Subtrahierer
- Voller Subtrahierer
Ein binärer Subtrahierer führt nicht nur Additionsoperationen aus, sondern wird auch in digitalen Anwendungen verwendet. Dekodierung und Kodierung von Werten, Berechnung des Index ist einige seiner Anwendungen.
Halber Subtrahierer
Ein halber binärer Subtrahierer ist ein binärer Subtrahierer, der ein Datenbit subtrahiert und das Ergebnis erzeugt. Es hat zwei Eingangsseiten, über die wir die digitalen Logikwerte liefern, und es hat zwei Ausgänge, über die wir die Auswirkungen der Operation erhalten. Das Ergebnis kann einstellig angezeigt werden. Die Arbeit zeigt die Zahl in der Subtraktion, die die gleiche Bedeutung hat wie die einzelnen subtrahierten Ziffern. Der andere Ausgang zeigt das Ausleihbit.
Die halbe Subtrahierer-Wahrheitstabelle
Die Arbeitsweise des halbbinären Subtrahierers ist in der folgenden Wahrheitstabelle dargestellt.
A | B | Unterschied | Ausleihen |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
Halbe Subtrahierschaltung
Aus der Wahrheitstabelle können wir schließen, dass die ersten drei Zeilen das Ergebnis mit einer einzelnen Ziffer darstellen können. In der zweiten Zeile wird die Arbeit mit zwei Zahlen beschrieben, da sie als 1 ausgeliehen wurde.
Differenz = A'B + AB '
Ausleihen = A'B
Damit
Differenz = A XOR B.
Ausleihen = A 'UND B.
Wir benötigen ein XOR-Gatter, ein NICHT-Gatter und ein UND-Gatter, um die Logik zu implementieren. XOR-Gatter, NICHT-Gatter, ein UND-Gatter kann auch unter Verwendung von Universalgattern wie NAND und NOR hergestellt werden. Ein halber Subtrahierer kann also nur mit universellen Toren konstruiert werden.
Das folgende Bild zeigt A und B als Eingang und D als Differenz und C als Ausleihe.
Voller Subtrahierer
Full Binary Subtractor ist eine andere Art von binärem Subtrahierer, der das Ergebnis einer binären Subtraktionsoperation liefert. Wenn zwei Binärzahlen mit Ausnahme der niedrigstwertigen Ziffer subtrahiert werden, erfolgt eine Ausleihe als B.i-1 und als B ausleiheni. Der vollständige Subtrahierer ist für die Ausleihe für jede Stufe ausgelegt. Auf diese Weise überwindet ein ganzer Auftrag das Manko eines halben Subtrahierers beim Ausleihen.
Eine vollständige Subtrahierer-Wahrheitstabelle
Xi | Yi | Bi-1 | Di | Bi |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
Volle Subtrahierschaltung
Differenz = A 'B' B.in + AB 'B.in'+ A' BBin'+ ABBin
Ausleihen = A 'B.in + A 'B + BBin
Um den Ausdruck mithilfe logischer Gatter zu implementieren, müssen wir das Wort weiter vereinfachen.
Differenz = A 'B' B.in + AB 'B.in'+ A' BBin'+ ABBin
Oder Differenz = B.in (A'B '+ AB) + B.in '(AB' + A'B)
Oder Differenz = B.in (A XNOR B) + B.in '(A XOR B)
Oder Differenz = B.in (A XOR B) '+ B.in '(A XOR B)
Oder Differenz = B.in XOR (A XOR B)
Oder Differenz = (A XOR B) XOR Bin
Ausleihen = A 'B' B.in + AB 'B.in'+ A' BBin'+ ABBin
Oder leihen = A 'B' B.in + A 'BBin '+ A' BBin + A 'BBin + A 'BBin + AB Bin
Oder leihen = A 'B.in (B + B ') + A'B (B.in + Bin ') + BBin (A + A ')
Oder leihen = A 'B.in + A'B + BBin
Der Ausdruck kann anders geschrieben werden -
Bout = A 'B' Bin + A 'B Bin' + A 'B Bin + AB Bin
Oder leihen = Bin (AB + A 'B') + A 'B (Bin + Bin')
Oder leihen = Bin (A XNOR B) + A 'B.
Oder leihen = Bin (A XOR B) '+ A' B.
Wie der Schaltplan zeigt, A, B und B.in. Die Schaltung gibt zwei Ausgänge als Differenzausgang aus und leiht den Ausgang aus. Das Bin wird immer dann auf 1 gesetzt, wenn Eingang A ausgeliehen wird. B.in wird dann von A und Y subtrahiert.
Der allgemeine Ausdruck kann geschrieben werden als D = A - B - B.in + 2 B.out.
Volle Subtrahierer können auch mit halben Subtrahierern implementiert werden.
N-Bit-Subtrahierer
In einem binären Einzelbit-Subtrahierer kann die Subtraktion von nur 1 Bit durchgeführt werden. Wenn wir eine Subtraktion von n Bit durchführen müssen, ist ein binärer Subtrahierer mit n Bit erforderlich. Ein n-Bit-Subtrahierer kann auf ähnliche Weise implementiert werden, indem Subtrahierer in kaskadierter Form verwendet werden.
Anwendungen von Subtrahierern
- Subtrahierer werden häufig mit Addierern verwendet. Immer wenn ein Addierer für eine Schaltung benötigt wird, ist auch ein Subtrahierer erforderlich.
- ALU, die für die Berechnung zuständig ist, und bleibt in einem Mikroprozessor, braucht auch Subtrahierer. Auch CPUs benötigen Subtrahierer für den Betrieb.
- Mikrocontroller verwenden auch Subtrahierer zur Durchführung der digitalen Berechnung.
- Subtrahierer werden auch im Bereich der digitalen Signalverarbeitung verwendet.
- Digitale Computer verwenden viele Subtrahierer.
VHDL-Implementierung von Halb- und Vollsubtrahierern
Half Subtractor Datenflussmodellierung
Bibliothek IEEE;
benutze IEEE.STD_LOGIC_1164.ALL;
Entität ENTITY_NAME ist
Port (A: in STD_LOGIC;
B: in STD_LOGIC;
IB: in STD_LOGIC;
Diff: out STD_LOGIC;
Borr: out STD_LOGIC);
ENTITY_NAME beenden;
Architekturdatenfluss
Architektur Datenfluss von ENTITY_NAME ist
beginnen
Diff <= (A x oder B) x oder IB;
Borr <= ((nicht A) und (B oder IB)) oder (B und IB);
Datenfluss beenden;
Vollständige Subtrahierer-Datenflussmodellierung
Entität ENTITY_NAME ist
Port (A: in STD_LOGIC;
B: in STD_LOGIC;
IB: in STD_LOGIC;
Borr: out STD_LOGIC;
Diff: out STD_LOGIC);
ENTITY_NAME beenden;
Architekturdatenfluss
Architektur Das Verhalten von ENTITY_NAME ist
beginnen
Prozess (A, B, IB)
beginnen
wenn (A = '0' und B = '0' und IB = '0') dann
Diff <= '0';
Borr <= '0';
elsif (A = '0' und B = '0' und IB = '1') dann
Borr <= '1';
Diff <= '1';
elsif (A = '0' und B = '1' und IB = '0') dann
Borr <= '1';
Diff <= '1';
elsif (A = '0' und B = '1' und IB = '1') dann
Borr <= '0';
Diff <= '1';
elsif (A = '1' und B = '0' und IB = '0') dann
Borr <= '1';
Diff <= '0';
elsif (A = '1' und B = '0' und IB = '1') dann
Borr <= '0';
Diff <= '0';
elsif (A = '1' und B = '1' und IB = '0') dann
Borr <= '0';
Diff <= '0';
sonst
Borr <= '1';
Diff <= '1';
ende wenn;
Prozess beenden;
Ende Verhalten;
Hallo, ich bin Sudipta Roy. Ich habe einen B. Tech in Elektronik gemacht. Ich bin ein Elektronik-Enthusiast und widme mich derzeit dem Bereich Elektronik und Kommunikation. Ich habe großes Interesse an der Erforschung moderner Technologien wie KI und maschinellem Lernen. Mein Ziel ist es, allen Lernenden genaue und aktuelle Daten zur Verfügung zu stellen. Es macht mir große Freude, jemandem beim Wissenserwerb zu helfen.
Vernetzen wir uns über LinkedIn –