Circuite logice combinaționale și secvențiale
Electronica digitală operează cu semnale discrete, reprezentate prin niveluri logice 0 și 1. Toate sistemele digitale moderne — de la microprocesoare la memorii — sunt construite din porți logice interconectate în circuite combinaționale sau secvențiale.
Porți logice de bază
Porțile logice sunt elementele fundamentale ale oricărui circuit digital. Fiecare poartă implementează o funcție booleană elementară:
| Poartă | Funcție | Expresie | Observații |
|---|---|---|---|
| AND | ȘI logic | Y = A · B |
Ieșirea este 1 doar dacă toate intrările sunt 1 |
| OR | SAU logic | Y = A + B |
Ieșirea este 1 dacă cel puțin o intrare este 1 |
| NOT | Negație | Y = A' |
Inversează valoarea logică |
| NAND | ȘI-NU | Y = (A · B)' |
Poartă universală — orice funcție logică poate fi realizată doar cu porți NAND |
| NOR | SAU-NU | Y = (A + B)' |
Poartă universală, similară cu NAND |
| XOR | SAU-EXCLUSIV | Y = A ⊕ B |
Ieșirea este 1 dacă intrările sunt diferite |
Tabele de adevăr
Tabela de adevăr definește complet comportarea unei funcții logice. De exemplu, pentru o poartă XOR cu două intrări:
A | B | Y = A ⊕ B
--|---|----------
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0
Definiție: Tabela de adevăr este o reprezentare tabulară care enumeră toate combinațiile posibile ale intrărilor și ieșirea corespunzătoare fiecărei combinații.
Circuite combinaționale
Circuitele combinaționale sunt acele circuite la care ieșirea depinde exclusiv de combinația curentă a intrărilor, fără a lua în considerare starea anterioară a circuitului. Nu posedă elemente de memorie.
Sumatorul pe un bit (Half Adder)
Sumatorul pe un bit adună două cifre binare A și B, producând o sumă S și un transport C (carry):
S = A ⊕ B
C = A · B
Sumatorul complet (Full Adder)
Sumatorul complet adaugă și un bit de transport de intrare (Cin):
S = A ⊕ B ⊕ Cin
Cout = A·B + Cin·(A ⊕ B)
Comparatoare
Compară două numere binare și indică relația dintre ele (A > B, A = B, A < B). Se pot cascada pentru compararea numerelor pe mai mulți biți.
Multiplexoare (MUX)
Selectează una din 2^n intrări de date pe baza a n intrări de selecție și o dirijează la ieșire. De exemplu, un MUX 4:1 are 4 intrări de date, 2 intrări de selecție și o ieșire.
Decodificatoare (DCD)
Activează exact una din 2^n ieșiri în funcție de combinația de n intrări. Exemplu: decodificatorul 3:8 (74LS138) are 3 intrări de adresă și 8 ieșiri, din care una singură este activă la un moment dat. Decodificatoarele sunt esențiale în adresarea memoriilor.
Circuite secvențiale
Diferența fundamentală: La circuitele secvențiale, ieșirea depinde atât de intrările curente, cât și de starea anterioară a circuitului. Aceasta implică existența unor elemente de memorie (bistabile).
Bistabile (Flip-Flops)
Bistabilele sunt circuitele secvențiale elementare, capabile să memoreze un bit de informație:
- Bistabilul RS (Set-Reset): are două intrări (S și R). S = 1 setează ieșirea la 1, R = 1 o resetează la 0. Combinația S = R = 1 este interzisă.
- Bistabilul D (Data): memorează valoarea de pe intrarea D la fiecare front activ al semnalului de ceas. Este cel mai folosit bistabil în practică, fiind baza celulelor de memorie SRAM.
- Bistabilul T (Toggle): își schimbă starea la fiecare front activ de ceas dacă T = 1. Este utilizat în construcția numărătoarelor.
- Bistabilul JK: combină funcționalitățile RS și T. Pentru J = K = 1, ieșirea se complementează (toggle). Nu are stare interzisă.
Registre de deplasare
Un registru de deplasare (shift register) este format din mai multe bistabile D conectate în cascadă. La fiecare impuls de ceas, informația se deplasează cu o poziție. Registrele de deplasare sunt utilizate pentru:
- Conversia serial-paralel și paralel-serial a datelor
- Implementarea liniilor de întârziere
- Generarea secvențelor pseudoaleatoare
Numărătoare
Numărătoarele sunt circuite secvențiale care parcurg o secvență de stări predefinită. Se clasifică în:
- Numărătoare asincrone (ripple counter): impulsul de ceas este aplicat doar primului bistabil, fiecare bistabil ulterior fiind comandat de ieșirea precedentului.
- Numărătoare sincrone: toate bistabilele primesc simultan impulsul de ceas, eliminând întârzierile cumulative.
Exemplu: Numărător binar pe 3 biți
Un numărător sincron pe 3 biți parcurge secvența: 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 → 000 (ciclul se repetă), numărând de la 0 la 7.
Puncte cheie pentru examen
- Porțile NAND și NOR sunt porți universale — orice funcție logică poate fi realizată exclusiv cu unul din aceste tipuri
- La circuitele combinaționale, ieșirea depinde doar de intrările curente; la circuitele secvențiale, ieșirea depinde și de starea anterioară
- Decodificatorul activează o singură ieșire din
2^n— este esențial în adresarea memoriilor - Bistabilul D este elementul de bază al celulelor de memorie SRAM
- Multiplexorul selectează una din mai multe intrări pe baza adresei de selecție
- Numărătoarele sincrone sunt preferate celor asincrone deoarece elimină întârzierile de propagare cumulative
- Circuitele secvențiale necesită un semnal de ceas pentru sincronizare