7 faktů o binárním odčítači: poloviční a úplný odčítač

  • Definice a přehled binárního odečítače
  • Poloviční odečet
  • Plný odečítač
  • N-bitový odečítač
  • Aplikace binárního odečítače
  • Vhdl implementace polovičního a úplného odčítače

Definice

Subtraktor je zařízení, které odečte dvě čísla a vytvoří výsledek. Digitální nebo binární odečítač je něco, co se zabývá odčítáním binárních číslic.

Pro digitální výpočet uvnitř digitálního zařízení nebo digitálního počítače je nutný binární odečítač. Nejpohodlnějším způsobem odčítání binárních čísel bez znaménka je metoda doplňků. Existují pravidla pro binární odečítání.

Pravidla binárního odčítání jsou uvedena následovně. Zde 0 je logicky nízká a jedna logicky vysoká. A a B jsou dva vstupy.

ABY = A - B
000
011 (půjčit 1)
101
110
Tabulka pravdivosti binárního odčítání

Příklad operací odčítání:

1101 - 1011

1101

- 1011

= 0010

Odpověď je tedy 0010

Metody doplňků mohou alternativně provádět binární odčítání pro binární odčítače. Obecně se používají dva typy metod komplementu.

Doplněk A. 1

Doplněk B. 2

Kroky k provedení doplňku 1:

  1. Zjistěte doplněk 1 čísla, která má být odečtena.
  2. Nyní je doplněk 1 přidán k číslu, od kterého je požadováno Odčítání.
  3. Pokud je v poslední poloze jeden nosič, výsledkem přidání v kroku 2, je nosič odstraněn a přidán k produktu bez přenášení, aby se získal konečný výsledek.

Vezměme si příklad - 1101 - 1011

Doplněk 1 1011 = 0100

Nyní přidejte 1101 s 0100

1101

 + 0100

 = 1 0001

Jak vidíme, existuje jeden jako carry, takže odstraníme carry a přidáme carry znovu se získaným výsledkem.

0001

+ 1

= 0010

Odpověď na Odčítání je tedy 0010

Pro metodu doplňku 2

  1. Vypočítejte doplněk 2.
  2. Doplněk je nyní přidán s dalším číslem.
  3. Přenos je odmítnut.

Vezměme si příklad - 1101 - 1011

Doplněk 2 libovolného čísla se vypočítá provedením doplňku 1 a přidáním 1 k němu.

Doplněk 2

Nyní přidejte 1101 s 0100

1101 0100 + = 1 0001

Jak vidíme, existuje jeden jako carry, takže odstraníme carry a přidáme carry znovu se získaným výsledkem.

0001 + 1 = 0010

Odpověď na Odčítání je tedy 0010

Digitální počítače používají pro výpočty metodu doplňku 2, protože vyžaduje menší přenos.

Metody komplementu v systému desetinných čísel jsou známé jako metoda komplementu 9 a 10.

Tuto operaci odečítání implementují různé digitální obvody. Oni jsou -

  • Poloviční odečet
  • Plný odečítač

Binární odečítač nejen provádí operace sčítání, ale také se používá v digitálních aplikacích. Dekódování a kódování hodnot, výpočet indexu je několik jeho aplikací.

Poloviční odečet

Poloviční binární odečítač je binární odečítač, který odečte jeden bit dat a vytvoří výsledek. Má dvě vstupní strany, kterými dodáváme digitální logické hodnoty, a má dva výstupy, kterými přijímáme dopad operace. Výsledek lze zobrazit v jedné číslici. Práce ukazuje číslo v Subtraction, které má stejný význam jako jednotlivé odečítané číslice. Druhý výstup ukazuje výpůjční bit.

Poloviční odečet pomocí NAND
Implementace brány NAND. Image Credit - NitianabhigyanPoloviční odečet pomocí NANDCC BY-SA 4.0

Tabulka pravdy polovičního odečítače

Práce polovodičového odečítače je uvedena v následující tabulce pravdivosti.

ABRozdílPůjčit si
0000
0111
1010
1100
Tabulka pravdy pro poloviční binární odečítač

Poloviční odčítací obvod

Z tabulky pravdivosti můžeme usoudit, že první tři řádky mohou představovat výsledek pomocí jediné číslice. Ve druhém řádku je práce popsána pomocí dvou čísel, protože byla vypůjčena jako 1.

Rozdíl = A'B + AB ′

Půjčit = A'B 

Takže,

Rozdíl = A XOR B

Půjčit = A ′ A B

K implementaci logiky potřebujeme jednu bránu XOR, jednu bránu NOT a jednu bránu AND. Brána XOR, NOT brána, brána AND může být také vyrobena pomocí univerzálních bran, jako jsou NAND a NOR. Poloviční odečítač lze tedy navrhnout pouze pomocí univerzálních bran.

Následující obrázek ukazuje A a B jako vstup a D jako rozdíl a C jako výpůjčku.

Poloviční binární odečítač
Poloviční odečet

Plný odečítač

Full Binary Subtractor je další druh binárního Subtractor, který poskytuje výsledek operace binárního odčítání. Když jsou odečtena dvě binární čísla, s výjimkou nejméně významné číslice, existuje výpůjčka jako Bi-1 a půjčit si jako Bi. Celý Subtraktor je navržen tak, aby zpracovával výpůjčky pro každou fázi. Takto překoná celá objednávka nedostatek poloviny Subtraktoru k vypůjčení.

Plná tabulka pravdivosti odečítače

XiYiBi-1DiBi
00000
00111
01011
01101
10010
10100
11000
11111
Plná tabulka pravdivosti odečítače

Plný odečítací obvod

Rozdíl = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

Půjčit = A ′ Bin + A ′ B + BBin 

Chcete-li implementovat výraz pomocí logických bran, musíme slovo dále zjednodušit.

Rozdíl = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

 Nebo rozdíl = Bin (A'B ′ + AB) + B.in ′ (AB ′ + A′B)

 Nebo rozdíl = Bin (A XNOR B) + Bin “(A XOR B)

 Nebo rozdíl = Bin (A XOR B) ′ + Bin “(A XOR B)

 Nebo rozdíl = Bin XOR (A XOR B)

  Nebo rozdíl = (A XOR B) XOR koš

Půjčit = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

 Nebo půjčit = A ′ B ′ Bin + A ′ BBin ′ + A ′ BBin + A ′ BBin + A ′ BBin + AB Bin

 Nebo půjčit = A ′ Bin (B + B ') + A'B (Bin +Bin ′) + BBin (A + A ')

 Nebo půjčit = A ′ Bin + A'B + BBin

Výraz lze zapsat jiným způsobem -

Zápas = A ′ B ′ Bin + A ′ B Bin ′ + A ′ B Bin + AB Bin     

    Nebo půjčit = Bin (AB + A ′ B ′) + A ′ B (Bin + Bin ′)

     Nebo si půjčte = Bin (A XNOR B) + A ′ B

    Nebo si půjčte = Bin (A XOR B) ′ + A ′ B

Úplné binární subtraktory
Vstupují plné odečítače, X, Y, Z

Jak ukazuje schéma zapojení, A, B a B.a. Obvod poskytuje dva výstupy jako diferenční výstup a vypůjčuje si výstup. Bin je nastavena na 1, kdykoli je ve vstupu A výpůjčka. Bin se poté odečte od A a Y.

Obecný výraz lze zapsat jako D = A - B - Bin + 2 Bven.

Plné odečítače lze také implementovat pomocí polovičních odečítačů.

1920px Full sub Fixed.svg
Plné odečítače pomocí polovičního odečítače

N bitový odečítač

V jednobitovém binárním odečítači lze provést odečtení pouze 1 bitu. Pokud potřebujeme provést Odčítání n-bitů, je vyžadován bitový binární odečet. Podobně lze implementovat n-bitový odečítač pomocí odečítačů v kaskádové podobě.

Aplikace odečítačů

  • Odpočítávače se často používají u sčítačů. Kdykoli je pro obvod zapotřebí sčítačka, je také vyžadován odečítač.
  • ALU, která je zodpovědná za výpočet, a zůstává uvnitř a mikroprocesor, také potřebuje odčítače. CPU také potřebují odečítače pro provoz.
  • Mikrokontroléry také používají odečítače pro provádění digitálního výpočtu.
  • Odečítače se také používají v doméně zpracování digitálního signálu.
  • Digitální počítače používají mnoho odečítačů.

Implementace VHDL polovičních odečítačů a plných odečítačů

Poloviční subtractor Modelování toku dat

knihovna IEEE;

použijte IEEE.STD_LOGIC_1164.ALL;

entita ENTITY_NAME je

    Port (A: v STD_LOGIC;

           B: v STD_LOGIC;

           IB: v STD_LOGIC;

           Rozdíl: out STD_LOGIC;

           Borr: out STD_LOGIC);

konec ENTITY_NAME;

Tok dat architektury

architektura Datový tok ENTITY_NAME je

začít

Diff <= (A xor B) xor IB;

Borr <= ((ne A) a (B nebo IB)) nebo (B a IB);

koncový tok dat;

Plné odečítání modelování toku dat

entita ENTITY_NAME je

    Port (A: v STD_LOGIC;

           B: v STD_LOGIC;

           IB: v STD_LOGIC;

           Borr: out STD_LOGIC;

           Rozdíl: out STD_LOGIC);

konec ENTITY_NAME;

Tok dat architektury

behavioral behavior of ENTITY_NAME is

začít

proces (A, B, IB)

začít

if (A = '0' a B = '0' a IB = '0') pak

Rozdíl <= '0';

Borr <= '0';

elsif (A = '0' a B = '0' a IB = '1')

Borr <= '1';

Rozdíl <= '1';

elsif (A = '0' a B = '1' a IB = '0')

Borr <= '1';

Rozdíl <= '1';

elsif (A = '0' a B = '1' a IB = '1')

Borr <= '0';

Rozdíl <= '1';

elsif (A = '1' a B = '0' a IB = '0')

Borr <= '1';

Rozdíl <= '0';

elsif (A = '1' a B = '0' a IB = '1')

Borr <= '0';

Rozdíl <= '0';

elsif (A = '1' a B = '1' a IB = '0')

Borr <= '0';

Rozdíl <= '0';

jiný

Borr <= '1';

Rozdíl <= '1';

konec, pokud;

konečný proces;

konec behaviorální;