7 tény a bináris kivonóval kapcsolatban: fél- és teljes kivonó

  • A bináris kivonó meghatározása és áttekintése
  • Félkivonó
  • Teljes kivonó
  • N bites kivonó
  • A bináris kivonó alkalmazásai
  • VHDL félkivonó és teljes kivonó megvalósítása

Meghatározás

A kivonó olyan eszköz, amely kivon két számot, és megadja az eredményt. A digitális vagy bináris kivonó olyan dolog, amely a bináris számjegyek kivonásával foglalkozik.

Egy bináris kivonóra van szükség a digitális eszközön vagy digitális számítógépen belüli digitális számításokhoz. Az előjel nélküli bináris számok kivonásának legkényelmesebb módja a komplementer módszer. A bináris kivonásnak vannak szabályai.

A bináris kivonás szabályai a következők. Itt 0 logikai alacsony, az egyik logikai magas. A és B két bemenet.

ABY = A – B
000
011 (kölcsön 1)
101
110
Bináris kivonás igazságtáblázata

Példa a kivonási műveletekre:

1101 - 1011

1101

- 1011

= 0010

Tehát a válasz 0010

A komplementer módszerek alternatív módon végezhetnek bináris kivonásokat a bináris kivonókhoz. Általában kétféle komplement módszert alkalmaznak.

A. 1 kiegészítése

B. 2 kiegészítése

Az 1. komplementer végrehajtásának lépései:

  1. Határozza meg a kivonandó szám 1-es kiegészítését.
  2. Most az 1 komplementere hozzáadódik ahhoz a számhoz, amelyből a kivonást kívánjuk.
  3. Ha a 2. lépésben a hozzáadás eredményének utolsó pozíciójában egy hordozó van, akkor a hordozót eltávolítjuk, és szállítás nélkül hozzáadjuk a termékhez, hogy megkapjuk a végső eredményt.

Vegyünk egy példát – 1101 – 1011

1 1011 = 0100 komplementere

Most adja hozzá az 1101-et a 0100-hoz

1101

 + 0100

 = 1 0001

Amint látjuk, van egy hordozóként, ezért a hordozót eltávolítjuk, és a kapott eredménnyel újra hozzáadjuk a hordozót.

0001

+ 1

= 0010

Tehát a kivonásra a válasz 0010

2 komplementer módszeréhez

  1. Számítsd ki a 2 komplementerét!
  2. A kiegészítés most egy másik számmal egészül ki.
  3. A szállítás elutasítva.

Vegyünk egy példát – 1101 – 1011

Bármely szám 2-es komplementerét úgy számítjuk ki, hogy végrehajtjuk az 1-es komplementerét, és hozzáadunk 1-et.

2 komplementere

Most adja hozzá az 1101-et a 0100-hoz

1101 + 0100 = 1 0001

Amint látjuk, van egy hordozóként, ezért a hordozót eltávolítjuk, és a kapott eredménnyel újra hozzáadjuk a hordozót.

0001 + 1 = 0010

Tehát a kivonásra a válasz 0010

A digitális számítógépek a 2-es komplementer módszert használják a számításokhoz, mivel kevesebb átvitelt igényel.

A decimális számrendszerben alkalmazott komplementációs módszereket 9-es és 10-es komplementációs módszernek nevezik.

Különféle digitális áramkörök valósítják meg ezt a kivonási műveletet. Ők -

  • Félkivonó
  • Teljes kivonó

A bináris kivonó nemcsak összeadási műveleteket hajt végre, hanem digitális alkalmazásokban is használható. Az értékek dekódolása és kódolása, az index kiszámítása néhány alkalmazási területe.

Félkivonó

A fél bináris kivonó egy bináris kivonó, amely kivon egy bitet az adatokból, és előállítja az eredményt. Két bemeneti oldala van, amelyen keresztül a digitális logikai értékeket adjuk, és két kimenete van, amelyeken keresztül kapjuk a művelet hatását. Az eredmény egy számjeggyel is megjeleníthető. A munka a Kivonásban azt a számot mutatja, amelyik ugyanolyan jelentőségű, mint a kivont egyes számjegyek. A másik kimenet a kölcsönbitet mutatja.

Félkivonó NAND használatával
NAND kapu megvalósítás. Kép jóváírása – NitianabhigyanFélkivonó NAND használatávalCC BY-SA 4.0

A félkivonó igazságtáblázata

A fél bináris kivonó működését a következő igazságtáblázat mutatja.

ABKülönbségKölcsönözzön
0000
0111
1010
1100
Igazságtáblázat félbináris kivonóhoz

Félkivonó áramkör

Az igazságtáblázatból azt a következtetést vonhatjuk le, hogy az első három sor egy számjeggyel ábrázolhatja az eredményt. A második sorban a mű két számmal van leírva, mivel azt 1-ként kölcsönözték.

Különbség = A′B + AB′

Kölcsön = A′B 

Szóval,

Különbség = A XOR B

Kölcsönzés = A′ ÉS B

A logika megvalósításához szükségünk van egy XOR kapura, egy NOT kapura és egy ÉS kapura. XOR kapu, NEM kapu, ÉS kapu is készíthető univerzális kapukkal, mint a NAND és a NOR. Tehát egy félkivonó csak univerzális kapuk segítségével tervezhető.

A következő képen A és B látható bemenetként, D pedig különbség, C pedig kölcsönzésként.

Fél bináris kivonó
Félkivonó

Teljes kivonó

A teljes bináris kivonó egy másik fajta bináris kivonó, amely egy bináris kivonási művelet eredményét adja meg. Ha két bináris számot kivonunk, kivéve a legkisebb jelentőségű számjegyet, akkor B kölcsönzés történiki-1 és kölcsönkérni B-kénti. A teljes kivonót úgy tervezték, hogy minden szakaszban kezelje a kölcsönzést. Így egy teljes megbízás túllépi a fél Subtractor hiányosságát a hitelfelvétel befutásában.

Egy teljes kivonó igazság táblázat

XiYiBi-1DiBi
00000
00111
01011
01101
10010
10100
11000
11111
Teljes kivonó igazság táblázat

Teljes kivonó áramkör

Különbség = A′B′Bin + AB′Bin′ + A′ BBin′ + ABBin 

Kölcsön = A′ Bin + A′ B + BBin 

A kifejezés logikai kapuk segítségével történő megvalósításához tovább kell egyszerűsítenünk a szót.

Különbség = A′B′Bin + AB′Bin′ + A′ BBin′ + ABBin 

 Vagy: Különbség = Bin (A′B′ + AB) + Bin "(AB" + A"B)

 Vagy: Különbség = Bin (A XNOR B) + Bin (A XOR B)

 Vagy: Különbség = Bin (A XOR B) ′ + Bin (A XOR B)

 Vagy: Különbség = Bin XOR (A XOR B)

  Vagy: Különbség = (A XOR B) XOR Bin

Kölcsönzés = A′B′Bin + AB′Bin′ + A′ BBin′ + ABBin 

 Vagy: Kölcsön = A′B′Bin +A′ BBin ′ + A′ BBin + A′ BBin + A′ BBin + AB Bin

 Vagy: Kölcsön = A′Bin (B + B′) + A′B (Bin +Bin ′) + BBin (A + A′)

 Vagy: Kölcsön = A′Bin + A′B + BBin

A kifejezés más módon is felírható -

Bout = A' B' Bin + A' B Bin' + A' B Bin + AB Bin     

    Vagy: Kölcsönzés = Bin (AB + A' B') + A' B (Bin + Bin')

     Vagy: Kölcsönzés = Bin (A XNOR B) + A′ B

    Vagy: Kölcsönzés = Bin (A XOR B) ′ + A′ B

Teljes bináris kivonók
Teljes kivonók, X, Y, Z bemenet

Ahogy a kapcsolási rajz mutatja, A, B és Bbe Az áramkör két kimenetet ad különbség kimenetként és kölcsön kimenetként. A Bin 1-re van állítva, ha van kölcsönzés az A. B bemenetbenin ezután kivonjuk A-ból és Y-ból.

Az általános kifejezés a következőképpen írható fel: D = A – B – Bin + 2 Bout.

A teljes kivonók félkivonók használatával is megvalósíthatók.

1920px Full sub Fixed.svg
Teljes kivonók félkivonóval

N bites kivonó

Egybites bináris kivonóban csak 1 bit kivonása hajtható végre. Ha n -bit kivonását kell végrehajtanunk, akkor egy bites bináris kivonó szükséges. Egy n-bites kivonó hasonló módon megvalósítható kivonók segítségével lépcsőzetes formában.

Kivonók alkalmazásai

  • A kivonókat gyakran használják összeadókkal. Amikor egy áramkörhöz összeadóra van szükség, kivonóra is szükség van.
  • Az ALU, amely a számításért felelős, és bent marad a mikroprocesszor, kivonókra is szükség van. A CPU-k működéséhez kivonókra is szükségük van.
  • A mikrokontrollerek kivonókat is használnak a digitális számítás végrehajtásához.
  • A kivonókat a digitális jelfeldolgozási tartományban is használják.
  • A digitális számítógépek sok kivonót használnak.

Félkivonók és teljes kivonók VHDL megvalósítása

Félkivonós adatfolyam-modellezés

könyvtár IEEE;

használja az IEEE.STD_LOGIC_1164.ALL;

ENTITY_NAME entitás

    Port ( A : STD_LOGIC-ban;

           B : STD_LOGIC-ban;

           IB : STD_LOGIC-ban;

           Diff: ki STD_LOGIC;

           Borr : ki STD_LOGIC);

vége ENTITY_NAME;

Architektúra adatfolyam

architektúra ENTITY_NAME adatfolyama

kezdődik

Diff <= (A xor B) xor IB;

Borr <= ((nem A) és (B vagy IB)) vagy (B és IB);

adatfolyam vége;

Teljes kivonós adatfolyam-modellezés

ENTITY_NAME entitás

    Port ( A : STD_LOGIC-ban;

           B : STD_LOGIC-ban;

           IB : STD_LOGIC-ban;

           Borr : ki STD_LOGIC;

           Diff: ki STD_LOGIC);

vége ENTITY_NAME;

Architektúra adatfolyam

architektúra A ENTITY_NAME viselkedése a következő

kezdődik

folyamat (A,B,IB)

kezdődik

if(A='0' és B='0' és IB='0') akkor

Diff<='0′;

Borr<='0′;

elsif(A='0' és B='0' és IB='1') akkor

Borr<='1′;

Diff<='1′;

elsif(A='0' és B='1' és IB='0') akkor

Borr<='1′;

Diff<='1′;

elsif(A='0' és B='1' és IB='1') akkor

Borr<='0′;

Diff<='1′;

elsif(A='1' és B='0' és IB='0') akkor

Borr<='1′;

Diff<='0′;

elsif(A='1' és B='0' és IB='1') akkor

Borr<='0′;

Diff<='0′;

elsif(A='1' és B='1' és IB='0') akkor

Borr<='0′;

Diff<='0′;

más

Borr<='1′;

Diff<='1′;

vége if;

folyamat befejezése;

vége Viselkedési;