8.8. Comparator digital


Comparatoarele digitale sau binare sunt alcătuite din porți standard AND, NOR și NOT care compară semnalele digitale prezente la terminalele lor de intrare și produc o ieșire în funcție de starea acelor intrări.

De exemplu, împreună cu posibilitatea de a aduna și a scădea numere binare trebuie să le putem compara și să determinăm dacă valoarea intrării A este mai mare decât, mai mică sau egală cu valoarea de la intrarea B etc. Comparatorul digital realizează acest lucru utilizând mai multe porți logice care funcționează pe principiile algebrei Booleene. Există două tipuri principale de Comparatoare digitale disponibile și acestea sunt:

  1. Comparator de identitate - este un comparator digital cu un singur terminal de ieșire atunci când A = B, fie A = B = 1 (HIGH) sau A = B = 0 (LOW)

2. Comparator de magnitudine - este un comparator digital care are trei terminale de ieșire, fiecare câte unul pentru egalitate A = B, mai mare decât, A > B și mai puțin decât, A < B.

Scopul unui Comparator Digital este de a compara un set de variabile sau numere necunoscute, de exemplu A (A1, A2, A3, ... An, etc), față de o valoare constantă sau necunoscută, cum ar fi B (B1, B2, B3 , ... Bn, etc) și să producă o condiție de ieșire în funcție de rezultatul comparației. De exemplu, un comparator de mărime a două intrări de 1 bit, (A și B) ar produce următoarele trei condiții de ieșire atunci când sunt comparate unul cu celălalt.

ceea ce înseamnă: A este mai mare decât B, A este egal cu B sau A este mai mic decât B.

Acest lucru este util dacă vrem să comparăm două variabile și dorim să producem o ieșire atunci când oricare dintre cele trei condiții de mai sus este atinsă. De exemplu, produceți o ieșire de la un contor atunci când se atinge un anumit număr. Considerați comparatorul simplu de 1 bit de mai jos.

Circuitul de comparator digital pe 1 bit

Funcționarea unui comparator digital de 1 bit este dată în următorul tabel de adevăr.

Tabel de adevăr pentru Comparator digital

Este posibil să observați două caracteristici distincte despre comparator din tabelul de adevăr de mai sus. Mai întâi, circuitul nu face distincția între două "0" sau două "1" deoarece ieșire A = B este produsă atunci când ambele sunt egale fie A = B = "0", fie A = B = "1". În al doilea rând, condiția de ieșire pentru A = B seamănă cu cea a unei porți logice disponibile, funcția Exclusive-NOR sau Ex-NOR (echivalență) pe fiecare dintre n-biți dând: Q = A ⊕ B.

Comparatoarele digitale utilizează de fapt porți Exclusive-NOR în schemele lor pentru compararea perechilor de biți respectivi. Când comparăm două valori sau variabile binare sau BCD una cu cealaltă, comparăm "magnitudinea" acestor valori, un logic "0" față de un logic "1", de unde provine termenul Magnitude Comparator.

Precum compararea biților individuali, putem proiecta comparatoare cu biți mai mulți, legând împreună n dintre acestea și pentru a produce un comparator de n-biți, la fel cum am făcut -o pentru sumatorul de n-biți în tutorial anterior. Comparatoarele cu mai mulți biți pot fi construite pentru a compara cuvintele binare sau BCD întregi, pentru a produce o ieșire dacă un cuvânt este mai mare, egal sau mai mic decât celălalt.

Un exemplu foarte bun este comparatorul de magnitudine de 4 biți. Aici, două cuvinte pe 4 biți ("nibbles") sunt comparate unul cu celălalt pentru a produce o ieșire relevantă, cu un cuvânt conectat la intrările A și celălalt de comparat conectat la intrările B, așa cum se arată mai jos.

Comparator de magnitudine pe 4 biți

Unele comparatoare digitale disponibile în comerț, cum ar fi comparatorul de magnitudine TTL 74LS85 sau CMOS 4063 pe 4 biți, au terminale suplimentare de intrare care permit mai multor comparatoare individuale să fie "legate" împreună pentru a compara cuvinte mai mari de 4 biți. Aceste intrări în cascadă sunt conectate direct la ieșirile corespunzătoare ale comparatorului anterior, așa cum se arată, pentru a compara cuvinte de 8, 16 sau chiar 32 de biți.

Comparator de cuvinte pe 8 biți

Când comparăm numere binare sau BCD mari ca în exemplul de mai sus, pentru a economisi timp, comparatorul începe prin compararea mai întâi a bitului cu cel mai înalt ordin (MSB). Dacă egalitatea există, A = B, atunci compară următorul bit mai mic și așa mai departe până când ajunge la cel mai mic ordin (LSB). Dacă egalitatea există, atunci cele două numere sunt definite ca fiind egale.

Dacă se găsește inegalitate, fie A > B sau A < B, relația dintre cele două numere este determinată și se oprește comparația între ceilalți biți de ordin inferior. Comparatorul digital este utilizat pe scară largă în convertoarele analogic-digitale (ADC) și unitățile logice aritmetice (ALU) pentru a efectua o varietate de operații aritmetice.