Ce este un subtractor complet: construcție folosind porți logice

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Î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

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ă.

Diagrama blocului complet al subtractorului

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

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

000

0

0

0111
0101

1

0110

1

1

0010
1010

0

1

1000

1

111

1

Harta K

Simplificarea K-hartă subtractor complet pentru diferența de mai sus și împrumutul este prezentat mai jos.

K- Harta pentru diferență

Ecuațiile pentru diferență, precum și Bin sunt menționate mai jos.

K- Harta pentru Bout

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

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

0000
0011

1

0101

1

0

1101
1001

0

1

0100
1100

0

1

111

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

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?