V predchádzajúcom tutoriáli programu Half Subtractor Circuit sme videli, ako počítač používa na odčítanie jednobitové binárne čísla 0 a 1 a vytvára bit Diff a Borrow. Dnes sa dozvieme o konštrukcii obvodu Full-Subtractor.
Celý obvod odčítavača
Obvod polovodiča má veľkú nevýhodu; nemáme rozsah na poskytnutie výpožičky v bitoch na odčítanie v polovičnom odčítavači. V prípade úplnej konštrukcie subtraktora môžeme skutočne urobiť výpožičku na vstupe do obvodov a mohli by sme ju odčítať ďalšími dvoma vstupmi A a B. Takže v prípade obvodu úplného subtraktora máme tri vstupy, A, čo je minuend, B ktorý je subtrahend a požičať si. Na druhej strane dostaneme dva konečné výstupy, Diff (Difference) a Borrow out.
Používame dva polovičné obvody Subtractor s extra pridaním brány OR a získame kompletný celý obvod Subtractor, rovnako ako obvod Full Adder Circuit, ktorý sme videli predtým.
Pozrime sa na blokový diagram,
Na vyššie uvedenom obrázku sú namiesto blokového diagramu zobrazené skutočné symboly. V predchádzajúcom tutoriále o polovičnom subtraktore sme videli pravdivostnú tabuľku dvoch logických brán, ktoré majú dve možnosti vstupu, brány XOR a NAND. Tu je do obvodov pridaná ďalšia brána ALEBO brána. Tento obvod je veľmi podobný obvodu s úplnou sčítačkou bez brány NOT.
Tabuľka pravdy celého obvodu odčítavača
Pretože obvod Full Subtractor pracuje s tromi vstupmi, aktualizovala sa tabuľka Pravdy aj o tri vstupné stĺpce a dva výstupné stĺpce.
Požičať si | Vstup A | Vstup B | DIFF | Požičajte si |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Môžeme tiež vyjadriť celú konštrukciu obvodu Subtractor v booleovskom výraze.
Pre prípad DIFF najskôr XOR vstupujeme do A a B, potom opäť XOR do výstupu s Borrow in . Takže Diff je (A XOR B) XOR požičať si. Môžeme to tiež vyjadriť pomocou:
(A ⊕ B) ⊕ Požičajte si.
Teraz, pokiaľ si požičiate, je to:
ktoré možno ďalej reprezentovať
Kaskádové odčítacie obvody
Odteraz sme opísali konštrukciu jednobitového obvodu Full-Subtractor s logickými hradlami. Ale čo ak chceme odčítať dve, viac ako jedno bitové číslo?
Tu je výhoda úplného obvodu subtraktora. Môžeme kaskádovať jednobitové plné subtraktorové obvody a mohli by sme odpočítať dve viacbitové binárne čísla.
V takýchto prípadoch je možné použiť kaskádovaný obvod s úplnou sčítačkou s hradlami NOT. Mohli by sme použiť metódu komplimentu 2 a je populárnou metódou na prevedenie celého obvodu sčítačky na celý Subtractor. V takom prípade všeobecne invertujeme Logiku subtrahendových vstupov celej sčítačky pomocou invertora alebo brány NOT. Pridaním tohto neinvertovaného vstupu (Minuend) a invertovaného vstupu (Subtrahend), zatiaľ čo prenosový vstup (LSB) obvodu s úplnou sčítačkou je v Logic High alebo 1, odčítame tieto dva binárne súbory v metóde komplementu 2. Výstupom z Full-addera (ktorý je teraz plný Subtractor) je bit Diff a ak invertujeme vykonanie, dostaneme bit Borrow alebo MSB. Môžeme skutočne skonštruovať obvod a pozorovať výstup.
Praktická ukážka celého obvodu subtraktora
Použijeme logický čip Full Adder 74LS283N a NOT gate IC 74LS04. Použité komponenty-
- 4pin dip prepínače 2 ks
- 4ks červené LED diódy
- 1ks zelená LED
- 8ks 4,7k rezistorov
- 74LS283N
- 74LS04
- 13 ks 1k rezistory
- Nepál
- Pripojovacie vodiče
- 5V adaptér
Na obrázku vyššie je 74LS283N vľavo a 74LS04 vpravo. 74LS283N je 4bitový čip Subtractor TTL s funkciou Carry look ahead. A 74LS04 nie je brána IC, má v sebe šesť NOT brán. Použijeme ich päť.
Schéma kolíkov je znázornená na schéme.
Schéma zapojenia, ktorá umožní použitie týchto integrovaných obvodov ako obvodu s úplným subtraktorom
- Schéma pinov IC 74LS283N a 74LS04 je tiež znázornená na schéme. Kolíky 16 a 8 sú VCC a Ground,
- 4 kolíky invertora alebo brány NOT sú spojené cez kolíky 5, 3, 14 a 12. Tieto kolíky sú prvé 4-bitové číslo (P), kde kolík 5 je MSB a kolík 12 je LSB.
- Na druhej strane, pin 6, 2, 15, 11 je druhé 4-bitové číslo, kde pin 6 je MSB a pin 11 je LSB.
- Pin 4, 1, 13 a 10 sú výstupom DIFF. Pin 4 je MSB a pin 10 je LSB, ak nie je výpožička.
- SW1 je subtrahend a SW2 je Minuend. Pripojili sme Carry in pin (Pin 7) k 5V, aby to bolo logicky vysoké. Je to potrebné pre doplnok 2.
- Rezistory 1k sa používajú na všetkých vstupných pinoch na zabezpečenie logiky 0, keď je prepínač DIP v stave OFF. Vďaka odporu môžeme ľahko prepnúť z logiky 1 (binárny bit 1) na logiku 0 (binárny bit 0). Používame napájanie 5V.
- Keď sú DIP prepínače ZAPNUTÉ, vstupné piny sa skratujú o 5 V, vďaka čomu sú tieto DIP prepínače Logické vysoké; použili sme červené LED na reprezentáciu bitov DIFF a zelené LED na bit vypožičania.
- Rezistor R12 použitý na vytiahnutie kvôli 74LS04 nemohol poskytnúť dostatok prúdu na napájanie LED. Kolíky 7 a 14 sú tiež uzemnené a 5 V kolíky 74LS04. Musíme tiež previesť bit Výpožička, ktorý pochádza z doplnkového procesora 74LS283N.
Skontrolujte demonštračné video, aby ste lepšie porozumeli nižšie, kde sme ukázali odpočítanie dvoch 4-bitových binárnych čísel.
Skontrolujte tiež náš predchádzajúci kombinovaný logický obvod:
- Obvod polovičnej zmije
- Celý obvod sčítačky
- Obvod polovičného odčítavača