7 feiten over feiten over binaire opteller: volledige opteller en halve opteller

  1. Definities en overzicht van opteller
  2. Soorten optellers
  3. Halve opteller
  4. Volledige opteller
  5. BCD-opteller

Definities:

Een opteller is een apparaat dat twee getallen optelt en het resultaat produceert. Een binaire opteller is iets dat zich bezighoudt met het optellen van binaire getallen.

Een binaire opteller is een digitaal apparaat en is nodig voor digitale berekeningen. De bewerking die wordt uitgevoerd in een binaire opteller, volgt de regels van binaire optelling. Hier twee bits die overeenkomen met 2n worden toegevoegd en de resulterende wordt vervolgens toegevoegd aan de carry van de 2n-1 cijfer.

De regels voor binaire optelling worden als volgt vermeld. Hier is 0 logisch laag en 1 is logisch hoog. A en B zijn twee ingangen.

ABJ = A + B
000
011
101
110 (draag 1)
Binaire optelling

Voorbeeld van optelbewerkingen:

  • 11111 + 1011 + 101 + 10 + 1
  • 11111+1011=101010
  • 101010 + 101 = 101111
  • 110001 + 1 = 110010

Het antwoord is dus 110010

Soorten optellers

Deze optelbewerking wordt geïmplementeerd door verschillende digitale schakelingen. Zij zijn -

  • Half opteller
  • Volledige toevoeging
  • BCD-opteller

Een binaire opteller voert niet alleen optelbewerkingen uit, maar wordt ook gebruikt in andere digitale toepassingen. Decodering van het adres, berekening van de index zijn enkele van de toepassingen.

Half opteller

Een halve opteller is een type binaire opteller die een bit aan gegevens toevoegt en het resultaat produceert. Het heeft twee ingangszijde waardoor we de digitale logische waarden leveren en het heeft twee uitgangen waardoor we het resultaat van de operatie ontvangen. Het resultaat kan in één cijfer worden weergegeven. De uitvoer toont het cijfer in de som dat dezelfde betekenis heeft als de afzonderlijke toegevoegde cijfers. De andere output toont de carry-bit.

Half Adder Truth-tabel

De werking van de halve opteller wordt getoond in de volgende waarheidstabel.

ABSomDragenSom van A & B
000000
011001
101001
110110
Waarheidstabel van halve opteller

Nu kunnen we aan de hand van de waarheidstabel zien dat de eerste drie rijen de som kunnen vertegenwoordigen met een enkel cijfer. Op de laatste rij wordt de som weergegeven met twee cijfers, aangezien er 1 als carry is. Hier is de som nul en moet carry 1 naar de positie met de volgende hogere significantie worden gebracht.

Som = A ′ B + AB ′

Dragen = AB

Dus,

Som = A XOR B

Dragen = A EN B

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

De volgende afbeelding toont A en B als de invoer en S als de som en C als de carry.

Volledige binaire opteller
Half binaire opteller, afbeeldingsbron - inductieve belastingHalf opteller, gemarkeerd als openbaar domein, meer informatie over Wikimedia Commonsgemiddeld

Volledige toevoeging

Een ander type binaire opteller is volledige opteller. Het voegt ook binaire gegevens toe en produceert de uitvoer. Als er nu twee binaire getallen worden opgeteld, is er behalve het minst significante cijfer een carry-in als Ci-1 en uitvoeren als Ci. De volledige opteller is ontworpen om een ​​carry-in voor elke fase te verwerken. Dat is hoe een volledige bestelling de tekortkoming van een halve toevoeging van het afhandelen van carry-in overwint.

Volledige waarheidstabel

AiBiCi-1SiCi
00000
00110
01010
01101
10010
10101
11001
11111
Volledige Adder Truth Table

Volledig optelcircuit

Si = Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + (Ai Bi + Ai Bi) Ci-1   + (Ai Bi + Ai Bi) Ci-1

En de carry komt als:

Ci = Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 

Of, Ci =(Naari Bi + Ai Bi) Ci-1   + (Ai Bi + Ai Bi) Ci-1

Of, Ci = Ai Bi + (Ai Bi + Ai Bi) Ci-1

Overweeg nu dat een halve opteller ingangen A en B heeft. De uitgangssom is S en carry is C. Nu kan de uitdrukking van Si en Ci worden verkregen uit de uitdrukkingen van Som en carry van een halve optelschakeling.

Si = SCi-1 + SCi-1

Ci = C + SCi-1

Om een ​​volledige opteller te implementeren met halve optellers, hebben we twee halve optellers en één OF-poort nodig. Implementaties van volledige optellers met halve optellers worden weergegeven in de onderstaande afbeelding.

Volledig optellogica-diagram
Volledige binaire opteller, afbeeldingsbron - InductiveloadLogisch diagram met volledige opteller, gemarkeerd als openbaar domein, meer informatie over Wikimedia Commons

Zoals we in de figuur kunnen zien, heeft de eerste halve opteller (gemarkeerd als-) de invoer Ai en Bi. De tweede helft opteller (gemarkeerd als-) heeft ingangen van C i-1 en uitvoer van de eerste halve opteller dat is S. De uitvoer van de tweede halve opteller is Si en SCi-1.

Nu, SCi-1 vertegenwoordigt het uitvoeren. De carry van de opteller van de eerste helft, dat is C, en de carry van de opteller van de tweede helft, die SC isi-1 worden gevoed als input van een OF-poort. De uitvoer van de OF-poort is de laatste uitvoering van het volledige optelschakeling.

Parallelle binaire toevoegingen

Een volledige opteller is nodig voor de toevoeging van bits in elke optelstap, behalve de toevoeging van de minst significante cijfers. Aan de andere kant zijn twee halve optellers nodig om een ​​volledige opteller te voltooien. Het volgt de regel dat de optelling van twee n-bit getallen 2 * m -1 aantal halve optellers en m-1 aantal OF-poorten vereist. Dit type binaire adders staat bekend als parallelle binaire adders. De werkingssnelheid van dit soort adders is erg hoog. Daarom hebben ze de voorkeur in moderne computerapparatuur.  

Laten we 101 en 111 toevoegen als een voorbeeld van een parallelle binaire opteller. De onderstaande afbeelding geeft de bijtelling weer.

4 bit carry lookahead opteller
Parallelle binaire opteller, Afbeeldingsbron - nl: Gebruiker: Cburnett4-bit carry lookahead-optellerCC BY-SA 3.0

De eerste halve opteller (gemarkeerd als -1) voegt de extreemrechtse bits 1 en 1 toe om de binaire som 0 te produceren en de carry 1 volgens de regels van binaire optelling. De uitvoer van de halve opteller wordt ingevoerd in de invoer van de eerste volledige opteller (gemarkeerd als -2). De andere twee ingangen van de eerste volledige opteller zijn de twee volgende bits die 0 en 1 zijn. De uitgangen van de eerste volledige opteller zijn 0 als som en 1 als carry. Ze worden verder ingevoerd in de invoer van de tweede volledige opteller. De andere twee ingangen zijn 1 en 1. De uitgangen van de tweede volledige opteller zijn 1 als som en 1 als carry. Het resultaat van de sommatie is dus 1100.

Nu, een punt om op te merken dat in plaats van een halve opteller op de minst significante cijferpositie, een volledige opteller kan worden gebruikt met zijn carry-invoer op 0.

BCD-opteller

De term BCD in BCD-adder staat voor Binary Coded Decimal. BCD is een speciaal type binaire codering waarbij elk cijfer een bepaald aantal bits heeft voor weergave. De BCD met de eerste 10 decimale waarde wordt in de tabel weergegeven.

Decimaal cijfer BCD  
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
BCD-ADDER

BCD-opteller heeft twee ingangen die variëren van 0 tot 9. De uitvoer varieert van 0 tot 18 en als de vorige carry wordt overwogen, is het bereik maximaal 19.

De tabel voor BCD-opteller wordt hieronder gegeven.

decimale of bcd-opteller
BCD Adder Waarheidstabel

Uit de bovenstaande tabel kunnen we zien dat van 1 tot 9 het binaire bestand en het BCD hetzelfde zijn. Van 10 tot 19 decimale getallen, zowel het binaire getal als de codes zijn verschillend.

Het schakelschema van een BCD-opteller wordt hieronder weergegeven.

  • In het bovenstaande diagram is er een vier-bits binaire opteller die invoer heeft als toegevoegd en vergroot. Het heeft ook input van carry.
  • De binaire opteller geeft uitvoer van de optelling en een uitvoeruitvoer.
  • Nu, met behulp van de output en de carry, wordt het circuit verder ontworpen om de laatste carry te achterhalen.
  • De uitvoer wordt verder ingevoerd in een 4-bits opteller.
  • Nu is het circuit ontworpen om de 1 te makenst en 4th bit van het toegevoegde nummer als 0 en ook de 2nd en 3rd beetje om hetzelfde te maken als Carry. Wanneer de carry 1 is, is het circuit zo ontworpen dat de toegevoegde 0110 zal zijn. 6 wordt toegevoegd met augend om de BCD te krijgen.

Voorbeeld van BCD

0110 + 0101 = 1011

Nu is dit ongeldig als BCD. Het aantal is groter dan 9. We moeten dus 6 bij het resultaat optellen.

Het uiteindelijke resultaat is = 1011 + 0110 =

1011 + 0110 = 10001

Het uiteindelijke antwoord is dus 10001

Weet over aftrekkers! Klik hier!

VHDL implementatie van Half adder en Full Adder

HALF-BINAIRE ADDER DATAFLOW-MODELLERING

bibliotheek IEEE;

gebruik IEEE.std_logic_1164.all;

entiteit half_adder_dataflow is

    Poort (a: in STD_LOGIC;

           b: in STD_LOGIC;

           s: uit STD_LOGIC;

           c: uit STD_LOGIC);

einde half_adder_dataflow;

architectuur Gedrag van half_adder_dataflow is

beginnen

s <= a XOR b;             

c <= a EN b;            

Behavioral;

HALF BINAIRE ADDER GEDRAGSMODELLERING:

entiteit SUDIPTA_ROY_HALFADD is

    Poort (A: in STD_LOGIC;

           B: in STD_LOGIC;

           C: uit STD_LOGIC;

           S: uit STD_LOGIC;

           Z: uit STD_LOGIC);

einde SUDIPTA_ROY_HALFADD;

architectuur Gedrag van SUDIPTA_ROY_HALFADD is

beginnen

proces (A, B)

beginnen

if (A = '0 ′ en B =' 0 ′) dan

S <= '0 ′;

C <= '0 ′;

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

S <= '1 ′;

C <= '0 ′;

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

S <= '0 ′;

C <= '1 ′;

anders

S <= '1 ′;

C <= '1 ′;

stop als;

eindproces;

Behavioral;

FULL-ADDER DATAFLOW-MODELLERING

bibliotheek IEEE;

gebruik IEEE.STD_LOGIC_1164.ALL;

entiteit SUDIPTA_ROY_FULLADD is

    Poort (A: in STD_LOGIC;

           B: in STD_LOGIC;

           Cin: in STD_LOGIC;

           S: uit STD_LOGIC;

           Auto: uit STD_LOGIC);

einde SUDIPTA_ROY_FULLADD;

architectuur Dataflow van SUDIPTA_ROY_FULLADD is

beginnen

S <= (A x of B) x of Cin;

Auto <= (A en B) of (B en Cin) of (Cin en A);

einde Dataflow;

FULL-ADDER GEDRAGSMODELLERING

entiteit SAERI_DATT_FULLADD is

    Poort (A: in STD_LOGIC;

           B: in STD_LOGIC;

           Cin: in STD_LOGIC;

           S: uit STD_LOGIC;

           Auto: uit STD_LOGIC);

einde SAERI_DATT_FULLADD;

architectuur Gedrag van SAERI_DATT_FULLADD is

beginnen

proces (A, B, Cin)

beginnen

if (A = '0 ′ en B =' 0 ′ en Cin = '0 ′) dan

S <= '0 ′;

Auto <= '0 ′;

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

S <= '1 ′;

Auto <= '0 ′;

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

S <= '1 ′;

Auto <= '0 ′;

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

S <= '0 ′;

Auto <= '1 ′;

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

S <= '1 ′;

Auto <= '0 ′;

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

S <= '0 ′;

Auto <= '1 ′;

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

S <= '0 ′;

Auto <= '1 ′;

anders

S <= '1 ′;

Auto <= '1 ′;

 stop als;

 eindproces;

 Behavioral;