- Definice a přehled zmije
- Druhy zmije
- Napůl zmije
- Úplné zmije
- BCD sčítač
Definice:
Sčítačka je zařízení, které sčítá dvě čísla a vytváří výsledek. Binární sčítač je něco, co se zabývá přidáváním binárních čísel.
Binární sčítač je digitální zařízení a je potřebný pro digitální výpočty. Operace prováděná v binárním sčítači se řídí pravidly binárního sčítání. Zde dva bity odpovídající 2n jsou přidány a výslednice je poté přidána k přenosu z 2n-1 číslice.
Pravidla binárního přidávání jsou uvedena následovně. Zde 0 je logicky nízká a 1 je logicky vysoká. A a B jsou dva vstupy.
A | B | Y = A + B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 (nést 1) |
Příklad operací přidání:
- 11111 1011 + 101 10 + 1 XNUMX + XNUMX + XNUMX
- 11111+ 1011 = 101010
- 101010 + 101 = 101111
- 110001 + 1 = 110010
Odpověď je tedy 110010
Druhy zmije
Tato operace sčítání je implementována různými digitálními obvody. Oni jsou -
- Napůl zmije
- Plná zmije
- BCD zmije
Binární sčítač provádí nejen operace sčítání, ale také se používá v jiných digitálních aplikacích. Dekódování adresy, výpočet indexu jsou některé z jeho aplikací.
Napůl zmije
Poloviční sčítač je typ binárního sčítače, který přidává jeden bit dat a vytváří výsledek. Má dvě vstupní strany, kterými dodáváme digitální logické hodnoty, a má dva výstupy, kterými dostáváme výsledek operace. Výsledek lze zobrazit v jedné číslici. Výstup ukazuje číslici v součtu, která má stejný význam jako přidané jednotlivé číslice. Druhý výstup ukazuje přenosový bit.
Poloviční zmije Pravda tabulka
Funkce poloviční sčítačky je uvedena v následující tabulce pravdivosti.
A | B | Součet | Nést | Součet A & B. |
0 | 0 | 0 | 0 | 00 |
0 | 1 | 1 | 0 | 01 |
1 | 0 | 1 | 0 | 01 |
1 | 1 | 0 | 1 | 10 |
Nyní z tabulky pravdy můžeme pozorovat, že první tři řádky mohou představovat součet pomocí jediné číslice. Na posledním řádku je součet reprezentován pomocí dvou číslic, protože má 1 jako carry. Zde je součet nulový a nést 1 musí být vzat na pozici další vyšší významnosti.
Součet = A ′ B + AB ′
Nést = AB
Takže,
Součet = A XOR B
Carry = A A B
K implementaci logiky potřebujeme jednu bránu XOR a jednu bránu AND. Bránu XOR a bránu AND lze také vyrobit pomocí univerzálních bran, jako jsou NAND a NOR. Poloviční zmije tedy může být navrženo pouze s použitím univerzálních bran.
Následující obrázek ukazuje A a B jako vstup a S jako součet a C jako přenos.
Plná zmije
Dalším typem binárního sčítače je plný sčítač. Také přidává binární data a produkuje výstup. Nyní, když jsou přidána dvě binární čísla, s výjimkou nejméně významné číslice, existuje přenos jako Ci-1 a provádět jako Ci. Plná sčítačka je navržena tak, aby zvládla přenos do každé fáze. Takto úplná objednávka překonává nedostatek poloviny sčítače manipulace s odbavením.
Plná tabulka pravdivosti zmije
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 |
Plný obvod zmije
Si = Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + (A.i Bi + Ai Bi) C.i-1 + (A.i Bi + Ai Bi) C.i-1
A taška přichází jako:
Ci = Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1
Nebo C.i = (A.i Bi + Ai Bi) C.i-1 + (A.i Bi + Ai Bi) C.i-1
Nebo C.i = Ai Bi + (A.i Bi + Ai Bi) C.i-1
Nyní zvažte, že poloviční sčítačka má vstupy A a B. Výstupní součet je S a přenos je C. Nyní výraz Si a Ci lze získat z výrazů součtu a přenosu obvodu polovičního sčítače.
Si = SCi-1 + SCi-1
Ci = C + SCi-1
Nyní, abychom implementovali celou sčítačku pomocí polovičních sčítačů, potřebujeme dvě poloviční sčítačky a jednu bránu OR. Plné implementace sčítače pomocí polovičních sčítačů je znázorněno na následujícím obrázku.
Jak vidíme na obrázku, první sčítač (označený jako) má vstup Ai a Bi. Druhá poloviční sčítačka (označená jako-) má vstupy C i-1 a výstup sčítače první poloviny, který je S. Výstupem sčítače druhé poloviny jsou Si a SCi-1.
Nyní, SCi-1 představuje provedení. Nositel sčítače první poloviny, který je C, a nositel sčítače druhé poloviny, který je SCi-1 jsou napájeny jako vstup brány OR. Výstup brány OR je konečným provedením celého obvodu sčítače.
Paralelní binární doplňky
Pro přidání bitů v každé fázi přidávání je zapotřebí plná sčítačka, s výjimkou přidání nejméně významných číslic, na druhou stranu jsou k dokončení úplné sčítačky zapotřebí dvě poloviční sčítačky. Z toho vyplývá pravidlo, že přidání dvou n-bitových čísel bude vyžadovat 2 * m -1 počet polovičních sčítačů a m-1 čísel OR bran. Tento typ binárních doplňků je známý jako paralelní binární doplňky. Rychlost provozu těchto typů přídavných zařízení je velmi vysoká. Proto jsou v moderních výpočetních zařízeních preferovány.
Přidejme 101 a 111 jako příklad paralelního binárního sčítače. Níže uvedený obrázek představuje přidání.
Sčítač první poloviny (označený jako-1) přidává krajní pravé bity 1 a 1, aby vytvořil binární součet 0 a přenos 1 podle pravidel binárního sčítání. Výstup polovičního sčítače se přivádí do vstupu prvního úplného sčítače (označeného jako - 2). Další dva vstupy prvního plného sčítače jsou dva další bity, které jsou 0 a 1. Výstupy prvního plného sčítače jsou 0 jako součet a 1 jako carry. Dále jsou přiváděny do vstupu druhého plného sčítače. Další dva vstupy jsou 1 a 1. Výstupy druhého plného sčítače jsou 1 jako součet a 1 jako carry. Výsledek součtu je tedy 1100.
Nyní je třeba poznamenat, že místo poloviční sčítačky na nejméně významné pozici číslic lze použít celou sčítačku s provedeným vstupem přenosu 0.
BCD zmije
Termín BCD ve sčítači BCD znamená Binary Coded Decimal. BCD je speciální typ binárního kódování, kde každá číslice má určitý počet bitů pro reprezentaci. Hodnota BCD prvních 10 desetinných hodnot je uvedena v tabulce.
Desetinná číslice | 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 |
Sčítač BCD má dva vstupy, které se pohybují od 0 do 9. Výstup se pohybuje od 0 do 18, a pokud se vezme v úvahu předchozí přenos, bude dosah až 19.
Tabulka pro BCD sčítač je uvedena níže.
Z výše uvedené tabulky můžeme pozorovat, že od 1 do 9 jsou binární a BCD stejné. Od 10 do 19 desetinných čísel se liší binární i kódy.
Schéma zapojení sčítače BCD je uvedeno níže.
- Ve výše uvedeném diagramu je čtyřbitový binární sčítač, který má vstup jako přidaný a rozšířený. Má také vstup carry.
- Binární sčítač poskytuje výstup sčítání a výstup carry.
- Nyní pomocí obvodu a přenosu je obvod dále navržen tak, aby zjistil konečné přenášení.
- Výstup je dále přiváděn do 4bitového sčítače.
- Nyní je obvod navržen tak, aby vytvořil 1st a 4th bit přidaného čísla jako 0 a také 2nd a 3rd trochu udělat stejně jako Carry. Když je carry 1, obvod je navržen tak, že přidaný bude 0110. 6 se přidá s augendem, aby se získal BCD.
Příklad BCD
0110 + 0101 = 1011
Nyní je to neplatné jako BCD. Číslo je větší než 9. K výsledku tedy musíme přidat 6.
Konečný výsledek bude = 1011 + 0110 =
1011 + 0110 = 10001
Konečná odpověď tedy bude 10001
Vědět o subtraktorech! Klikněte zde!
VHDL implementace Half Adder a Full Adder
MODELOVÁNÍ ÚDAJŮ O POLOPOČTU BINÁRNÍCH ADDERŮ
knihovna IEEE;
použít IEEE.std_logic_1164.all;
entita half_adder_dataflow je
Port (a: v STD_LOGIC;
b: v STD_LOGIC;
s: out STD_LOGIC;
c: out STD_LOGIC);
konec half_adder_dataflow;
architektura Behavioral of half_adder_dataflow je
začít
s <= a XOR b;
c <= a AND b;
konec behaviorální;
POLOMINÁRNÍ BINÁRNÍ ADDER BEHAVIORAL MODELOVÁNÍ:
entita SUDIPTA_ROY_HALFADD je
Port (A: v STD_LOGIC;
B: v STD_LOGIC;
C: out STD_LOGIC;
S: out STD_LOGIC;
Z: out STD_LOGIC);
konec SUDIPTA_ROY_HALFADD;
behaviorální architektura SUDIPTA_ROY_HALFADD je
začít
proces (A, B)
začít
if (A = '0' a B = '0') pak
S <= '0';
C <= '0';
elsif (A = '0' a B = '1')
S <= '1';
C <= '0';
elsif (A = '1' a B = '0')
S <= '0';
C <= '1';
jiný
S <= '1';
C <= '1';
konec, pokud;
konečný proces;
konec behaviorální;
MODELOVÁNÍ ÚPLNÝCH ADDERŮ
knihovna IEEE;
použijte IEEE.STD_LOGIC_1164.ALL;
entita SUDIPTA_ROY_FULLADD je
Port (A: v STD_LOGIC;
B: v STD_LOGIC;
Cin: v STD_LOGIC;
S: out STD_LOGIC;
Car: out STD_LOGIC);
konec SUDIPTA_ROY_FULLADD;
architektura Datový tok SUDIPTA_ROY_FULLADD je
začít
S <= (A xor B) xor Cin;
Car <= (A a B) nebo (B a Cin) nebo (Cin a A);
konec datového toku;
PLNÉ ADDEROVÉ CHOVÁNÍ CHOVÁNÍ
entita SAERI_DATT_FULLADD je
Port (A: v STD_LOGIC;
B: v STD_LOGIC;
Cin: v STD_LOGIC;
S: out STD_LOGIC;
Car: out STD_LOGIC);
konec SAERI_DATT_FULLADD;
behaviorální architektura SAERI_DATT_FULLADD je
začít
proces (A, B, Cin)
začít
if (A = '0' a B = '0' a Cin = '0') pak
S <= '0';
Auto <= '0';
elsif (A = '0' a B = '0' a Cin = '1')
S <= '1';
Auto <= '0';
elsif (A = '0' a B = '1' a Cin = '0')
S <= '1';
Auto <= '0';
elsif (A = '0' a B = '1' a Cin = '1')
S <= '0';
Auto <= '1';
elsif (A = '1' a B = '0' a Cin = '0')
S <= '1';
Auto <= '0';
elsif (A = '1' a B = '0' a Cin = '1')
S <= '0';
Auto <= '1';
elsif (A = '1' a B = '1' a Cin = '0')
S <= '0';
Auto <= '1';
jiný
S <= '1';
Auto <= '1';
konec, pokud;
konečný proces;
konec behaviorální;
Ahoj, jsem Sudipta Roy. Udělal jsem B. Tech v elektronice. Jsem nadšenec do elektroniky a v současnosti se věnuji oboru Elektronika a komunikace. Mám velký zájem o objevování moderních technologií, jako je AI a strojové učení. Moje práce se věnují poskytování přesných a aktualizovaných údajů všem studentům. Pomáhat někomu při získávání znalostí mi přináší nesmírnou radost.
Spojme se přes LinkedIn –
Ahoj kolego čtenáři,
Jsme malý tým v Techiescience, tvrdě pracujeme mezi velkými hráči. Pokud se vám líbí, co vidíte, sdílejte náš obsah na sociálních sítích. Vaše podpora znamená velký rozdíl. Děkuji!