7 Fakten zum binären Subtrahierer: Halb- und Vollsubtrahierer

  • 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.

ABY = A - B.
000
011 (1 ausleihen)
101
110
Binäre Subtraktion Wahrheitstabelle

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:

  1. Finden Sie das 1er-Komplement der zu subtrahierenden Zahl heraus.
  2. Nun wird das Komplement der 1 zu der Zahl addiert, von der die Subtraktion gewünscht wird.
  3. 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

  1. Berechnen Sie das 2er-Komplement.
  2. Das Komplement wird jetzt mit einer anderen Nummer hinzugefügt.
  3. 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.

Halber Subtrahierer mit NAND
NAND-Gate-Implementierung. Bildnachweis - NitianabhigyanHalber Subtrahierer mit NANDCC BY-SA 4.0

Die halbe Subtrahierer-Wahrheitstabelle

Die Arbeitsweise des halbbinären Subtrahierers ist in der folgenden Wahrheitstabelle dargestellt.

ABUnterschiedAusleihen
0000
0111
1010
1100
Wahrheitstabelle für halben binären Subtrahierer

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.

Halbbinärer Subtrahierer
Halber Subtrahierer

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

XiYiBi-1DiBi
00000
00111
01011
01101
10010
10100
11000
11111
Vollständige Subtraktor-Wahrheitstabelle

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.

Vollständige binäre Subtrahierer
Volle Subtrahierer, X, Y, Z werden eingegeben

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.

1920px Vollständiger Untertitel Fixed.svg
Volle Subtrahierer mit halbem Subtrahierer

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;