7 fakta om fakta om binær adderer: Fuld adder & Half Adder

  1. Definitioner og oversigt over adder
  2. Typer af adder
  3. Halvhugger
  4. Fuld adder
  5. BCD adder

Definitioner:

En adder er en enhed, der tilføjer to tal og producerer resultatet. En binær adderer er noget, der beskæftiger sig med tilføjelse af binære tal.

En binær adderer er en digital enhed og nødvendig til digitale beregninger. Operationen, der udføres i en binær adder, overholder reglerne for binær tilføjelse. Her to bits svarende til 2n tilføjes, og den resulterende føjes derefter til bæringen fra 2n-1 ciffer.

Reglerne for binær tilføjelse er angivet som følger. Her er 0 lav logik og 1 logisk høj. A og B er to indgange.

ABY = A + B
000
011
101
110 (bær 1)
Binær tilsætning

Eksempel på tilføjelsesoperationer:

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

Så svaret er 110010

Typer af Adder

Denne tilføjelsesoperation er implementeret af forskellige digitale kredsløb. De er -

  • Halvadder
  • Fuld adder
  • BCD Adder

En binær adder udfører ikke kun tilføjelsesoperationer, men bruges også i andre digitale applikationer. Afkodning af adresse, beregning af indeks er få af dets applikationer.

Halvadder

En halv adder er en type binær adder, der tilføjer en bit data og producerer resultatet. Den har to indgangssider, gennem hvilke vi leverer de digitale logiske værdier, og den har to udgange, hvorigennem vi modtager resultatet af operationen. Resultatet kan vises med et enkelt ciffer. Outputtet viser cifret i summen, der har samme betydning som de tilføjede individuelle cifre. Den anden udgang viser bærebiten.

Sandhedstabel med halv adder

Funktionen af ​​halvtælleren vises i den følgende sandhedstabel.

ABSumCarrySummen af ​​A & B
000000
011001
101001
110110
Sandhedstabel over halvtroder

Nu fra sandhedstabellen kan vi se, at de første tre rækker kan repræsentere summen ved hjælp af et enkelt ciffer. I den sidste række repræsenteres summen ved hjælp af to cifre, da den har 1 som bærer. Her er summen nul, og bær 1 skal tages til positionen med den næste højere betydning.

Sum = A 'B + AB'

Bær = AB

Så,

Sum = A XOR B

Carry = A OG B

For at implementere logikken har vi brug for en XOR-port og en AND-port. XOR gate og AND gate kan også laves ved hjælp af universelle porte som NAND og NOR. Så en halvhugger kan kun designes ved hjælp af universelle porte.

Det følgende billede viser A og B som input og S som sum og C som carry.

Fuld binær adder
Halv binær adderer, billedkilde - induktiv belastningHalvadder, markeret som offentligt domæne, flere detaljer om Wikimedia Commonsmedier

Fuld adder

En anden type binær adderer er fuld adder. Det tilføjer også binære data og producerer output. Nu, når to binære tal tilføjes, undtagen det mindst signifikante ciffer, er der en indføring som CI-1 og udføres som Ci. Den fulde adder er designet til at håndtere en indføring til hvert trin. Det er sådan, at en fuld ordre overvinder manglen på halv adder ved håndtering af indførsel.

Fuld adder sandhedstabel

AiBiCI-1SiCi
00000
00110
01010
01101
10010
10101
11001
11111
Fuld Adder Sandhedstabel

Fuld Adder Circuit

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

Og bæret kommer som:

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

Eller Ci =(Tili Bi + Ai Bi) CI-1   + (Ai Bi + Ai Bi) CI-1

Eller Ci = Ai Bi + (Ai Bi + Ai Bi) CI-1

Overvej nu, at en halv adder har input A og B. Udgangssummen er S og bær er C. Nu kan ekspressionen af ​​Si og Ci fås fra udtryk for Sum og bær af halvt adder kredsløb.

Si = SCI-1 + SCI-1

Ci = C + SCI-1

Nu, for at implementere en fuld adder ved hjælp af halv adders har vi brug for to halv adders og en ELLER gate. Fuld adderimplementeringer ved hjælp af halve addere er repræsenteret i nedenstående figur.

Fuldt adder logikdiagram
Fuld binær adderer, billedkilde - Induktiv belastningKomplet logordiagram, markeret som offentligt domæne, flere detaljer om Wikimedia Commons

Som vi kan se på figuren, at den første halvdel af markøren (markeret som-) har input Ai og Bi. Anden halvdel af markøren (markeret som-) har input af C I-1 og output fra den første halvdel, der er S. Resultatet af den anden halvdel, er Si og SCI-1.

Nu, SCI-1 repræsenterer udførelsen. Bæringen af ​​den første halvdel, der er C, og den anden halvdel, der er SCI-1 tilføres som input til en ELLER-port. Outputtet fra ELLER-porten er den sidste udførelse af hele adderkredsløbet.

Parallelle binære addere

En fuld adder er nødvendig for tilføjelsen af ​​bits i hvert tilføjelsestrin bortset fra tilføjelsen af ​​mindst signifikante cifre på den anden side er to halve tilføjere nødvendige for at fuldføre en fuld adder. Det følger reglen om, at tilføjelsen af ​​to n-bit tal vil kræve 2 * m -1 antal halv adder og m-1 antal OR-porte. Denne type binære tilføjere er kendt som parallelle binære tilføjere. Driftshastigheden for disse typer adders er meget hurtig. Derfor foretrækkes de i moderne beregningsenheder.  

Lad os tilføje 101 og 111 som et eksempel på parallel binær adder. Figuren nedenfor repræsenterer tilføjelsen.

4 bit carry lookahead adder
Parallel binær adderer, billedkilde - da: Bruger: Cburnett4-bit bærer lookahead adderCC BY-SA 3.0

Første halvdel adderer (markeret som-1) tilføjer de yderste højre bits 1 og 1 for at producere den binære sum 0 og bære 1 i henhold til reglerne for binær addition. Outputtet fra den halve adderer føres ind i indgangen til den første fulde adder (markeret som- 2). De to andre indgange fra første fuldadder er de to næste bit, der er 0 og 1. Udgangene fra den første fulde optæller er 0 som sum og 1 som bærer. De føjes yderligere til input af anden fuldhugger. De to andre indgange er 1 og 1. Udgangene fra den anden fulde optæller er 1 som sum og 1 som bærer. Så resultatet af summeringen er 1100.

Nu, et punkt, der skal bemærkes, at i stedet for en halv adder ved den mindst signifikante cifferposition kan en fuld adder bruges med dens bæreindgang lavet 0.

BCD Adder

Udtrykket BCD i BCD-adder står for Binary Coded Decimal. BCD er en speciel type binær kodning, hvor hvert ciffer har et bestemt antal bits til repræsentation. BCD'en med de første 10 decimalværdier vises i tabellen.

Decimal ciffer BCD  
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
BCD ADDER

BCD-adder har to indgange, der varierer fra 0 til 9. Outputtet varierer fra 0 til 18, og hvis den foregående bæring tages i betragtning, vil området være op til 19.

Tabellen for BCD-adderer er angivet nedenfor.

decimal- eller bcd-adder
BCD Adder Sandhedstabel

Fra ovenstående tabel kan vi se, at fra 1 til 9 er binær og BCD den samme. Fra 10 til 19 decimaltal er både binære og koder forskellige.

Kredsløbsdiagrammet for en BCD-optager er vist nedenfor.

  • I ovenstående diagram er der en fire-bit binær adder, som har input som tilføjet og augend. Det har også input af bære.
  • Den binære adder giver output af tilføjelsen og en bæreoutput.
  • Nu, ved hjælp af output og bære kredsløbet er yderligere designet til at finde ud af den endelige bære.
  • Outputtet føres yderligere ind i en 4-bit adder.
  • Nu er kredsløbet designet til at gøre 1st og 4th bit af det tilføjede nummer som 0 og også 2nd og 3rd bit for at gøre det samme som Carry. Når bæringen er 1, er kredsløbet designet på en sådan måde, at det tilføjede bliver 0110. 6 tilføjes med augend for at få BCD.

Eksempel på BCD

0110 + 0101 = 1011

Nu er dette ugyldigt som BCD. Antallet er større end 9. Så vi er nødt til at tilføje 6 til resultatet.

Det endelige resultat bliver = 1011 + 0110 =

1011 + 0110 = 10001

Så det endelige svar bliver 10001

Kend til subtraktorer! Klik her!

VHDL implementering af Half adder og Full Adder

HALVBINÆR ADDER DATAFLOW MODELLERING

bibliotek IEEE;

brug IEEE.std_logic_1164.all;

enhed halv_adder_dataflow er

    Port (a: i STD_LOGIC;

           b: i STD_LOGIC;

           s: ude STD_LOGIC;

           c: ude STD_LOGIC);

afslut halv_adder_dataflow;

arkitektur Behavioral af half_adder_dataflow er

begynde

s <= a XOR b;             

c <= a OG b;            

slut Adfærdsmæssig;

HALV- BINÆR ADDER OPFØRELSESMODELLERING:

enhed SUDIPTA_ROY_HALFADD er

    Port (A: i STD_LOGIC;

           B: i STD_LOGIC;

           C: ude STD_LOGIC;

           S: ude STD_LOGIC;

           Z: ude STD_LOGIC);

afslut SUDIPTA_ROY_HALFADD;

arkitektur Behavioral af SUDIPTA_ROY_HALFADD er

begynde

proces (A, B)

begynde

hvis (A = '0' og B = '0') så

S <= '0';

C <= '0';

elsif (A = '0' og B = '1') derefter

S <= '1';

C <= '0';

elsif (A = '1' og B = '0') derefter

S <= '0';

C <= '1';

andet

S <= '1';

C <= '1';

Afslut Hvis;

afslutningsproces

slut Adfærdsmæssig;

FULDLÆGGENDE DATAFLOW MODELLERING

bibliotek IEEE;

brug IEEE.STD_LOGIC_1164.ALL;

enhed SUDIPTA_ROY_FULLADD er

    Port (A: i STD_LOGIC;

           B: i STD_LOGIC;

           Cin: i STD_LOGIC;

           S: ude STD_LOGIC;

           Bil: ude STD_LOGIC);

afslut SUDIPTA_ROY_FULLADD;

arkitektur Dataflow af SUDIPTA_ROY_FULLADD er

begynde

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

Bil <= (A og B) eller (B og Cin) eller (Cin og A);

afslut Dataflow;

FULDTILFØJENDE ADFÆRDIG MODELLERING

enhed SAERI_DATT_FULLADD er

    Port (A: i STD_LOGIC;

           B: i STD_LOGIC;

           Cin: i STD_LOGIC;

           S: ude STD_LOGIC;

           Bil: ude STD_LOGIC);

afslut SAERI_DATT_FULLADD;

arkitektur Behavioral af SAERI_DATT_FULLADD er

begynde

proces (A, B, Cin)

begynde

hvis (A = '0' og B = '0' og Cin = '0') så

S <= '0';

Bil <= '0';

elsif (A = '0' og B = '0' og Cin = '1') derefter

S <= '1';

Bil <= '0';

elsif (A = '0' og B = '1' og Cin = '0') derefter

S <= '1';

Bil <= '0';

elsif (A = '0' og B = '1' og Cin = '1') derefter

S <= '0';

Bil <= '1';

elsif (A = '1' og B = '0' og Cin = '0') derefter

S <= '1';

Bil <= '0';

elsif (A = '1' og B = '0' og Cin = '1') derefter

S <= '0';

Bil <= '1';

elsif (A = '1' og B = '1' og Cin = '0') derefter

S <= '0';

Bil <= '1';

andet

S <= '1';

Bil <= '1';

 Afslut Hvis;

 afslutningsproces

 slut Adfærdsmæssig;