În general, scăderea completă este una dintre cele mai utilizate și circuite logice combinaționale esențiale . Este un dispozitiv electronic de bază, folosit pentru a efectua scăderea a două numere binare. În articolul anterior, am dat deja teoria de bază a jumătate sumator și o sumă completă care folosește cifrele binare pentru calcul. În mod similar, scăderea completă utilizează cifre binare precum 0,1 pentru scăderea. Circuitul acestuia poate fi construit cu porți logice, cum ar fi poarta OR, Ex-OR, NAND. Intrările acestui scăpător sunt A, B, Bin și ieșirile sunt D, Bout.
Acest articol oferă o idee teoretică a subtractorului complet care cuprinde premisele, cum ar fi ceea ce este un subtractor, proiectarea cu porți logice, tabelul adevărului etc. Acest articol este util pentru studenții ingineri care pot trece prin aceste subiecte în laboratorul practic HDL.
Ce este un Subtractor?
Scăderea cifrelor binare se poate face cu ajutorul circuitului scăderii. Acesta este un fel de circuit logic combinațional, folosit pentru a efectua scăderea a două cifre binare precum 0s și 1s. Scăderea cifrelor binare de la 0 la 0 sau 0 la 1 nu modifică rezultatul, scăderea de la 1 la 1 va avea ca rezultat 0, dar scăderea de la 1 la 0 are nevoie de împrumut.
De exemplu, circuitul de scădere pe doi biți include două intrări precum A & B, în timp ce ieșirile sunt diferențiate și împrumutate. Acest circuit poate fi construit cu addere împreună cu invertoare care se află între fiecare intrare de date, precum și intrarea de împrumut (Bin) din faza anterioară a FA.
Subtractorii sunt clasificați în două tipuri, cum ar fi jumătate subtractor și subtractor complet. Aici discutăm despre scăderea completă.
Ce este un subtractor complet?
Este un dispozitiv electronic sau circuit logic care efectuează scăderea a două cifre binare. Este un circuit logic combinațional utilizat în electronica digitală. Multe circuite combinaționale sunt disponibile în tehnologia circuitului integrat și anume addere, codificatoare, decodificatoare și multiplexoare. În acest articol, vom discuta despre construcția sa folosind jumătate de substractor și, de asemenea, termenii precum tabelul adevărului.
Subtractor complet
Proiectarea acestui lucru poate fi realizată de două jumătăți de scădere, care implică trei intrări, cum ar fi minuend, subtrahend și împrumut, bitul împrumutat dintre intrări se obține din scăderea a două cifre binare și se scade din următoarea pereche de ordin superior biți, ieșiri ca diferență și împrumut.
diagrama bloc a scăderii complete este prezentat mai jos. Cel mai mare dezavantaj al jumătății scăzătorului este că nu putem face un bit Împrumut în acest scăpător. În timp ce în proiectarea sa, de fapt putem face un bit Borrow în circuit și putem scădea cu restul de doi i / ps. Aici A este minuend, B este subtrahend și Bin este împrumutat. Rezultatele sunt Diferență (Diff) și Bout (Împrumut). Circuitul complet al scăderii se poate obține utilizând două jumătăți de scăderi cu o poartă SAU suplimentară.
Schema completă a circuitului subtractorului cu porți logice
schema de circuit a scăderii complete utilizând poarta de bază s este prezentat în următoarea diagramă bloc. Acest circuit poate fi realizat cu două circuite pe jumătate de scădere.
În circuitul inițial de jumătate de subtractor, intrările binare sunt A și B. După cum am discutat în articolul precedent de jumătate de subtractor, acesta va genera două ieșiri și anume diferența (Diff) și împrumutul.
Subtractor complet folosind Logic Gates
Diferența o / p a scăderii din stânga este dată circuitului din jumătatea din stânga a scăderii. Ieșirea diferită este furnizată suplimentar la intrarea în jumătatea dreaptă a circuitului Subtractor. Am oferit împrumutul în biți peste celălalt i / p al următorului jumătate de circuit de scădere . Încă o dată îi va oferi pe Diff și pe împrumut. Ieșirea finală a acestui scăzător este Diff-output.
Pe de altă parte, împrumutul din ambele circuite subtractor este conectat la poarta logică SAU. Mai târziu decât să oferim logica SAU pentru doi biți de ieșire ai subtractorului, obținem împrumutul final din subtractor. Ultimul împrumut pentru a semnifica MSB (cel mai semnificativ bit).
Dacă observăm circuitul intern al acestuia, putem vedea doi Half Subtractors cu poarta NAND și poarta XOR cu o poartă SAU suplimentară.
Tabelul adevărului complet al subtractorului
Acest circuit de scădere execută o scădere între doi biți, care are 3 intrări (A, B și Bin) și două ieșiri (D și Bout). Aici intrările indică minuend, subtrahend și împrumut anterior, în timp ce cele două ieșiri sunt denumite împrumut o / p și diferență. Următoarea imagine arată tabelul de adevăr al substractorului complet.
Intrări | Ieșiri | |||
Minuend (A) | Subtrahend (B) | Împrumută (coș) | Diferență (D) | Împrumut (Bout) |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
Harta K
Simplificarea K-hartă subtractor complet pentru diferența de mai sus și împrumutul este prezentat mai jos.
Ecuațiile pentru diferență, precum și Bin sunt menționate mai jos.
Expresia pentru Diferență este,
D = A’B’Bin + AB’Bin ’+ A’BBin’ + ABBin
Expresia pentru Împrumut este,
Bout = A’Bin + A’B + BBin
În cascadă a circuitului complet de extragere
Anterior, am discutat o imagine de ansamblu a acestui lucru, cum ar fi construcția, schema de circuite cu porți logice. Dar dacă vrem să scădem alte două numere pe 1 biți, acest circuit de scădere este foarte util pentru a cascada numere de un singur bit și, de asemenea, scade mai mult de două numere binare. În astfel de cazuri, se utilizează un circuit complet în cascadă, cu ajutorul porții logice NU. Conversia circuitului de la sumatorul complet la scăderea completă se poate face folosind tehnica complementului 2.
În general, inversați intrările subtrahend pentru sumatorul complet folosind NOT gate altfel un invertor. Prin adăugarea acestui Minuend (intrare neinversată) și Subtrahend (intrare inversată), LSB (intrare de transport) a circuitului FA este 1, ceea ce înseamnă Logic High, altfel scădem două cifre binare folosind tehnica complementului 2. Ieșirea FA este bitul Diff și dacă inversăm efectuarea, putem obține MSB altfel bitul împrumutat. De fapt, putem proiecta circuitul astfel încât ieșirea să poată fi observată.
Codul Verilog
Pentru partea de codare, mai întâi, trebuie să verificăm modul structural de modelare a diagramei circuitului logic. Diagrama logică a acestui lucru poate fi construită folosind o poartă AND, circuite pe jumătate de substractor și combinația de porți logice cum ar fi porțile AND, SAU, NU, XOR. Ca și în modelarea structurală, explicăm diverse module pentru fiecare aranjament elementar de bază. În următorul cod, pot fi definite diferite module pentru fiecare poartă.
Acest modul este pentru poarta SAU.
INTRARE: a0, b0
IEȘIRE: c0
În cele din urmă, vom uni aceste module precise de poartă într-un singur modul. Pentru aceasta, aici folosim instanțierea modulului. Acum această instanțiere poate fi utilizată odată ce dorim să reproducem un modul sau o funcție exactă pentru diverse seturi de intrare. În primul rând, proiectăm un jumătate de subtractor, apoi acest modul este utilizat pentru a implementa un subtractor complet. Pentru implementarea acestui lucru, folosim poarta OR pentru a combina o / ps pentru variabila Bout. cod verilog pentru scăderea completă este prezentat mai jos
modul or_gate (a0, b0, c0)
intrare a0, b0
ieșire c0
atribuiți c0 = a0 | b0
endmodule
modul xor_gate (a1, b1, c1)
intrare a1, b1
ieșire c1
atribuiți c1 = a1 ^ b1
endmodule
modul și_gate (a2, b2, c2)
intrare a2, b2
ieșire c2
atribuiți c2 = a2 & b2
endmodule
modul not_gate (a3, b3)
intrare a3
ieșire b3
atribuiți b3 = ~ a3
endmodule
modul half_subtractor (a4, b4, c4, d4)
intrare a4, b4
ieșire c4, d4
sârmă x
xor_gate u1 (a4, b4, c4)
and_gate u2 (x, b4, d4)
not_gate u3 (a4, x)
endmodule
modul full_subtractor (A, B, Bin, D, Bout)
intrare A, B, Bin
ieșire D, Bout
firul p, q, r
half_subtractor u4 (A, B, p, q)
half_subtractor u5 (p, Bin, D, r)
or_gate u6 (q, r, Bout)
endmodule
Subtractor complet folosind multiplexorul 4X1
Executarea scăderii se poate face prin metoda complementului celor doi. Astfel, trebuie să folosim o poartă 1-XOR care este utilizată pentru a inversa 1-bit și a include unul în bitul de transport. Ieșirea DIFERENȚEI este similară cu SUM-ul de ieșire din circuitul complet al sumatorului, totuși BARROW o / p nu este similar cu ieșirea de transport a sumatorului complet, totuși este inversat și completat, cum ar fi A - B = A + (-B) = Complementul lui A + doi al lui B.
Proiectarea acestuia folosind multiplexorul 4X1 este prezentată în următoarea diagramă logică. Această proiectare poate fi realizată urmând pașii următori.
Multiplexor 4X1
- În pasul 1, există două ieșiri precum Sub și Borrow. Deci, trebuie să alegem 2 multiplexoare.
- În pasul 2, tabelul adevărului poate fi implementat împreună cu K-maps
- La pasul 3, cele două variabile pot fi selectate ca linie de selectare. De exemplu, B&C sunt în acest caz.
Tabelul Adevărului
tabelul de adevăr al scăderii complete circuitul care utilizează multiplexorul 4X1 include următoarele
LA | B | C | Sub | Împrumuta |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
Subtractor complet folosind Decoder
Proiectarea unui subtractor complet utilizând 3-8 decodificatoare poate fi realizată folosind ieșiri active mici. Să presupunem că funcționează decodorul utilizând următoarea diagramă logică. Decodorul include trei intrări în 3-8 decodificatoare. Pe baza tabelului adevărului, putem scrie termenele minime pentru rezultatele diferenței și împrumutului.
Din tabelul adevărului de mai sus,
Pentru diferitele funcții din tabelul adevărului, minterms pot fi scrise ca 1,2,4,7 și, în mod similar, pentru împrumut, minterms pot fi scrise ca 1,2,3,7. Decodorele 3-8 includ trei intrări, precum și 8 ieșiri de la 0 la 7 numere.
Decodor 3-la-8
Dacă intrarea scăzătorului este 000, atunci ieșirea ‘0’ va fi activă și dacă intrarea este 001, atunci ieșirea ‘1’ va fi activă.
Acum, ieșirile scăderii pot fi luate de la 1, 2, 4 și 7 pentru a o conecta la o poartă NAND, atunci ieșirea va fi diferența. Aceste ieșiri pot fi conectate la alte porți logice NAND unde ieșirea se schimbă la împrumut.
De exemplu, dacă intrarea este 001, atunci ieșirea va fi 1, ceea ce înseamnă că este activă. Deci, ieșirea este activă scăzută, iar ieșirea poate fi obținută de la poarta NAND numită funcție diferență, cum ar fi ridicată, iar funcția de împrumut se schimbă și ea ca fiind mare. Prin urmare, obținem rezultatul preferat. Deci, în cele din urmă, decodorul funcționează ca un subtractor complet.
Avantaje și dezavantaje
avantajele scăderii include următoarele.
- Proiectarea subtractorului este foarte simplă, precum și implementarea
- Deducerea puterii în cadrul DSP (procesare digitală a semnalului)
- Sarcinile de calcul pot fi efectuate cu viteză mare.
dezavantaje ale scăzătorului include următoarele.
- În jumătatea substractorului, nu există nicio condiție pentru a accepta intrarea de tip împrumut din faza anterioară.
- Viteza scăderii poate fi parțială prin întârzierea circuitului.
Aplicații
Unele dintre aplicații de subtractor complet include următoarele
- Acestea sunt utilizate în general pentru ALU (unitate logică aritmetică) în computere pentru a scădea ca CPU și GPU pentru aplicațiile grafice pentru a reduce dificultatea circuitului.
- Subtractorii sunt utilizați în principal pentru efectuarea funcțiilor aritmetice, cum ar fi scăderea, în calculatoare electronice, precum și în dispozitive digitale.
- Acestea sunt valabile și pentru diferite microcontrolere pentru scăderea aritmetică, cronometrele și contorul de programe (PC)
- Subtractorii sunt folosiți în procesoare pentru a calcula tabele, adrese etc.
- De asemenea, este util pentru sistemele bazate pe rețea și DSP.
- Acestea sunt utilizate în principal pentru ALU în cadrul computerelor pentru scăderea, cum ar fi CPU și GPU pentru aplicații grafice, pentru a reduce complexitatea circuitului.
- Acestea sunt utilizate în principal pentru a efectua funcții aritmetice, cum ar fi scăderea în dispozitivele digitale, calculatoare etc.
- Aceste scăderi sunt, de asemenea, adecvate pentru diverse microcontrolere pentru cronometre, PC (contor de programe) și scăderea aritmetică
- Acestea sunt utilizate pentru procesatoare pentru a calcula adrese, tabele etc.
- Implementarea acestui lucru cu porți logice, cum ar fi NAND și NOR, se poate face cu orice circuit logic subtractor, deoarece ambele porți NOR și NAND sunt numite porți universale.
Din informațiile de mai sus, prin evaluarea sumatorului, a scăderii complete folosind două circuite de jumătate a scăderii și a formelor sale tabulare, se poate observa că Dout în scăderea completă este exact asemănător cu sudul sumatorului complet. Singura variație este că A (variabila de intrare) este completată în substractorul complet. Astfel, este posibil să se schimbe circuitul complet-adder într-un subtractor complet, completând doar i / p A înainte de a fi dat la porțile logice pentru a genera ultima ieșire bit-împrumut (Bout).
Prin utilizarea oricărui circuit logic al scăderii complete, scăderea completă utilizând porți NAND și scăderea completă folosind nor porți pot fi implementate, deoarece atât porțile NAND, cât și NOR sunt tratate ca porți universale. Iată o întrebare pentru dvs., care este diferența dintre jumătate subtractor și subtractor complet?