Sunteți pe pagina 1din 9

Curs 4

CAPITOLUL II
CIRCUITE LOGICE COMBINAIONALE
2.1. Definiii
Circuitele logice combinaionale, CLC, sunt un caz particular al
sistemelor secveniale finite sau al automatelor finite, numite automate de
grad 0.
Circuitele logice combinaionale se caracterizeaz prin faptul c
variabilele de ieire sunt independente de timp i de starea intern, fiind
determinate numai de variabilele de intrare (starea variabilelor de intrare
la momentul considerat).
Legtura dintre starea ieirii i starea intrrii unui CLC este
realizat de funcia de transfer.
x1
y1
x2
y2
CLC
xn

ym

Oricare funcie de ieire y (y1, y2,, ym) este funcie de toate


variabilele de intrare (x1, x2,, xn). Un CLC se poate descrie astfel:
y1 = f1(x1, x2,, xn)
y2 = f2(x1, x2,, xn)
ym = fm(x1, x2,, xn)
Funciile se vor exprima n forma canonic disjunctiv FCD sau n
forma canonic conjunctiv FCC.
Independena fa de timp presupune c o dat cu modificarea
variabilelor de intrare se modific simultan i variabilele de ieire. Din
punct de vedere practic, datorit ntrzierilor produse de circuitele logice
i de conexiuni, modificarea simultan nu este posibil. Ca urmare, pe
durata procesului tranzitoriu de stabilire a variabilelor de ieire, vectorul
ieirilor poate lua valori intermediare diferite de valoarea final, ceea ce
conduce la fenomenul de hazard combinaional, de care trebuie s se in
cont la proiectarea unui sistem numeric.
n general, la circuitele logice combinaionale, vom face abstracie
de proprietile fizice ale porilor logice, de faptul c un impuls teoretic
difer de unul real. Vom analiza aceste fenomene doar n cazul hazardului
combinaional.

2.2. Analiza circuitelor logice combinaionale


n cadrul analizei CLC se pleac de la cunoaterea schemei logice a
circuitului i se urmrete stabilirea funcionrii acestuia. Stabilirea
expresiei variabilei de ieire se face de la intrare la ieire, urmrind
transformrile variabilelor de intrare.
Definim ca numr de nivele al unui CLC numrul maxim de pori
dintre intrri i ieiri. Numerotarea nivelelor se face de la ieire nspre
intrare.
x5
x1
x2
y1
x3
x4
y2
x6
x7
4

x1
x2

Circuitul logic combinaional din exemplu are 4 nivele.


Exist i urmtoarea situaie de legturi ntre pori:
y

x3

Acest circuit are i legturi inverse. Ultimele pori nu pot fi


numerotate, deci circuitul nu este un CLC.
n CLC sunt admise legturile inverse (ieirea unei pori dintr-un
nivel inferior s fie dus la intrarea unei pori dintr-un nivel superior) cu
condiia ca definiia CLC s fie respectat.
Algoritm de determinare a legturilor inverse n CLC
a. Se numeroteaz toate porile logice care au ca intrri un subset
din mulimea variabilelor de intrare ale circuitului logic (de la 1 la k);
b. Se numeroteaz de la k+1 porile care au ca intrri fie intrri ale
circuitului, fie ieiri ale porilor numerotate la punctul a. Dac am reuit
s numerotm toate porile circuitului logic, acesta este fr legturi
inverse i este circuit combinaional. Dac nu am reuit numerotarea
tuturor porilor logice, circuitul este de tip secvenial.

2.3. Sinteza circuitelor logice combinaionale


n cadrul sintezei circuitelor logice combinaionale se cunoate
funcia pe care trebuie s o ndeplineasc circuitul i se caut s se
gseasc structura acestuia.
Etapele sintezei circuitelor logice combinaionale sunt:
1. Enunul problemei;
2. Alctuirea tabelului de adevr, definirea funciei sau funciilor;
3. Minimizarea funciei sau funciilor;
4. Desenarea schemei circuitului
Exist mai multe metode de implementare a CLC, difereniate dup
nivelul de complexitate al circuitelor integrate folosite.
2.3.1. Sinteza CLC cu circuite integrate SSI
Circuitele integrate de tip SSI small scale integration au pn la
50 de tranzistoare integrate pe capsul. Dintre aceste circuite fac parte
porile logice fundamentale: SI-NU (NAND), SAU-NU (NOR), NU
(NOT), SI (AND), SAU (OR), SAU-EXCLUSIV (XOR).
Dup parcurgerea etapelor de sintez se face implementarea
funciei sau funciilor logice cu ajutorul circuitelor integrate existente.
CLC de tip SSI se folosesc mai mult pentru adaptarea la aplicaie a
circuitelor de tip MSI i LSI standardizate, care nu satisfac cu exactitate
cerinele de proiectare. Ele vor fi utilizate acolo unde circuitele cu grad
nalt de integrare nu pot fi folosite.
2.3.2. Sinteza CLC cu circuite integrate MSI
Circuitele integrate de tip MSI medium scale integration au
pn la 500 de tranzistoare integrate. Ele ofer structuri mai complexe,
disponibile ca i structuri standard.
Forma funciilor logice pe care dorim s le implementm cu
circuite de tip MSI trebuie s fie corelat cu circuitele disponibile. De
obicei nu mai este necesar minimizarea funciilor.
Circuite combinaionale uzuale (specializate)
1. Convertoare de cod
Convertoarele de cod sunt CLC care permit trecerea dintr-un cod
binar n altul. La intrarea circuitului se aplic cuvintele unui cod i la
ieire se obine alt cod. Convertoarele de cod fac compatibil
funcionarea a 2 sisteme n care informaia este codificat n mod diferit.
Exemplu: Conversiile din cod Gray n cod binar-zecimal (BCD) i invers
1) Cod Gray BCD
Cuvintele de cod n cele dou coduri sunt:
Gray:
gn, gn-1,, g0
BCD:
bn, bn-1,, b0
Reguli:
bn = gn
3

g3
g2
g1
g0
b3
b2
b1
b0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
Se construiesc diagrame Karnaugh pentru determinarea funciilor
minimizate pentru b3, b2, b1, b0.
Diagrama Karnaugh pentru b3:
g3g2 g1g0 00
01
11
10
00
01
11 1
1
1
1
10 1
1
1
1
Obinem: b3 = g3
Diagrama Karnaugh pentru b2:
g3g2 g1g0 00
01
11
10
00
01 1
1
1
1
11
10 1
1
1
1
Obinem b2 = g2g3 + g2g3 = g2 + g3
Diagrama Karnaugh pentru b1:
g3g2 g1g0 00
01
11
10
00
1
1
01 1
1
11
1
1
10 1
1
Obinem b1 = g1g2g3 + g1g2g3 + g1g2g3 + g1g2g3 = g1(g2 + g3) + g1(g2 + g3) =
g1 + g2 + g3

Diagrama Karnaugh pentru b0:


g3g2 g1g0 00
01
11
10
00
1
1
01 1
1
11
1
1
10 1
1
Obinem b0 = g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 +
g0g1g2g3 + g0g1g2g3 + g0g1g2g3 = g2g3(g0 + g1) + = g0 + g1 + g2 + g3
n general:
bn = gn
i

bi =

dac + gj = 1
j=n-1

dac nu

2) Conversia din BCD n Gray:


gn = bn
gi = bi + bi+1
2. Codificatoare
Codificatoarele sunt CLC la care activarea unei intrri conduce la
apariia unui cuvnt de cod la ieire.
Exemplu: Codificator din zecimal n BCD (binar codificat zecimal)
Zecimal
BCD
3
0
1
2
3
4
5
6
7
8
9
2
22 21 20
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
Intrrile sunt active pe 0 logic. De exemplu, dac este activ (adic 0)
intrarea 5, pe ieire se va obine codul n BCD pentru 5, adic 0101.
Funciile pentru ieiri sunt:
23 = 8 9
22 = 4 5 6 7
21 = 2 3 6 7
20 = 1 3 5 7 9

Codificatorul prioritar este un codificator care are mai multe intrri


active simultan i la ieire se obine cuvntul de cod care corespunde
intrrii care este cea mai prioritar. Prioritatea crete de la cifra 0 nspre
cifra 9.
3. Decodificatoare
Decodificatoarele sunt CLC la care se activeaz doar una dintre
ieiri, pentru combinaia (codul) corespunztoare a variabilelor de intrare.
Ele au funcie invers codificatoarelor. Ieirile decodificatoarelor sunt
active pe 0 logic (funcioneaz n logic negativ).
I1
y1
Circuite SI-NU
In
ym
Numrul ieirilor distincte este m 2n.
Exemplu: Decodificator pentru 3 cifre binare.
I2
I1
I0
O7
O6
O5
O4
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1

O3
1
1
1
0
1
1
1
1

O2
1
1
0
1
1
1
1
1

O1
1
0
1
1
1
1
1
1

O0
0
1
1
1
1
1
1
1

Funciile pentru ieiri sunt: O7 = I2I1I0; O6 = I2I1I0; O5 = I2I1I0; O4 = I2I1I0;


O3 = I2I1I0; O2 = I2I1I0; O1 = I2I1I0; O0 = I2I1I0.
4. Multiplexoare
Multiplexoarele sunt CLC care permit trecerea datelor de pe una
din intrri la o ieire unic. Selecia intrrii se face printr-un cuvnt de
cod de selecie numit i adres.
I0
MUX
y
In-1
sm-1 s0
Cu m linii de selecie se pot selecta 2 m intrri. Funcia realizat de ieire
este:
y = Ik
unde k este numrul de combinaii
m-1
k = sm-1 2 + + s0 20

Aplicaiile cele mai importante ale MUX sunt la selecia


secvenial a datelor, conversia paralel-serie a datelor, sisteme de
transmisie a datelor pe un singur canal, implementarea circuitelor logice
combinaionale cu o singur ieire.
Exemple
1)
I0
MUX
y
I1
2:1
s
Multiplexorul de tip 2:1 are 2 semnale de intrare, I 0 i I1, un semnal de
selecie s i o ieire y. n funcie de semnalul de selecie avem pentru
ieire: y = I0 s + I1 s.
s=0
y = I0
s=1
y = I1
Deci multiplexorul las s treac spre ieire semnalul de pe acea linie de
intrare corespunztoare lui s.
2)
I0
I1
MUX
I2
4:1
y
I3
s0
s1
Multiplexorul de tip 4:1 are 4 semnale de intrare, 2 semnale de selecie i
un semnal de ieire. Ieirea va fi:
y = I0 s0 s1 + I1 s0 s1 + I2 s0 s1 + I3 s0 s1
Exist multiplexoare de tip 8 : 1, 16: 1, 32 : 1. Multiplexoarele integrate
au disponibile att ieirea adevrat ct i cea negat. Ele au i o intrare
de Enable pentru validare, care permite o funcie SI suplimentar.
5. Demultiplexoare
Demultiplexoarele sunt CLC care permit transmiterea datelor de pe
o intrare de date comun pe una din ieirile selectate. Selectarea ieirii se
face cu ajutorul unui cuvnt de cod de selecie numit i adres.
y0
I
DEMUX
yn-1
sm-1

s0

Cu m linii de selecie se pot selecta 2m ieiri. Funciile de ieire sunt:

y0 = sm-1 s0 I
y1 = sm-1 s0 I
y2m = sm-1 s0 I
6. Comparatoare numerice
Comparatoarele numerice sunt CLC care permit determinarea
valorii relative a dou numere binare. Comparatoarele pot fi de 1 bit sau
de mai muli bii.
Exemplu: Comparator pe 1 bit
Ai
y1
y2
Bi
y3
Funciile de ieire sunt:
y1 = Ai Bi
pentru Ai < Bi,
y2 = Ai + Bi
pentru Ai = Bi
y3 = Ai Bi
pentru Ai > Bi
Acest circuit constituie celula de baz pentru compararea numerelor cu
mai muli bii.
7. Detectoare-generatoare de paritate
Detectoarele-generatoare de paritate sunt CLC cu rol de a
determina i genera paritatea sau imparitatea numrului de variabile de
intrare egale cu 1. Bitul de paritate este utilizat ca metod de verificare a
transferului de date. Sunt posibile 2 situaii:
a. numrul biilor de 1 + bitul de paritate = numr par
b. numrul biilor de 1 + bitul de paritate = numr impar
Realizarea detectoarelor de paritate se bazeaz pe funcia logic SAUEXCLUSIV (0 pentru par i 1 pentru impar).
8. Sumatoare-scztoare
Sumatoarele i scztoarele sunt CLC care realizeaz adunarea,
respectiv scderea cifrelor binare.
Semisumatorul este un CLC care efectueaz suma a 2 numere
binare de cte 1 bit, fr a ine cont de transportul de la bitul de
semnificaie imediat inferioar. Semisumatorul este:
A0
S0
1/2
B0
C0
Valorile pentru suma S0 i transportul spre rangul superior C0 sunt:
S0 = A0 B0 + A0 B0 = A0 + B0
C0 = A0 B0
8

Sumatorul pentru bitul de rang n este:


An
Sn
Cn-1

Bn
Cn
Valorile pentru suma Sn i transportul Cn pentru rangul superior sunt:
Sn = An Bn Cn-1 + An Bn Cn-1 + An Bn Cn-1 + An Bn Cn-1 =
= (An + Bn) Cn-1 + (An + Bn) Cn-1 = An + Bn + Cn-1
Cn = An Cn-1 + Bn Cn-1 + An Bn
Sumatoarele pentru cuvinte binare cu mai muli bii se realizeaz
prin interconectarea sumatoarelor pentru 1 bit. Adunarea se efectueaz n
paralel, iar propagarea transportului n serie.
Semiscztorul de 1 bit are ieirile:
D0 = A0 B0 + A0 B0 = A0 + B0
I0 = A0 B0
Scztorul complet de rangul n are ieirile:
Dn = An Bn In-1 + An Bn In-1 + An Bn In-1 + An Bn In-1 = =(An
+ Bn) In-1 + (An + Bn) In-1 = An + Bn + In-1
In = An In-1 + Bn In-1 + An Bn
Scztoarele pentru cuvinte binare cu mai muli bii se realizeaz
prin interconectarea scztoarelor pentru 1 bit.
9. Uniti aritmetico-logice
Unitile aritmetico-logice sunt CLC care realizeaz operaii de tip
aritmetic i operaii de tip logic.

S-ar putea să vă placă și