📄

Circuite logice combinaționale și secvențiale

Intermediate 1 min read 0 words

Porți logice fundamentale, tabele de adevăr, circuite combinaționale (sumatoare, multiplexoare, decodificatoare) și secvențiale (bistabile, registre, numărătoare).

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