7 feiten over binaire aftrekker: halve en volledige aftrekker

  • Definitie en overzicht van binaire aftrekker
  • Halve aftrekker
  • Volledige aftrekker
  • N -bit aftrekker
  • Toepassingen van binaire aftrekker
  • VHDL implementatie van halve aftrekker en volledige aftrekker

Definitie

Een aftrekker is een apparaat dat twee getallen aftrekt en het resultaat produceert. Een digitale of binaire aftrekker is iets dat zich bezighoudt met het aftrekken van binaire cijfers.

Een binaire aftrekker is nodig voor digitale berekeningen in een digitaal apparaat of een digitale computer. De handigste manier om ongetekende binaire getallen af ​​te trekken, is de methode van complementen. Er zijn regels voor binaire aftrekking.

De binaire aftrekkingsregels worden als volgt vermeld. Hier is 0 logisch laag, en één is logisch hoog. A en B zijn twee ingangen.

ABY = A - B
000
011 (lenen 1)
101
110
Binaire aftrekking waarheidstabel

Voorbeeld van aftrekbewerkingen:

1101 - 1011

1101

- 1011

= 0010

Het antwoord is dus 0010

Methoden voor complementen kunnen als alternatief binaire aftrekkingen uitvoeren voor binaire aftrekkers. Er zijn twee soorten complementmethoden die over het algemeen worden gebruikt.

A. 1's complement

B. 2's complement

Stappen voor het uitvoeren van 1's complement:

  1. Zoek het 1-complement van het getal dat moet worden afgetrokken.
  2. Nu wordt het 1-complement opgeteld bij het getal waarvan de aftrekking gewenst is.
  3. Als er één carry in de laatste positie is, wordt van het resultaat van de toevoeging in stap 2 de drager verwijderd en zonder de carry aan het product toegevoegd om het eindresultaat te verkrijgen.

Laten we een voorbeeld nemen - 1101 - 1011

1's complement van 1011 = 0100

Voeg nu 1101 toe met 0100

1101

 + 0100

 = 1 0001

Zoals we kunnen zien, is er een als carry, dus we verwijderen de carry en voegen de carry weer toe met het verkregen resultaat.

0001

+ 1

= 0010

Het antwoord op de aftrekking is dus 0010

Voor de complementmethode van 2

  1. Bereken het 2-complement.
  2. Het complement is nu toegevoegd met een ander nummer.
  3. De carry wordt afgewezen.

Laten we een voorbeeld nemen - 1101 - 1011

2's complement van een willekeurig getal wordt berekend door 1's complement uit te voeren en er 1 aan toe te voegen.

2's complement van

Voeg nu 1101 toe met 0100

1101 0100 + = 1 0001

Zoals we kunnen zien, is er een als carry, dus we verwijderen de carry en voegen de carry weer toe met het verkregen resultaat.

0001 + 1 = 0010

Het antwoord op de aftrekking is dus 0010

Digitale computers gebruiken de 2-complement-methode voor berekeningen omdat deze minder carry vereist.

De complementmethoden in het decimale getalsysteem staan ​​bekend als de complement-methode van 9 en 10.

Diverse digitale schakelingen implementeren deze aftrekbewerking. Zij zijn -

  • Halve aftrekker
  • Volledige aftrekker

Een binaire aftrekker voert niet alleen optelbewerkingen uit, maar wordt ook gebruikt in digitale toepassingen. Decodering en codering van waarden, berekening van de index is een paar van de toepassingen.

Halve aftrekker

Een halve binaire aftrekker is een binaire aftrekker die één bit aan gegevens aftrekt en het resultaat produceert. Het heeft twee invoerzijden waardoor we de digitale logische waarden leveren, en het heeft twee uitgangen waardoor we de impact van de operatie ontvangen. Het resultaat kan in één cijfer worden weergegeven. Het werk toont het getal in de aftrekking dat dezelfde betekenis heeft als de afzonderlijke afgetrokken cijfers. De andere output toont het leenbit.

Halve aftrekker met NAND
NAND-poort implementatie. Afbeelding tegoed - NitianabigyanHalve aftrekker met NANDCC BY-SA 4.0

De waarheidstabel van de halve aftrekker

De werking van de half-binaire aftrekker wordt getoond in de volgende waarheidstabel.

ABVerschilLenen
0000
0111
1010
1100
Waarheidstabel voor halve binaire aftrekker

Half aftrekkercircuit

Uit de waarheidstabel kunnen we concluderen dat de eerste drie rijen het resultaat kunnen weergeven met een enkel cijfer. In de tweede rij wordt het werk beschreven aan de hand van twee getallen, aangezien het is geleend als 1.

Verschil = A′B + AB ′

Lenen = A′B 

Dus,

Verschil = A XOR B

Lenen = A ′ EN B

We hebben één XOR-poort, één NIET-poort en één EN-poort nodig om de logica te implementeren. XOR-poort, NIET-poort, een EN-poort kan ook worden gemaakt met behulp van universele poorten zoals NAND en NOR. Dus een halve aftrekker kan worden ontworpen met alleen universele poorten.

De volgende afbeelding toont A en B als de invoer en D als het verschil, en C als ze lenen.

Half binaire aftrekker
Halve aftrekker

Volledige aftrekker

Volledige binaire aftrekker is een ander soort binaire aftrekker die het resultaat geeft van een binaire aftrekkingsbewerking. Wanneer twee binaire getallen worden afgetrokken, behalve het minst significante cijfer, is er een inlening als Bi-1 en lenen als Bi. De volledige aftrekker is ontworpen om een ​​inleen voor elke fase af te handelen. Dat is hoe een hele order de tekortkoming van de halve aftrekker van een lopende lening overwint.

Een volledige waarheidstabel voor aftrekkers

XiYiBi-1DiBi
00000
00111
01011
01101
10010
10100
11000
11111
Volledige waarheidstabel van de aftrekker

Volledig aftrekkercircuit

Verschil = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

Lenen = A ′ Bin + A ′ B + BBin 

Om de uitdrukking met logische poorten te implementeren, moeten we het woord verder vereenvoudigen.

Verschil = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

 Of, verschil = Bin (A′B ′ + AB) + Bin ′ (AB ′ + A′B)

 Of, verschil = Bin (A XNOR B) + Bin '(A XOR B)

 Of, verschil = Bin (A XOR B) ′ + Bin '(A XOR B)

 Of, verschil = Bin XOR (A XOR B)

  Of: verschil = (A XOR B) XOR-bak

Lenen = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

 Of, lenen = A ′ B ′ Bin + A ′ BBin ′ + A ′ BBin + A ′ BBin + A ′ BBin + AB-bak

 Of, lenen = A ′ Bin (B + B ′) + A′B (Bin + Bin ′) + BBin (A + A ′)

 Of, lenen = A ′ Bin + A'B + BBin

De uitdrukking kan op een andere manier worden geschreven -

Bout = A ′ B ′ Bin + A ′ B Bin ′ + A ′ B Bin + AB Bin     

    Of, lenen = Bin (AB + A ′ B ′) + A ′ B (Bin + Bin ′)

     Of, lenen = bak (A XNOR B) + A ′ B

    Of, lenen = bak (A XOR B) ′ + A ′ B

Volledige binaire aftrekkers
Volledige aftrekkers, X, Y, Z worden ingevoerd

Zoals het schakelschema laat zien, A, B en Binch Het circuit geeft twee output als verschiloutput en leent output. De B.in wordt op 1 gezet wanneer er een lening is in ingang A. Bin wordt vervolgens afgetrokken van A en Y.

De algemene uitdrukking kan worden geschreven als D = A - B - Bin + 2 B.uit.

Volledige aftrekkers kunnen ook worden geïmplementeerd met behulp van halve aftrekkers.

1920px Volledige sub Fixed.svg
Volledige aftrekkers met halve aftrekker

N bit aftrekker

In een binaire aftrekker met één bit kan aftrekking van slechts 1 bit worden uitgevoerd. Als we de aftrekking van n -bit moeten uitvoeren, is een binaire aftrekker van n bit vereist. Een n-bit aftrekker kan op soortgelijke wijze worden geïmplementeerd met behulp van aftrekkers in cascadevorm.

Toepassingen van aftrekkers

  • Aftrekkers worden vaak gebruikt met optellers. Wanneer een opteller nodig is voor een circuit, is ook een aftrekker vereist.
  • ALU, die verantwoordelijk is voor de berekening, en blijft binnen een microprocessor, heeft ook aftrekkers nodig. CPU's hebben ook aftrekkers nodig voor gebruik.
  • Microcontrollers gebruiken ook aftrekkers voor het uitvoeren van de digitale berekening.
  • Aftrekkers worden ook gebruikt in het domein van digitale signaalverwerking.
  • Digitale computers gebruiken veel aftrekkers.

VHDL-implementatie van halve aftrekkers en volledige aftrekkers

Half aftrekker datastroom modellering

bibliotheek IEEE;

gebruik IEEE.STD_LOGIC_1164.ALL;

entiteit ENTITY_NAME is

    Poort (A: in STD_LOGIC;

           B: in STD_LOGIC;

           IB: in STD_LOGIC;

           Diff: uit STD_LOGIC;

           Borr: uit STD_LOGIC);

einde ENTITY_NAME;

Architectuur Dataflow

architectuur Dataflow van ENTITY_NAME is

beginnen

Diff <= (A x of B) x of IB;

Borr <= ((niet A) en (B of IB)) of (B en IB);

dataflow beëindigen;

Volledige gegevensstroommodellering van de aftrekker

entiteit ENTITY_NAME is

    Poort (A: in STD_LOGIC;

           B: in STD_LOGIC;

           IB: in STD_LOGIC;

           Borr: uit STD_LOGIC;

           Diff: uit STD_LOGIC);

einde ENTITY_NAME;

Architectuur dataflow

architectuur Gedrag van ENTITY_NAME is

beginnen

proces (A, B, IB)

beginnen

als (A = '0 ′ en B =' 0 ′ en IB = '0 ′) dan

Diff <= '0 ′;

Borr <= '0 ′;

elsif (A = '0 ′ en B =' 0 ′ en IB = '1 ′) dan

Borr <= '1 ′;

Diff <= '1 ′;

elsif (A = '0 ′ en B =' 1 ′ en IB = '0 ′) dan

Borr <= '1 ′;

Diff <= '1 ′;

elsif (A = '0 ′ en B =' 1 ′ en IB = '1 ′) dan

Borr <= '0 ′;

Diff <= '1 ′;

elsif (A = '1 ′ en B =' 0 ′ en IB = '0 ′) dan

Borr <= '1 ′;

Diff <= '0 ′;

elsif (A = '1 ′ en B =' 0 ′ en IB = '1 ′) dan

Borr <= '0 ′;

Diff <= '0 ′;

elsif (A = '1 ′ en B =' 1 ′ en IB = '0 ′) dan

Borr <= '0 ′;

Diff <= '0 ′;

anders

Borr <= '1 ′;

Diff <= '1 ′;

stop als;

eindproces;

Behavioral;