- Definitioner og oversigt over adder
- Typer af adder
- Halvhugger
- Fuld adder
- 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.
A | B | Y = A + B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 (bær 1) |
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.
A | B | Sum | Carry | Summen af A & B |
0 | 0 | 0 | 0 | 00 |
0 | 1 | 1 | 0 | 01 |
1 | 0 | 1 | 0 | 01 |
1 | 1 | 0 | 1 | 10 |
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 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
Ai | Bi | CI-1 | Si | Ci |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
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.
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.
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 | |||
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
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.
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;
Hej, jeg er Sudipta Roy. Jeg har taget B. Tech i elektronik. Jeg er en elektronikentusiast og er i øjeblikket dedikeret til området elektronik og kommunikation. Jeg har en stor interesse i at udforske moderne teknologier såsom AI & Machine Learning. Mine skrifter er viet til at give nøjagtige og opdaterede data til alle elever. At hjælpe nogen med at få viden giver mig enorm glæde.
Lad os oprette forbindelse via LinkedIn –