Algebra Logic 2 Circuite Combinaionale Logice Cuprins Noi
Algebra Logică 2 Circuite Combinaţionale Logice
Cuprins Noi tipuri de porţi logice n Porţile NAND şi NOR n Circuitele NAND şi NOR n Implementări pe 2 nivele n Implementări multi-nivel n n Poarta SAU-Exclusiv(XOR) Funcţia impară n Generarea şi verificarea parităţii n 10 -Nov-20 2
Alte tipuri de porţi logice n Se poate construi oricare circuit combinaţional logic cu ajutorul porţilor de bază AND, OR şi NOT În practică sunt folosite şi alte porţi logice derivate 10 -Nov-20 n 3
Funcţiile BUFFER, NAND şi NOR 10 -Nov-20 4
Funcţiile XOR şi XNOR XOR: poarta “ne-egal” X Y F XNOR: poarta “egal” X Y 10 -Nov-20 F X Y F = X Y 0 0 1 1 1 0 X Y F = X Y 0 0 1 0 1 0 0 1 1 1 5
Poarta NAND Cunoscută sub numele de “poartă universală” deoarece orice circuit digital poate fi implementat folosindu-se doar porţi logice NAND. n Pentru a demonstra acest lucru, este suficient să arătăm că porţile AND, OR şi NOT pot fi implementate folosind doar porţi NAND. n 10 -Nov-20 6
Utilizări ale porţii NAND X X Y X F = (X • X) =X+X =X F = ((X • Y) • (X • • Y)) = (X ( • Y) + (X ( • Y) X Y F=X F = X • Y = (X ( • Y) = (X + Y) X Y = X • Y X F = X+Y = X • Y Y F = (X • Y) =X+Y 10 -Nov-20 =X+Y 7
Circuite NAND n Pentru a determina implementarea cu porţi NAND a unei funcţii booleene: n n Se găseşte forma simplificată suma-de-produse (FND) FND este un circuit AND-OR Se transformă circuitul AND-OR într-un circuit NAND Se folosesc simbolurile alternative următoare: 10 -Nov-20 8
Emularea AND-OR (Sumă-de-produse) folosind porţi NAND a) b) 10 -Nov-20 Forma iniţială sumă-de-produse Implementarea cu porţi NAND 9
Emularea AND-OR (Sumă-de-produse) folosind porţi NAND (cont. ) Verificare: (a) G = WXY + YZ (b) G = ( (WXY)’ • (YZ)’ )’ = (WXY)’’ + (YZ)’’ = WXY + YZ 10 -Nov-20 10
FND folosind porţi NAND (a) (b) (c) 10 -Nov-20 Forma iniţială FND Dubla negaţie şi gruparea Înlocuirea cu porţi NAND AND-NOT NOT-OR 11
Implementarea porţii NAND - Exemplu F (X, Y, Z) = m(0, 6) 1. Forma normală disjunctivă a funcţiei este: F = X’Y’Z’ + XYZ’ 2. Se obţine implementarea AND-OR pentru F. 3. Se transformă porţile AND-OR în porţi NAND-NAND. 10 -Nov-20 12
Exemplu (cont. ) Implementarea pe două nivele cu porţi NAND F = X’Y’Z’ + XYZ’ 10 -Nov-20 13
Circuite NAND pe mai multe nivele Paşii transformării unui circuit multi-nivel: 1. Se transformă toate porţile AND în porţi NAND cu simboluri AND-NOT. 2. Se transformă toate porţile OR în porţi NAND cu ajutorul simbolurilor NOT-OR. 3. Se verifică toate cerculeţele din diagramă. Pentru fiecare cerculeţ care nu este contracarat (negat) de alt cerculeţ pe aceeaşi linie, se inserează o poartă NOT sau se complementează intrarea iniţială. 10 -Nov-20 14
Exemplu Folosirea porţilor NAND şi NOT pentru a implementa funcţia: Z=E’F(AB+C’+D’)+GH AB AB+C’+D’ E’F(AB+C’+D’)+GH 10 -Nov-20 15
Alt exemplu 10 -Nov-20 16
Poarta NOR n Poarta NOR este, de asemenea, o “poartă universală” deoarece orice circuit digital poate fi implementat folosindu-se doar porţi NOR. 10 -Nov-20 17
Circuite NOR n Pentru a obţine o implementare NOR a unei funcţii booleene trebuie ca: n n Să se găsească o formă simplificată de produs-desume (FNC) FNC este un circuit OR-AND Se schimbă ciruitele OR-AND în circuite NOR Se utilizează simbolurile alternative următoare: 10 -Nov-20 18
O implementare pe două nivele - Exemplu F(X, Y, Z) = m(0, 6) 1. În FND F’ este: 1. 2. F’ = m(1, 2, 3, 4, 5, 7) = X’Y’Z + X’YZ’ + X’YZ + XY’Z’ + XY’Z + XYZ F’ = XY’ + X’Y + Z Se foloseşte complementul lui F’ pentru a obţine F în forma FNC: F = (F’)' = (X'+Y)(X+Y')Z' 3. Se obţine implementarea OR-AND a funcţiei F. 4. Se adaugă cerculeţe şi invertoare pentru transformarea implementării OR-AND într-o implementare NOR-NOR. 19 10 -Nov-20 2.
Exemplu (cont. ) Implementare pe două nivele cu porţi NOR F = (F’)' = (X'+Y)(X+Y')Z' 10 -Nov-20 20
Circuite NOR pe mai multe nivele Paşii transformării unui circuit multi-nivel : 1. Se transformă toate porţile OR în porţi NOR cu ajutorul simbolurilor OR-NOT. 2. Se transformă toate porţile OR în porţi NOR cu ajutorul simbolurilor NOT-AND. 3. Se verifică toate cerculeţele din diagramă. Pentru fiecare cerculeţ care nu este negat de altul pe aceeaşi linie, se inserează o poartă NOT sau se complementează intrarea iniţială. 10 -Nov-20 21
Funcţia SAU-Exclusiv (XOR) n n n XOR (notată cu ) : funcţia “ne-egal” XOR(X, Y) = X Y = X’Y + XY’ Identităţi: n n n Proprietăţi: n n 10 -Nov-20 X 0=X X 1 = X’ X X=0 X X’ = 1 X Y=Y X (X Y) W = X ( Y W) 22
Implementarea funcţiei XOR(a, b) = ab’ + a’b n Direct, se folosesc 5 porţi: n 2 invertoare, două porţi AND şi o poartă OR n 2 invertoare şi trei porţi NAND n n Indirect: n 4 porţi NAND 10 -Nov-20 23
Circuitul XOR cu 4 porţi NAND 10 -Nov-20 24
Funcţia NOR-Exclusiv (XNOR) XNOR: Funcţia “egalitate” n XNOR(a, b) = ab + a’b’ n Se observă că: XNOR(a, b) = ( XOR(a, b) )’ n n n ( a b )’ = ( a’b + ab’)’ = (a’b)’ • (ab’)’ = (a + b’) • (a’ +b) = ab + a’b’ a b’ = ( a b )’ = a’ b 10 -Nov-20 25
Funcţia impară x y = x’y + xy’ = m 01 + m 10 n x y z = xy’z’ + x’y’z +xyz = m 100 + m 010 + m 001 + m 111 n x y z w = x’yzw + xy’zw + xyz’w + xyzw’ + x’y’z’w + x’yz’w’ + x’y’zw’ +xy’z’w’= m 0111 + m 1011 + m 1101 + m 1110 + m 0001 + m 0100 + m 0010 + m 1000 n …? n Se observă că orice funcţie XOR cu n intrări are valoarea de adevăr 1 pentru toţi mintermenii cu indici care conţin în reprezentarea binară un număr impar de 1 n Funcţia XOR mai este cunoscută sub denumirea de “funcţia impară” 26 10 -Nov-20 n
Funcţia impară (cont. ) În diagrama Karnaugh, mintermenii se află întotdeauna la distanţa 2 unul de altul (separaţi de un pătrat liber) 10 -Nov-20 27
Funcţia impară (cont. ) 10 -Nov-20 28
Funcţia pară n Cum s-ar putea implementa o funcţie pară? n Prin complementarea funcţiei XOR XNOR 10 -Nov-20 29
Generarea şi verificarea parităţii Funcţiile de paritate (pară şi impară) pot fi utilizate pentru a implementa circuite de verificare a parităţii în cazul codurilor detectoare şi corectoare de erori. n S. n. generator de paritate: un circuit ce generează un bit de paritate înaintea transmisiei şirului de biţi. n S. n. verificator de paritate: un circuit care verifică paritatea la recepţie. n 10 -Nov-20 30
Generarea parităţii - Exemplu n n P(X, Y, Z) trebuie să aibă valoarea 1 pentru toate combinaţiile de intrare ce conţin un număr impar de cifre 1. În consecinţă, funcţia noastră va fi funcţia SAU-Exclusiv (funcţie impară) cu trei intrări: P = X Y Z. 10 -Nov-20 31
Verificarea parităţii - Exemplu Cum s-ar putea implementa un verificator de paritate pentru exemplul anterior ? Se poate folosi un circuit XOR cu 4 intrări (o funcţie impară) Cor = X Y Z P 1 indică eroare la transmisie sau Se poate folosi un circuit XNOR cu 4 intrări (funcţie pară) Cor = (X Y Z P)’ 1 indică recepţie corectă 10 -Nov-20 32
Aplicaţie – decodoare logice Decodoarele logice – esenţiale pentru unitatea de control a UCP şi memorii Intrări 10 -Nov-20 Ieşiri 33
Decodoare logice (cont. ) Un decodor selectează o singură ieşire la un moment dat în funcţie de intrare. Exemplu (afişajul digital): a f g e a b f c e d a f g g e d bf d a b f g ce g c e 10 -Nov-20 a bf d a bf g ce d a c d a bf g ce d b b c d 34
Decodoare logice (cont. ) INTRĂRI 10 -Nov-20 LED-uri x y z t a b c d e f g 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 35
Decodoare logice (cont. ) a=xyzt+xyzt b=xyzt+xyzt c=xyzt d=xyzt+xyzt e=xyzt+xyzt+xyzt f=xyzt+xyzt+xyzt g=xyzt+xyzt 10 -Nov-20 36
- Slides: 36