Sunteți pe pagina 1din 42

Automate programabile

Circuite logice
combinaţionale (CLC)

1
Definiţie

 Sisteme la care semnalele de ieşire depind doar de


combinaţia valorilor semnalelor aplicate la intrare.
Descriere

 Funcţionarea circuitelor combinaţionale este


descrisă de un set de funcţii booleene

y1=F1(x1,x2,...,xn)

 Valorile aplicate la intrare şi valorile la ieşire


pot fi doar 0 şi 1.
y2=F2(x1,x2,...,xn)
.........................
ym=Fm(x1,x2,...,xn)
Observaţii

 Materializarea FB determină structura internă a CLC


 O FB poate fi reprezentată folosind diverse expresii
booleene => un CLC poate avea diverse structuri
realizând aceeaşi funcţionalitate
 Următoarele denumiri se pot folosi una în locul
celeilalte:
– variabilă = semnal de intrare = intrare
– funcţie = semnal de ieşire = ieşire
Specificarea CLC

 CLC pot fi specificate în 2 moduri:


– funcţional – descrie funcţionarea circuitului
indicând modul în care se modifică ieşirile la
modificarea intrărilor (circuitul este tratat ca o
cutie neagră)
– structural – descrie structura internă a circuitului
prin specificarea elementelor componente şi
legăturile dintre acestea
Probleme

 Există două tipuri de probleme legate de


CLC
– analiza CLC – se porneşte de la structura unui
CLC şi se cere să se determine funcţionalitatea
acestuia
– sinteza CLC – se porneşte de la descrierea
funcţionării CLC şi se cere structura acestuia
Subproblema 1

 Se dă structura circuitului
 Se cere valoarea ieşirilor circuitului pentru o
anumită combinaţie a valorilor intrărilor
Subproblema 1. Procedeu
1. Se porneşte de la intrările circuitului. Pentru fiecare poartă
logică care depinde doar de intrările circuitului se determină
expresia FB a ieşirii acesteia
2. Pentru fiecare poartă logică care are ca intrări intrările
circuitului sau ieşirile altor porţi logice se determină expresia
FB a ieşirii
3. Se repetă paşii 1 şi 2 până când ieşirile porţilor sunt de fapt
ieşirile circuitului.
4. Aplicând proprietăţile algebrei booleene se simplică FB
obţinute (etapă opţională dar utilă pentru reducerea volumului
de calcul)
5. În expresiile obţinute se înlocuiesc valorile pentru care se
caută valorile la ieşirea CLC
Subproblema 1. Exemplu

 Să se determine valorile la ieşirile circuitului din


figură pentru x1=0, x2=1, x3=1 şi x4=0.
Subproblema 1. Exemplu

 Se determină expresiile ieşirilor


Subprobelma 1. Exemplu

 Funcţiile corespunzătoare celor două ieşiri


sunt:
– F1(x1,x2,x3,x4)=x1x3’+x2(x3.x4+x1)
– F2(x1,x2,x3,x4)= x2(x3.x4+x1)
 Înlocuim valorile x1=0, x2=1, x3=1 şi x4=0
– F1(0,1,1,0)=0.1’+1.(1.0+0)=0+0.0=0
– F2(0,1,1,0)= 1.(1.0+0)=1.0=0
Subproblema 2

 Se dă structura circuitului
 Se cere valoarea ieşirilor circuitului pentru
toate combinaţiile valorilor intrărilor
Subproblema 2. Procedeu
1. Se porneşte de la intrările circuitului. Pentru fiecare poartă logică
care depinde doar de intrările circuitului se determină expresia FB a
ieşirii acesteia
2. Pentru fiecare poartă logică care are ca intrări intrările circuitului sau
ieşirile altor porţi logice se determină expresia FB a ieşirii
3. Se repetă paşii 1 şi 2 până când ieşirile porţilor sunt de fapt ieşirile
circuitului.
4. Se obţine o formă normală (sumă de produse sau produse de
sume) prin desfacerea parantezelor
5. Se determină forma canonică normal disjunctivă sau conjunctivă
(facem să apară variabilele lipsă folosind proprietatea x+x’=1)
6. Pe baza formei canonice se construieşte tabela de adevăr
Subproblema 2. Exemplu

 Să se determine valorile la ieşirile circuitului


pentru toate combinaţiile posibile aplicate la
intrări.
Subproblema 1. Exemplu

 Se determină expresiile ieşirilor


Subprobelma 1. Exemplu

 Funcţiile corespunzătoare celor două ieşiri


sunt:
– F1(x1,x2,x3,x4)=x1x3’+x2(x3.x4+x1)
– F2(x1,x2,x3,x4)= x2(x3.x4+x1)
 Determinăm formele normale disjunctive
(sume de produse)
– F1(x1,x2,x3,x4)=x1x3’+x2.x3.x4+x1. x2
– F2(x1,x2,x3,x4)= x2.x3.x4+x1. x2
Subprobelma 1. Exemplu

 Determinăm formele canonice normal disjunctive


– F1(x1,x2,x3,x4)=x1x3’.(x2+ x2’).( x4+ x4’)+
+(x1+ x1’).x2.x3.x4+x1. x2.(x3+ x3’) .(x4+ x4’)
– F2(x1,x2,x3,x4)= (x1+ x1’).x2.x3.x4+x1. x2.(x3+ x3’). .(x4+ x4’)
 Desfacem parantezele
– F1=x1.x2.x3’. x4 +x1x2. x3’. x4’+x1.x2’.x3’. x4 +x1x2’. x3’. x4+
+x1.x2.x3.x4+ x1’ .x2.x3.x4 + x1. x2.x3 .x4 +x1. x2. x3’ .x4+x1.
x2.x3.x4’+x1. x2. x3’ .x4’
– F2(x1,x2,x3,x4)= x1.x2.x3.x4+ x1’ .x2.x3.x4 + x1. x2.x3 .x4 +x1. x2.
x3’ .x4+x1. x2.x3.x4’+x1. x2. x3’ .x4’
Subprobelma 1. Exemplu

 Eliminăm termenii care se repetă


– F1=x1.x2.x3’. x4 +x1x2. x3’. x4’+x1.x2’.x3’. x4 +
+x1.x2.x3.x4+ x1’ .x2.x3.x4 +x1. x2.x3.x4’
=m1+m2+m3+m6+m8+m15
– F2(x1,x2,x3,x4)= x1.x2.x3.x4+ x1’ .x2.x3.x4 +x1. x2. x3’
.x4+x1. x2.x3.x4’+x1. x2. x3’ .x4’=m2+m3+m8+m15
Subprobelma 1. Exemplu
x1 x2 x3 x4 F1 F2
0 0 0 0 0 0 m0
0 0 0 1 1 0 m1
0 0 1 0 1 1 m2
 Construim tabela de adevăr
0 0 1 1 1 1 m3 pentru cele două funcţii F1şi
0 1 0 0 0 0 m4 F2 trecând valori de 1 în
0 1 0 1 0 0 m5
dreptul mintermilor care intră
0 1 1 0 1 0 m6
0 1 1 1 0 0 m7
în componenţa FCND .
1 0 0 0 1 1 m8 Restul valorilor vor fi 0
1 0 0 1 0 0 m9
1 0 1 0 0 0 m10
1 0 1 1 0 0 m11
1 1 0 0 0 0 m12
1 1 0 1 0 0 m13
1 1 1 0 0 0 m14
1 1 1 1 1 1 m15
Sinteza circuitelor logice
combinaţionale

 cunoscând modul de funcţionare a circuitului


combinaţional exprimat prin valorile
semnalelor de ieşire corespunzătoare
diferitelor combinaţii ale variabilelor de
intrare, se cere să se stabilească structura
circuitului
Etapele sintezei

 sinteza abstractă
– care constă în stabilirea expresiilor funcţiilor booleene care
corespund condiţiilor impuse între semnalele de ieşire şi de
intrare.
– Pentru ca circuitul realizat să fie cât mai simplu şi deci mai
economic, se caută expresiile minime ale funcţiilor.
– Din punct de vedere matematic, problemele de sinteză presupun
minimizarea funcţiilor booleene în sistemul de funcţii elementare
alese din considerente practice;
 sinteza structurală,
– constă în determinarea structurii fizice a circuitului sintetizat.
– se face în funcţie de tipul circuitelor logice elementare (module)
şi de numărul de intrări ale acestora, de semnalele disponibile în
diferite puncte ale sistemului etc.
Algoritmul sintezei circuitelor
combinaţionale

 Din condiţiile problemei se stabilesc corespondenţele între


combinaţiile semnalelor de intrare şi ieşire folosind tabelul de
adevăr, diagrama V-K etc.
 Se realizează minimizarea funcţiilor booleene care rezultă din
etapa precedentă
 Se implementează daca este cazul cu funcţiile elementare
impuse de realizarea practică
 Se stabileşte logigrama plecând de la forma minimă obţinută
pentru funcţiile de ieşire în pasul al treilea
 Se analizează circuitul obţinut pentru a vedea dacă
corespunde condiţiilor impuse iniţial (etapă facultativă).
 Un sistem de pompare are în componență patru pompe având
fiecare debitul de 10 mc/s, 14 mc/s, 8 mc/s respectiv 16 mc/s și
care sunt grupate în două grupuri {P1,P2} si {P3,P4} . Să se
realizeze un sistem de avertizare și alarmare care funcționează
astfel:
– o lampă verde se aprinde dacă debitul celor două grupuri este mai mare ca
18mc/s;
– o lampă galbenă se aprinde dacă diferența dintre debitul celor două grupuri
este mai mare sau egal decât 8mc/s.
– o hupă de avertizare sonoră este activată dacă funcționează doar un/o
pompa și debitul în sistem este mai mare decât 8 mc/s.
– Sâ se implementeze schema folosind un automat programabil și limbajul
bazat pe scheme cu contacte.
Circuite combinaționale tipice

 Sunt circuite care de-a lungul timpului au fost


confirmate ca fiind utile în dezvoltarea
sistemelor de comandă au căpătat un nume
și pot fi implementate ca dispozitive de sine
stătătoare folosind diverse tehnologii
Circuite de validare

 Semnalul de validare permite unui semnal să


treacă printr-o poartă logică
 Semnalul de invalidare blochează un semnal
să treacă spre ieşire şi face ca la ieşire să
avem un semnal de valoare fixă (0 sau 1).
Decodare

 Operaţia de conversie a unei intrări pe n biţi


intr-o ieşire de m biţi
 Circuitele care realizează decodarea se
numesc decodoare
 denumite decodoare n la m unde m<=2n
Decodoare

 Un decodor 2 la 4 are 2 intrări şi 4 ieşiri


 Funcţionarea acestui decodor este dată de
tabela de adevăr

S1 S0 Q0 Q1 Q2 Q3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
Decodoare

 Pe baza tabelului de
adevăr se pot
determina ecuaţiile care
descriu funcţionarea
decodorului şi schema
care realizează această
funcţionare:
 Q0 = S1’ S0’
 Q1 = S1’ S0
 Q2 = S1 S0’
 Q3 = S1 S0
Decodoare cu intrări de validare

 Multe circuite au o intrare adiţională numită


de validare care permite activarea sau
dezactivarea circuitului
 Pentru decodor
– EN=1 activează circuitul (doar o ieşire va fi 1)
– EN=0, dezactivează circuitul. Prin convenţie asta
înseamnă că toate ieşirile vor fi 0.
Decodoare cu intrări de validare

 Tabela de adevăr a decodorului va fi:

EN S1 S0 Q0 Q1 Q2 Q3
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
0 1 1 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
Decodoare cu intrări de validare
EN S1 S0 Q0 Q1 Q2 Q3
 Se observă că pentru 0 0 0 0 0 0 0
EN=0 toate ieşirile sunt 0 0 1 0 0 0 0
0 1 0 0 0 0 0
0 indiferent de valorile 0 1 1 0 0 0 0
intrărilor S0 şi S1 1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1

 Tabela poate fi scrisă EN S1 S0 Q0 Q1 Q2 Q3


0 x x 0 0 0 0
într-un format mai 1 0 0 1 0 0 0
compact astfel: 1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
Decodoare. Simbol

 Decodorul 2 la 4 poate fi reprezentat printr-


un bloc cu 2(3) intrări şi 4 ieşiri.
Decodor 3 la 8

S2 S1 S0 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Q0 = S2’ S1’ S0’
0 0 0 1 0 0 0 0 0 0 0
Q1 = S2’ S1’ S0
0 0 1 0 1 0 0 0 0 0 0
Q2 = S2’ S1 S0’
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0 Q3 = S2’ S1 S0
1 0 0 0 0 0 0 1 0 0 0 Q4 = S2 S1’ S0’
1 0 1 0 0 0 0 0 1 0 0 Q5 = S2 S1’ S0
1 1 0 0 0 0 0 0 0 1 0 Q6 = S2 S1 S0’
1 1 1 0 0 0 0 0 0 0 1 Q7 = S2 S1 S0
Implementarea FB utilizând
decodoarele

 Decodoarele sunt uneori denumite Q0 = S1’ S0’


generatoare de mintermi. Q1 = S1’ S0
– pentru fiecare combinaţie la intrări doar una Q2 = S1 S0’
dintre ieşiri este 1 Q3 = S1 S0
– fiecare ecuaţie conţine toate variabilele de
intrare
– proprietăţile sunt adevărate pentru
decodoare de orice dimensiune
 Cu ajutorul decodoarelor se poate
implementa orice funcţie
Implementarea FB utilizând
decodoarele. Exemplu

 Funcţiile având tabelul de


adevăr de mai jos pot fi
scrise sub forma canonică X Y Z C S
0 0 0 0 0
disjunctivă astfel: 0 0 1 0 1
– C(x,y,z)=m3+m5+m6+m7 0 1 0 0 1
– S(x,y,z)=m1+m2+m4+m7 0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Implementarea FB utilizând
decodoarele. Exemplu

Cu 2 decodoare Cu 1 decodor
Multiplexoare

 Un multiplexor 22->1 trimite una


dintre cele 2n intrări la ieşirea
circuitului.
 Un multiplexor are 2 seturi de intrări:
– 2n linii de date
– n linii de selecţie
 Multiplexorul 2->1 are ecuaţia şi
blocul funcţional de mai jos:
Q = S’ D0 + S D1
Multiplexoare
S D1 D0 Q
Tabelul de adevăr al unui 0 0 0 0
multiplexor este: 0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

El poate fi scris mai compact S Q


0 D0
astfel: 1 D1
Implementarea FB folosind
multiplexoarele

 Multiplexoarele pot fi folosite pentru


implementarea oricărei FB.
 Metoda 1 – folosind un multiplexor n->1:
– pentru fiecare minterm mi a funcţiei se
conectează un 1 la intrarea Di (fiecare linie de
date corespunde unui rând al tabelului de adevăr)
– celelalte intrări se conectează la 0.
– se conectează variabilele de intrare la intrările de
selecţie a multiplexorului
Implementarea FB folosind
multiplexoarele. Exemplu

 Pentru funcţia f(x,y,z) = m(1,2,6,7)

x y z f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Implementarea FB folosind
multiplexoarele
x y z f
 Metoda 2 – se înlocuieşte un multiplexor 0 0 0 0
8->1 cu unul 4->1 0 0 1 1
0 1 0 1
– Se grupează rândurile din tabelul de adevăr
0 1 1 0
 când xy=00, f=z 1 0 0 0
1 0 1 0
 când xy=01, f=z’
1 1 0 1
 când xy=10, f=0 1 1 1 1
 când xy=11, f=1
– conectează primele 2 variabile la intrările de
selecţie (x şi y) la intrările de selecţie S1 S0
ale multiplexorului 4->1.
– conectează ecuaţiile de mai sus la liniile de
date D0-D3.

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