Sunteți pe pagina 1din 153

Introducere

Lucrarea de faţă „Logică digitală – principii si aplicaţii” este realizata in scopul


cunoaşterii si experimentării diferitelor aspecte din problematica proiectării structurilor
logice combinaţionale si secvenţiale.
Cartea cuprinde aplicaţii privind studiul unor metode de analiza si sinteza a
dispozitivelor numerice, precum si modalităţi de testare si realizare cu circuite integrate a
acestor dispozitive, creând astfel o baza teoretica si practica pentru dezvoltarea unor
dispozitive si aplicatii numerice mai complexe .
Conţinutul lucrării are un caracter aplicativ, este conceputa sub forma unei
secvenţe de experimente reţinând in cadrul prezentării bazele teoretice precum si
metodele practice de sinteza si implementare a dispozitivelor numerice si se adresează
atât studenţilor cat si inginerilor si cadrelor tehnice care lucrează in acest domeniu.
Anexele de la sfârşitul cărţii cuprind etapele si instrumentele utilizate in realizarea
unor experimente si configuraţia terminalelor circuitelor integrate folosite in decursul
lucrării.
In final mulţumesc studenţilor Nemeti Andrei-Nicolae, Petrişor Radu, Petruţa
Cristian, Petrici Nicolae pentru aportul adus la editarea lucrării si dedic aceasta carte
fiului meu, Radu Casian.
Modul de abordare si prezentare al lucrarii , precum si problematica studiata , lasa
deschisa inevitabil ,posibilitatea aparitiei unor erori de forma si continut si care daca vor
fi sezizate de cititori , rugam sa ne fie transmise pentru afi eliminate

Autorul
2

Specificatii tehnice
Pe placa de încercări va fi reprodusa schema logica a structurii proiectate,
utilizând circuitele integrate corespunzătoare si fire de conexiuni.
Osciloscopul permite vizualizarea unor semnale electrice cu o frecventa maxima
de 40 MHz si este utilizat in principal la vizualizarea formelor de unda a iesirilor privind
aparatura utilizata in abordarea experimentelor si modul general de realizare al
obiectivelor fiecărui experiment.
Un stand de experimentări are in componenta sa o placa de încercări cu socluri de
circuite integrate, osciloscop de 40 MHz – HM404-2, sistem de calcul ,sursa dubla de
tensiune de 0-15V, analizor logic digital ELV cu 12 canal de intrare si 12 canale de ieşire
si programator pentru dispozitive de memorare, LEAPER-10.
Placa de încercări permite utilizarea circuitelor integrate de orice mărime,
alimentarea plăcii permiţând aplicarea simultana a trei valori de tensiuni distincte. In
aplicaţiile din lucrare fiind utilizate circuite integrate TTL, tensiunea de alimentare
utilizata este de 5V, si va fi generata si preluata de la analizorul logic.

CI – Circuit integrat introdus in soclu


Se observa in fig 1 ca fiecare terminal al circuitului
integrat, prin conexiunile din interiorul plăcii(liniile
punctate), are la dispoziţie încă 4 contacte (găuri) prin
intermediul cărora se pot realiza conexiunile externe
(cu fire) la terminalele aceluiaşi circuit , sau al altor
circuite de pe placa. Alimentările circuitului sunt realizate de asemenea de către utilizator
prin conexiune la şirul de contacte + si – al plăcii de încercări.
circuitelor proiectate , raportate la stimulii de comanda , măsurarea fronturilor
semnalelor logice si a timpilor de propagare a circuitelor digitale utilizate, caracteristici
care nu pot fi puse in evidenta de analizorul logic.
Sistemul de calcul rulează programele specifice analizorului logic si permite prin
intermediul acestuia prestabilirea si introducerea secvenţei de stimuli de intrare in
montajul ce urmează a fi testat si apoi afişarea rezultatelor experimentului pe monitor
Analizorul logic digital ELV este un dispozitiv electronic care permite analiza si
testarea structurilor logice. Acesta se cuplează la portul paralel al calculatorului (portul de
imprimanta) si prin softul cu care este dotat, permite generarea si recepţionarea de
semnale digitale programabile.
Dispozitivul are un număr de 12 intrări si 12 ieşiri digitale (compatibile
TTL/CMOS) precum si o ieşire de alimentare a montajului (+5V).
Cu ajutorul lor se pot analiza dispozitive numerice cu maxim 12 variabile de
intrare, respectiv 12 variabile de ieşire.
1. Instalarea softului
Kitul are in componenta sa o discheta care contine softul dispozitivului. Pentru a
instala programul, se accesează discheta, se caută fişierul „Install.exe” si se rulează
programul. Se vor urma paşii afişaţi pe ecran.
Cerinţe minime de sistem
• 2 MB spaţiu pe hard-disc
• 8 MB RAM
3

• Procesor < 500 MHz


• Port Paralel
• Norton Commander V5.0 sau Windows ’95

2. Utilizarea programului

Programul fiind instalat, se caută fişierul executabil (de obicei c:\ELV\Da)


„da.exe” si apoi se rulează. La rularea programului dispozitivul trebuie sa fie alimentat si
activata comanda de pornire ON ( semnalat prin aprinderea ledului verde). Interfaţa
grafica a programului este prezenta in figura 2 si permite utilizarea facila a programului.

Funcţionarea butoanelor:
Start:
• Iniţializează interfaţa (dispozitivul)
• Se poate seta poziţia (pasul) de pornire/oprire
• Perioada unui ciclu (ms)
• Modul de lucru – manual (Einzelachritt); - automat (Automatik)
Edit:
• Se selectează canalul (Kanal)
• Se editează semnalul (forma semnalului) pentru fiecare canal de ieşire
• Numele canalului (Namen)
• Secvenţa de ieşire a biţilor (Ex: 101100011010010101...) (Generator)
• Trecerea semnalului (ieşire) pe Hight/Low ( 5V / 0V )
• Selectarea pasului de pornire (Anf.) respectiv de oprire (Ende) pentru secvenţa de
ieşire
Kanal: selectează canalele vizibile pe grafic (Ausgange – ieşiri si Eingange -
intrări)
Laden: încarcă o înregistrare anterioara
Speicheren: salvează secvenţa de ieşire
Optionen:
• Opţiunile programului – legate de adresa portului paralel,prin funcţiile lui, se
recomanda sa NU fie modificate (eventualele modificări pot duce la
blocarea/nefuncţionarea programului)
• Culoarea cu care apare pe grafic (Farben)
• Export – creează un fişier cu toate datele de intrare si ieşire care poate fi folosit
pentru o analiza ulterioara a datelor
• Import – încarcă fişierele salvate anterior
Hilfe: un mic ghid de ajutor in limba germana
Benden: Ieşirea din program
Zuruck: Înapoi (revenire la meniul anterior)
4

3. Mod de conectare a intrărilor/ieşirilor

Dispozitivul are 12 ieşiri (numerotate de la 1 la 12) identificabile prin conectorii


de culoare galbena si 12 intrări (numerotate de la 1 la 12) identificabile prin conectori de
culoare alba. In plus mai exista 2 conectori de alimentare a montajului: Negru – masa
(GND), Roşu - +5V.
Circuitele logice vor fi alimentate numai prin intermediul acestor conectori
respectându-se polaritatea. Analizorul de semnal digital ELV se alimentează de la o sursa
externa (alimentator) care debitează o tensiune continua (bine filtrata) cuprinsa intre 8-15
V.
Nu se va depăşi valoarea de 15 V deoarece acest lucru ar duce la defectarea
dispozitivului precum si a calculatorului la care acesta este conectat.
5

Fig. 2 Afişarea opţiunilor analizorului ELV

PROGRAMATORUL LEAPER-10

LEAPER-10 este un dispozitiv general de


programare/testare caracterizat prin manevrabilitate,
consum de energie redus si exactitate.
Se poate conecta si la portul paralel al PC-ului si, de
asemenea, se poate folosi alături de un laptop, daca este
alimentat de baterii. Folosirea programului este deosebit de
facila, îndeosebi datorita softului performant împreuna cu
care este livrat. Cu ajutorul programatorului LP10 se pot
realiza: citirea, scrierea, ştergerea si verificarea diferitelor
dispozitive de memorare. De asemenea, cu ajutorul
programului se pot crea si rula proiecte, care sunt de fapt
lanţuri de instrucţiuni pentru programator.

Fig. 3 Programatorul LEAPER-10

Dispozitivele programabile cu LEAPER-10 sunt următoarele: EPROM,


EEPROM, Flash EPROM, BPROM, Nonvolatile RAM, Serial EEPROM, Micro Chip
PLD, PLA, GAL, PPL, EPLD.
6

Operarea cu ajutorul lui LEAPER-10

Punerea in funcţiune
Pentru a pune in funcţiune programatorull, este necesar sa se efectueze următorii
paşi:
a. Oprirea PC-ului
b. Eliberarea portului paralel de eventuale dispozitive periferice
c. Conectarea la portul paralel a mufei de date de la cablul programatorului
d. Conectarea mufei de alimentare (de la transformator) la programator
e. Punerea sub tensiune a transformatorului
f. Pornirea calculatorului
g. Pornirea programului
ATENTIE!!! Nu se va conecta mufa la portul paralel al calculatorului cat timp
acesta este sub tensiune!
După efectuarea acestor paşi si după bootarea sistemului se porneşte programul
„lp10.exe” din directorul in care acesta a fost instalat. In cazul in care nu este ales portul
corect, se alege din Option – Parallel Port No.
Pentru a putea opera cu un anumit dispozitiv, trebuie mai întâi ales tipul
dispozitivului. Acest lucru se realizează din meniul Device. De aici se poate alege
dispozitivul folosit in funcţie de categoria din care face parte (Trademark, Category), in
funcţie de fabricant (Manufacturer), direct după serie (Type number) sau din lista
ultimelor dispozitive folosite (History). Categoria selectata din lista Category va
influenta lista din Manufacturer, iar aceasta pe cea din Type number. După aceasta
selecţie se poate opera cu dispozitivul.

Programarea dispozitivului de memorare

Programarea dispozitivului înseamnă de fapt înscrierea unei informaţii binare,


conţinute intre anumite adrese din buffer. Programarea se realizează din Process-
Program. Pentru a modifica parametrii standard (aceşti parametrii sunt fixaţi automat in
momentul selectării dispozitivului) se va apăsa Set Parameter. Aici se pot stabili: timpul
de citire/verificare, tensiunea de alimentare, amplitudinea impulsului, durata impulsului,
precum si metoda de programare.

Ştergerea dispozitivului de memorare

Ştergerea dispozitivului se face din Process – Erase. Pentru a putea efectua


aceasta operaţie, dispozitivul trebuie sa suporte ştergerea electrica. După ştergere,
dispozitivul este imediat pregătit pentru o noua scriere.

Protejarea dispozitivului de memorare

In cazul in care dispozitivul suporta aceasta opţiune, acesta poate fi protejat la


eventuale modificări. Acest lucru se realizează din Process – Protect.
7

Etapele realizării unui experiment sunt:


1. Stabilirea temei si a protocolului de funcţionare a unei structuri logice
combinaţionale sau/si secvenţiale.
2. Analiza si sinteza structurilor logice, utilizând tabele de adevăr, forme de unda a
semnalelor de intrare si metode de sinteza a circuitelor combinaţionale si
secvenţiale.
3. Reprezentarea schemelor logice rezultate utilizând tipurile de circuite integrate
propuse pentru experiment, in concordanta cu datele de catalog aferente acestor
circuite (schema logica, numerotare pini, încărcare ieşiri).
4. Estimarea teoretica a rezultatelor experimentului.
5. Realizarea practica, pe placa de încercări a structurii obţinute la punctul 3.
6. Alimentarea analizorului logic, si implicit a montajului, pornirea programului de
testare, prestabilirea secvenţei valorilor semnalelor de intrare si vizualizarea
rezultatelor funcţionarii montajului.
7. Compararea acestor rezultate cu cele estimate teoretic la punctul 4 si depanarea
defectelor in cazul apariţiei unei erori.

1. Axiome şi Teoreme ale Algebrei Booleene;


aplicaţii
În literatura de specialitate, algebra booleană este prezentată ca având la bază
diferite grupe de axiome. Alegerea unui anumit grup de axiome este arbitrară cu condiţia
ca axiomele grupului să fie independente (nici una să nu fie dedusă din celelalte) şi să nu
fie contradictorii.
În cele ce urmează, se va alege un grup de axiome, definindu-se şi evidenţiindu-se
particularităţile algebrei booleene.
Fie mulţimea B cu cel puţin 2 elemente distincte, în care se definesc două operaţii
.
binare, operaţia SAU(cu operatorul "+"), respectiv ŞI (cu operatorul ” ” şi o relaţie de
echivalenţă între elementele mulţimii B (având simbolul "=").
În mulţimea B există două constante caracteristice: constanta 0 si constanta 1.
Mulţimea B considerată astfel este o algebră booleană, notată <B,=,+, g,0,1> dacă sunt
satisfăcute următoarele axiome:

A1. Operaţia SAU este asociativă


oricare ar fi A,B,C din B, ( A  B )  C  A  ( B  C )
A2. Operaţia ŞI este asociativă
oricare ar fi A,B,C din B, ( AgB )gC  Ag( B gC )
A3. Operaţia SAU este comutativă
8

oricare ar fi A,B din B, A B  B  A


A4. Operaţia ŞI este comutativa
oricare ar fi A,B din B AgB  BgA
A5. Există un singur element neutru cu efect nul faţă de operaţia SAU, elementul 0, astfel
încât oricare ar fi A din mulţimea B A  0  A
A6. Există un singur element neutru cu efect nul faţă de operaţia ŞI, elementul 1, astfel
încât oricare ar fi A din mulţimea B Ag1  A
A7. Operaţia SAU este distributivă faţă de operaţia ŞI
oricare ar fi A,B,C din B A  ( BgC )  ( A  B )g( A  C )
A8. Operaţia ŞI este distributivă faţă de operaţia SAU
oricare ar fi A,B,C din B Ag( B  C )  AgB  AgC
A9. Orice element A din mulţimea B are un complement, notat A astfel încât
AgA  0 şi A  A  1
Pe baza axiomelor de mai sus se pot demonstra o serie de teoreme fundamentale,
dintre care amintim cele mai importante:
1. Idempotenţa elementelor mulţimii B pentru operaţiile SAU, ŞI :
Teorema 1.1 A+A=A
Teorema 1.2 AgA  A
2. Elemente absorbante pentru operaţiile SAU, ŞI
Teorema 2.1 A+1=1
Teorema 2.2 Ag0  0
3. Legile absorbţiei
Teorema 3.1 A  AgB  A
Teorema 3.2 Ag( A  B)  A
Teorema 3.3 A  AgB  A  B
Teorema 3.4 Ag( A  B)  AgB
Teorema 3.5 AgB  AgB  A
Teorema 3.6 ( A  B)g( A  B)  A
4. Unicitatea complementului
Teorema 4.1 Orice element din mulţimea B are un singur complement in B
5. Complementarea este o operaţie involutivă
=
Teorema 5. A =A
6. Legile lui DE MORGAN
Teorema 6.1 A  B  AgB
Teorema 6.2 AgB  A  B

În teoria comutaţiei se aplică o algebră în care mulţimea B are numai două


elemente, corespunzătoare celor două stări stabile ale elementelor de comutaţie, respectiv
B={0,1}
Algebra comutaţiei este identică cu algebra booleană folosită în logică, în care cele două
elemente ale mulţimii B sunt constantele logice "fals" şi "adevărat".
Din acest motiv, algebra comutaţiei este denumită şi algebra logicii, operaţia SAU fiind
denumită sumă logică, operaţia ŞI produs logic, complementarea este denumită negare,
9

iar funcţiile de transfer, funcţii logice.


Funcţia de comutaţie este o noţiune fundamentală în teoria circuitelor de
comutaţie. O funcţie de comutaţie de n variabile f(X0,X1 ,.......,Xn-1) unde variabilele Xi
pentru i=0,1.....,n-1 iau valorile 0 şi 1, se defineşte ca o aplicaţie a mulţimii {0,1}n în
mulţimea {0,1}. Prin {0,1}n s-a notat produsul cartezian al mulţimii {0,1} cu ea însăşi de
n ori. Domeniul de definiţie al funcţiei f ( X0 ,X1 ,......Xn-1 ) este prin urmare mulţimea
X={0,1} = n
{( X 0 , X 1 ,..., X n 1 ) | X 0  {0,1}, X 1  {0,1},..., X n 1  {0,1}} ale cărei elemente
sunt n de 1 şi 0 { X 0 , X 1 ,..., X n 1}
Exemple de funcţii de comutaţii:
f ( X 0 , X 1 , X 2 , X 3 )  X 0 gX 1 gX 2  X 0 gX 1 g( X 2  X 3 )
f ( A, B, C )  AgBgC  AgB gC  AgB gC

Obiectivul experimentului: studiul, cunoaşterea axiomelor şi teoremelor algebrei


booleene şi utilizarea acestora la reducerea funcţiilor logice
Exemplu: fie funcţia logică
f ( A, B, C , D)  AgB gC gD  AgB gC gD  AgB gC gD  AgBgC gD
Utilizând axiome şi teoreme ale algebrei booleene, funcţia f(A,B,C,D) poate fi redusă la o
formă mai simplă, cu un număr mai mic de terminaţii variabile şi care să aibă aceeaşi
comportare din punct de vedere logic.
Rezultă: AgBgC gD  AgBgC gD  AgBgC gD  AgBgC gD  ( A  A)gBgC gD  ( B  B)gAgC gD
 1gB gC gD  1gAgC gD  B gC gD  AgC gD  ( D  D)g( BgC  AgC ) 
 1g( B gC  AgC )  B gC  AgC  (C  C )g( A  B)  1g( A  B )  A  B
S-au folosit pentru reducere (minimizare) axiomele A6 şi A9.
Observaţie: un termen al funcţiei poate fi grupat de mai multe ori cu alţi termeni,
din suma logica ca efect al teoremei 1.1: A+A=A
Desfăşurarea experimentului:
1. Să se demonstreze teoremele algebrei booleene utilizând cele nouă axiome ce o
definesc
2. Să se reducă la o formă mai simplă funcţiile:
F1 ( X 0 , X 1 , X 2 )  X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 1 gX 2
F2 ( A, B )  Ag( A  B )  Ag( A  B)
F3 ( A, B )  ( A  B )g( A  B )  A
F4 ( X 0 , X 1 , X 2 , X 3 )  X 3 gX 2 gX 1 gX 0  X 3 gX 2 gX 1 gX 0  X 3 gX 2 gX 1 gX 0 
 X 3 gX 2 gX 1 gX 0
F5 ( X 0 , X 1 )  X 1 gX 0  X 1 gX 0  X 1 gX 0
3. Să se aplice teoremele DE MORGAN funcţiilor:
10

F6 ( X 0 , X 1 , X 2 , X 3 , X 4 )  X 0 gX 1  X 2  X 3 gX 4

F7 ( X 0 , X 1 , X 2 , X 3 , X 4 )  X 0 gX 1  X 3 gX 4 gX 5

F8 ( A, B, C , D, E , F )  AgB gC gD  E gB  F

2.Reprezentarea funcţiilor de comutaţie; aplicaţii

Comportarea unui circuit de comutaţie combinaţional cu n intrări este descrisă de


sistemul de funcţii de comutaţie:
Z0 =f 0 (X 0 ,X1 ,....,X n-1 )
Z1 =f1 (X 0 ,X1 ,....,X n-1 )
:
:
Zm-1 =f m-1 (X 0 ,X1 ,....,X n-1 )

X Z0
0
Circuit de
X comutatie Z1
1
combinational

X Z
n-1 n-1

Fig 2.1 Modelul unui circuit de comutaţie combinaţional


Specificarea funcţiilor de comutaţie se poate realiza prin:
2.1 Tabele de adevăr
Tabelul de adevăr reprezintă o modalitate tabelară de reprezentare a unei funcţii de
comutaţie şi conţine pe de o parte toate combinaţiile posibile şi distincte de valori binare
ale variabilelor de intrare, n-uplurile X 0 X 1... X n 1 şi apoi toate valorile funcţiei pentru
fiecare combinaţie binară, atribuită celor n variabile ale funcției.
Exemplu:
11

Ez X2 X1 X0 f(X 0,X1,X2)

0 0 0 0 0

1 0 0 1 0

2 0 1 0 1

3 0 1 1 1

4 1 0 0 0

5 1 0 1 1

6 1 1 0 0

7 1 1 1 0

Fig 2.2 Reprezentarea funcţiei f(X0 , X1 , X2) prin tabel


Coloana Ez din figură reprezintă echivalentul zecimal al fiecărei combinaţii
binare din tabel, interpretată ca un număr binar pe 3 biţi, bit-ul X0 fiind cel mai puţin
semnificativ.
2.2 Sumă logică de mintermi
n
Un minterm este o funcţie elementară de n variabile notată mi unde n indică
numărul de variabile ale funcţiei iar i este echivalentul zecimal al n-uplului funcţiei
aplicat în 1, interpretat ca număr binar cu n poziţii.
Funcţiei minterm îi corespunde o expresie din mulţimea expresiilor generate de n
variabile în formă directă sau negată (produs logic), care în urma evaluării pentru toate n-
n
uplurile, ia aceeaşi valoare ca şi funcţia mi .
Ez X2 X1 X0 m03 m13 m23 m33 m43 m53 m63 m73
0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 1 0 0 0 0 0 0
2 0 1 0 0 0 1 0 0 0 0 0
3 0 1 1 0 0 0 1 0 0 0 0
4 1 0 0 0 0 0 0 1 0 0 0
5 1 0 1 0 0 0 0 0 1 0 0
6 1 1 0 0 0 0 0 0 0 1 0
7 1 1 1 0 0 0 0 0 0 0 1

Fig. 2.3 Tabelul funcţiilor minterm de 3 variabile


Se observă din tabel, de exemplu, că funcţia minterm m23 are expresia
12

m23 ( X 0 , X 1 , X 2 )  X 2 gX 1 gX 0 , X 2 gX 1 gX 0  1 doar dacă X2 = 0, X1 =1 şi X0 =0, si valoarea


0 pentru celelalte atribuiri.
Având în vedere modul de definire al funcţiilor minterm rezultă că orice funcţie
de comutaţie de n variabile poate fi reprezentată ca sumă logică de funcţii minterm
f ( X 0, X 1..... X n 1 )   min
iK
unde  reprezintă suma logică iar K mulţimea
indicilor echivalentului zecimal corespunzător n-uplurilor interpretate ca număr binar,
pentru care funcţia are valoarea „1”.
Funcţia reprezentată în fig. 2.2 poate fi scrisă: f ( X 0 , X 1 , X 2 )  m2  m3  m5 ;
3 3 3

utilizând o notaţie simplificată în care se păstrează doar indicii inferiori se poate scrie:
f ( X 0 , X 1 , X 2 )   (2,3,5)

Asociind fiecărei funcţii minterm, expresia logică corespunzătoare, rezultă:


f ( X 0 , X 1 , X 2 )  X 2 gX 1 gX 0  X 2 gX 1 gX 0  X 2 gX 1 gX 0 ceea ce reprezintă forma canonică
disjunctivă a funcţiei. Prin forma canonică se înţelege faptul că termenii produs logic ai
funcţiei conţin toate variabilele funcţiei, între termeni realizându-se operaţia SAU
(disjunctie).
2.3 Produs logic de maxtermi
Funcţia maxterm este o functie elementară de n variabile notate M in  min unde i
este echivalentul zecimal al n-uplului funcţiei, aplicat in „0”, interpretat ca un număr
binar cu n poziţii. Functiei maxterm îi corespunde o expresie generată de n variabile în
formă directă sau negată, (sumă logică) care în urma evoluării pentru toate n-uplurile, ia
n
aceeasi valoare ca si M i .

Ez X2 X1 X0 M 03 M 13 M 23 M 33 M 43 M 53 M 63 M 73
0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 0 1 1 1 1 1 1
2 0 1 0 1 1 0 1 1 1 1 1
3 0 1 1 1 1 1 0 1 1 1 1
4 1 0 0 1 1 1 1 0 1 1 1
5 1 0 1 1 1 1 1 1 0 1 1
6 1 1 0 1 1 1 1 1 1 0 1
7 1 1 1 1 1 1 1 1 1 1 0

Fig. 2.4 Funcţiile maxterm de 3 variabile


3
Funcţia maxterm M 3 de exemplu are expresia M 33  X 2  X 1  X 0 ;
X 2  X 1  X 0 =0 pentru X2 = 0, X1 =1 şi X0 =1, pentru celelalte atribuiri având valoarea
13

„1”. O funcţie de comutaţie de n variabile poate fi reprezentată printr-un produs de


maxtermi:
f ( X 1, X 2 ..... X n ) =  M in unde K este mulţimea indicilor echivalentului zecimal al
0
i∈K 0
n-uplurilor interpretate ca număr binar pentru care funcţia ia valoarea „0”.
Funcţia de comutaţie din Fig. 2.2 poate fi specificată astfel:
f ( X 0, X 1 , X 2 ) = ∏ ( M 03 , M 13 , M 43 , M 63 , M 73 ) sau intr-o forma simplificata,

f ( X 0, X 1 , X 2 ) = ∏ (0,1,4,6,7)

Înlocuind expresiile logice ale funcţiilor maxtermi se obţine:


f ( X 0, X 1 , X 2 ) = ( X 2 + X 1 + X 0 )g( X 2 + X 1 + X 0 )g( X 2 + X 1 + X 0 )g( X 2 + X 1 + X 0 )g( X 2 + X 1 + X 0 )
ceea ce reprezintă forma canonică disjunctivă a funcţiei f

2.4 Diagrama Veitch-Karnaugh


Diagrama V-K este o reprezentare grafică matriceală a tabelului de adevăr care
cuprinde 2n compartimente, n reprezentând numărul variabilelor de intrare ale funcţiei. În
colţul din stânga sus pe diagonală sunt indicate variabilele de intrare, iar pe marginea
fiecărui rând şi coloană, valorile binare atribuite variabilelor funcţiei. În fiecare
compartiment se înscrie valoarea funcţiei pentru n-uplul corespunzător acelui
compartiment atribuit variabilelor funcţiei. Compartimentele diagramei V-K sunt astfel
distribuite încât celor alăturate pe linie sau coloană să le corespundă n-upluri adiacente
(să difere printr-un singur bit pe aceeaşi poziţie binară).
Astfel funcţia de comutare din fig. 2.2 are următoarea reprezentare:
X1
X
X2 000 01 11 10
0 0 0 1 1
0 1 3 2
1 0 1 0 0
4 5 7 6

Fig. 2.5 Reprezentarea funcţiei din fig 2.2 pe o diagrama V-K


În colţul din dreapta jos al fiecărui compartiment este util să se înscrie
echivalentul zecimal al n-uplului aplicat, pentru a facilita reprezentarea funcţiei de
comutaţie pe diagrama V-K
Funcţii de comutaţie incomplet specificate
Adesea funcţiile de comutaţie pe care trebuie să le realizeze un circuit de
comutaţie nu sunt definite pentru toate combinaţiile posibile de valori ale variabilelor de
intrare, fie pentru ca anumite combinaţii de valori nu pot să apară în practică pentru
circuitul dat, fie că valorile funcţiei pentru anumite combinaţii de valori sunt indiferente
în funcţionare.
În tabelul de adevăr al unei funcţii de comutaţie incomplet specificată, se înscrie
în dreptul n-uplurilor pentru care valoarea funcţiei nu este precizată, notaţia X
(redundanta).
14

Exemplu:
Ez X2 X1 X0 f(X0, X1, X2)
0 0 0 0 0
1 0 0 1 0
2 0 1 0 1
3 0 1 1 1
4 1 0 0 X
5 1 0 1 1
6 1 1 0 0
7 1 1 1 X
Fig 2.6 Tabelul de adevăr al unei funcţii de trei variabile incomplect specificată
Obiectivul experimentului: studiul şi aplicarea diferitelor forme de reprezentare a
funcţiilor de comutaţie
Aplicaţie rezolvată: se dă funcţia de comutaţie f1(X0,X1,X2)=
X 0 gX 1 gX 2  X 0 g( X 2  X 1 )  X 0 gX 1
Se cere reprezentarea funcţiei prin tabel de adevăr, diagrama V-K, în formă canonică
disjunctivă şi formă canonică conjunctivă.
În forma prezentată, funcţia conţine termeni care nu au toate variabilele funcţiei
(formă normal disjunctivă) şi folosind axiome şi teoreme din algebra booleană, va fi
reprezentată în formă canonică disjunctivă:
X 0 gX 1 gX 2  X 0 g( X 2  X 1 )  X 0 gX 1  X 0 gX 1 gX 2  X 0 gX 2  X 0 gX 1  X 0 gX 1 
X 0 gX 1 gX 2  X 0 gX 2 g( X 1  X 1 )  X 0 gX 1 g( X 2  X 2 )  X 0 gX 1 g( X 2  X 2 ) 

X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 0 gX 1 gX 2 
 X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 0 gX 1 gX 2  X 0 gX 1 gX 2 - formă canonică
disjunctivă (f.c.d.)
Reprezentarea funcţiei prin tabel de adevăr:
Ez X2 X1 X0 f(X0, X1, X2)
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
15

6 1 1 0 0
7 1 1 1 1

Reprezentarea funcţiei prin diagrama V-K:


X1
X
X2 000 01 11 10
0 0 1 1 0
0 1 3 2
1 0 1 1 0
4 5 7 6

Reprezentarea funcţiei în formă canonică conjunctivă:


f1 ( X 0 , X 1 , X 2 )  ( X 0  X 1  X 2 )g( X 0  X 1  X 2 )g( X 0  X 1  X 2 )g( X 0  X 1  X 2 )
Desfăşurarea experimentului: Să se reprezinte funcţiile de mai jos în: forma
canonică disjunctivă, forma canonică conjunctivă, tabel de adevăr şi diagrame V-K.
1. f 2 ( X 0 , X 1 , X 2 , X 3 )  X 0 gX 1 gX 2  X 0 gX 1 gX 2 gX 3  X 0 gX 1 g( X 2  X 3 )

2. f 4 ( X 0 , X 1 , X 2 , X 3 ) :
Ez X3 X2 X1 X0 f(X0, X1, X2,X3)
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 X
7 0 1 1 1 1
8 1 0 0 0 1
9 1 0 0 1 1
10 1 0 1 0 X
11 1 0 1 1 0
12 1 1 0 0 0
13 1 1 0 1 0
14 1 1 1 0 0
15 1 1 1 1 0
16

3. f 3 ( X 0 , X 1 , X 2 , X 3 ) :
X1
X3 X0 01 11
00 10
X2
00 0 1 0 0
0 1 3 2
01 0 x 0 1
4 5 7 6
11 0 0 1 1
12 13 15 14
10 0 0 x 1
8 9 11 10

4. f 5 ( X 0 , X 1 , X 2 , X 3 )  ( X 0  X 1  X 2 )g( X 0  X 1  X 2  X 3 )

3. Minimizarea funcţiilor booleene; aplicaţii


O formă minimă normal disjunctivă a unei funcţii booleene este rezultatul aplicării
axiomelor si teoremelor algebrei booleene , obţinând astfel o funcţie cu număr mai mic de
variabile a termenilor şi un număr mai mic de termeni, prin procedeul denumit minimizare.
Utilizarea diagramelor V-K este una din metodele de minimizare a funcţiilor booleene.
Un termen produs T1, acoperă un termen produs T2 notat T1  T2 dacă T2 conţine pe
fiecare din variabilele care apar in T1 în aceeaşi formă ( complementate sau necomplementate ).
Exemplu : X gY  X gY gZ
Dacă un termen produs T1 acoperă un termen produs T2 atunci T2 implică pe T1 , deoarece când
T2 ia valoarea ,, 1 ” T1 care conţine o parte din variabilele din T2 , ia şi el valoarea „1” . În
consecinţa dacă T1  T2 atunci T1 + T2 = T1 .
Un implicant prim al unei expresii logice E, este un termen produs T care implică
expresia E şi nu este acoperit de alţi termeni produs care implica expresia E.
Un implicant prim esenţial al unei expresii logice este acel implicant prim care acoperă
cel puţin un termen produs al expresiei, neacoperit de alţi implicanţi primi.
Obţinerea formei minime normal disjunctive a unei funcţii prin utilizarea diagramelor
V-K , presupune parcurgerea următoarelor etape :
a) reprezentarea funcţiilor booleene pe diagrame V-K
b) determinarea implicanţilor primi ai funcţiei prin realizarea de grupări maxime de 2n
compartimente alăturate în care funcţia ia valoarea „1” .
Observaţie : pentru a se obţine o grupare maximă in cazul funcţiilor incomplet specificate ,
se includ în grupări şi compartimentele notate cu X ( nedefinită ) , dar numai dacă prin
adăugarea acestor compartimente (termeni redundanţi) se obţine o maximizare a grupărilor
reprezentând implicanţii primi.
c) forma minimă disjunctivă a funcţiei va conţine suma logica a implicanţilor primi
esenţiali ( obligatoriu ) şi a acelor implicanţi primi care au cea mai mare acoperire şi includ
ceilalţi termeni canonici ai funcţiei neacoperiţi de implicanţii primi esenţiali.
Observaţie : se pot obţine mai multe forme minime disjunctive
17

d) expresia logică a implicanţilor primi este reprezentată de produsul logic al variabilelor


funcţiei, care nu îşi modifică valoarea pe suprafaţa acoperită de implicant, in formă negată sau
directă , după cum iau valoarea „0” sau „1” in n-uplurile binare asociate compartimentelor
grupate.
e) în cazul minimizării funcţiilor booleene cu mai mult de patru variabile se procedează
astfel:
se delimitează printr-o linie distinctă diagramele V-K de patru variabile , se realizează
grupările maxime în cadrul acestora şi apoi dacă este posibil se grupează suprafeţe identice între
diagrame de 4 variabile alăturate .

Exemplu: Să se minimizeze funcţiile booleene reprezentate in diagramele V-K de mai


jos:

X1
X 3 X0 00 01 11 10
X2
00 1 0 0 1
0 1 3 2
01 0 1 x x
4 5 7 6
11 0 1 1 0
12 13 15 14
10 1 0 0 1
8 9 11 10

fminimă = X 0 g X 2 + X0 g X2 = X0 e X2 (funcţia coincidentă)

X2
X
X4 1X0
X3 000 001 011 010 100 101 111 110
0 1 1 0 0 1 1 0 0
0
0 1
1 1 0 0 1 0 0
1
11 1 0 0 0 1 0 0 0

10 1 0 0 0 1 0 0 0

fminimă = X 0 gX 1  X 1 gX 4

Observaţie importantă: obţinerea expresiilor logice a implicanţilor primi realizaţi


prin gruparea a 2n compartimente adiacente (alăturate) în care funcţia reprezentată ia valoarea
„1” se bazează pe teorema : A g B + A g B = A g (B + B ) = A unde B + B = 1
18

Obiectivul experimentului : studiul şi aplicarea metodei de minimizare a funcţiilor


booleene, utilizând diagrama V-K .
Desfăşurarea experimentului :
Aplicaţii : Să se minimizeze funcţiile logice de mai jos , utilizând diagramele V-K :
1. f1 ( X 0 , X 1 , X 2 , X 3 ) = X 0 g X 1 g X 2 g X 3+ X 0 gX1 g X 2 g X 3 + X 0 g X 1 g X 2 gX3 + + X 0 g
X1 g X 2 gX3 + X0 g X 1 gX2 g X 3 + X0 gX1 gX2 gX3 +X0 gX1 gX2 g X 3+ X0 g X 1 gX2 gX3
2. f2 ( X 0 , X 1 , X 2 , X 3 = ∑ (0,1,4,5,6,7,13,15) şi N (3,10)
3. f3 ( X 0 , X 1 , X 2 , X 3 ) = ∑ (0,2,4,5,10,13,15)
4. f4 ( X 0 , X 1 , X 2 , X 3 ) = ∑ (0,1,2,3,4,6,8,9,10,11,12,14)
5. f5 ( X 0 , X 1 , X 2 , X 3 ) = ∑ (0,1,2,4,5,6,9,10,11,12) şi N (3,7,8,13,14,15)

Observaţie : În cadrul diagramelor V-K cu mai mult de patru variabile pot fi abordate doua
variante de notare a valorilor binare atribuite variabilelor si anume :
a)

b)

6. f6( X 0 , X 1 , X 2 , X 3 , X 4 , X 5 )=∑(0,2,4,6,8,10,12,14,16,18,19,20,21,24,26,30,34,35,36,37,50,
51, 52, 53) şi N ( 22 , 28)
7. f7 ( X 0 , X 1 , X 2 , X 3 , X 4 , X 5 ) = ∑ (0,3,4,7,10,11,14,15,16,18,19,23,26,27,30,31,32,36,38,42,
43,46,50,51,52,54,55,58,59,62) şi N (2,6,20,22,34,35,39,47,48,63)
8. f8 ( X 0 , X 1 , X 2 ) = X 0 g X 1 gX2 + X1 gX2
19

4. Sinteza funcţiilor logice combinaţionale


utilizând circuite elementare - porţi logice – de tip
ŞI-NU, ŞI-SAU-NU, scheme logice, aplicaţii
Pentru realizarea unei funcţii de comutaţie se pot utiliza circuite de comutaţie
elementare, care realizează funcţiile elementare, ca de pildă porţile logice ŞI-NU, SAU,
NU, ŞI etc.
Reprezentarea modului de realizare a funcţiei de comutaţie a unui circuit
combinaţional folosind porţi logice se realizează sub forma unui graf orientat numit
schemă logică. In nodurile acestui graf sunt reprezentate simbolic porţile logice care
realizează funcţiile elementare asupra variabilelor de intrare, respectiv asupra ieşirilor
altor porţi logice, reprezentate de arcele grafului.
Simbolurile folosite pentru reprezentarea circuitelor de comutaţie elementare şi a
funcţiilor realizate de acestea sunt prezentate mai jos:

a a b ,,SI - NU’’
b
a a b ,,SI’’
b
a a +b ,,SAU - NU’’
b
a a+b ,,SAU’’
b
a a ,,NU’’

a a b
b a
b
SAU Exclusiv a b + c d ,,SI - SAU - NU’’
c
d

Funcţiile de comutaţie realizate de un circuit combinaţional pot fi reprezentate


printr-o schema logică. Finalitatea analizei unui circuit combinaţional creează
posibilitatea descrierii funcţionale formale a circuitului respectiv. Aplicaţiile acestei
descrieri se refera la:
• Determinarea comportamentului circuitului pentru diverse combinaţii ale
intrărilor
• Dezvoltarea unor structuri logice distincte, cu acelaşi comportament logic
• Adoptarea descrierii logice a circuitului dat, in vederea implementării cu alte
tipuri standardizate de circuite logice.
• Utilizarea descrierii funcţionale la analiza unor sisteme logice de o mai mare
complexitate, care includ circuitul dat
Fiind dată schema logică a unui circuit combinaţional se poate obţine descrierea
formală a acestui circuit în mai multe moduri, unul fiind acela în care pornind de la intrări
20

spre ieşire se construiesc inductiv expresiile logice care descriu funcţional fiecare circuit
elementar. Complexitatea soluţiei este proporţională cu dimensiunea circuitului analizat.
Exemplu: Se da schema logică a circuitului combinaţional din figura 4.1 şi se
cere reprezentarea funcţiei sale de transfer.

a
b

c
d
Fig. 4.1 Circuit logic combinaţional

Aplicând metoda menţionată, rezultă:

a
a
a b
b
(a b) + ( c d)
c c d
d

Sinteza unei funcţii logice combinaţionale cu porţi logice presupune ca o primă


etapă, minimizarea funcţiei astfel încât circuitul combinaţional obţinut să fie de o
complexitate cât mai redusă.
In cazul sintezei funcţiei combinaţionale cu porţi ŞI-NU se aplică o dublă
complementare funcţiei date (nu îşi schimbă valoarea ) şi se utilizează teoremele De
Morgan, obţinându-se o expresie care conţine numai operatii ŞI-NU; fiecărei astfel de
operaţie îi va corespunde în schema logică câte o poartă ŞI-NU având atâtea intrări câte
variabile are fiecare termen produs logic din expresia logică obţinută.
Exemplu:
Să se realizeze sinteza cu porţi ŞI-NU a funcţiei :

f  X 0 X 1 X 2  X 0 X 1 X 2  X 1 X 2
X1
X
X2 000 01 11 10
0 0 0 1 0
0 1 3 2
1 0 0 1 1
4 5 7 6

f min  X 0 X 1  X 1 X 2
X 0 X 1  X 1 X 2  X 0 X 1  X 1 X 2  X 0 X 1 X 1 X 2
Rezultă următoarea schemă logică a circuitului combinaţional:
21

X0
X1
X0 X1 X2 X 3 = X0 X1 + X 2 X3

X2
X3

Fig. 4.2 Circuit combinaţional realizat cu porţi ŞI-NU

Pentru implementarea hardware a unui astfel de circuit se pot folosi circuite


integrate TTL ( Tranzistor –Tranzistor Logic) care pot fi identificate prin înscrisul de pe
capsulă, care conţine un grup de litere ce reprezintă (prescurtat) numele firmei
producătoare şi un grup de cifre, care indică tipul circuitului integrat ai cărui parametri se
regăsesc în cataloagele de circuite integrate ale firmelor producătoare.

Tipurile de circuite integrate ce conţin porţi ŞI-NU sunt:


• 404 – 6 porţi inversoare cu o intrare
• 400 – 4 porţi „ŞI-NU” cu 2 intrări
• 410 – 3 porţi „ŞI-NU” cu 3 intrări
• 420 (440) – 2 porţi „ŞI-NU” cu 4 intrări
• 430 – o poartă „ŞI-NU” cu 8 intrări

Un parametru electric al ieşirii unei porţi logice integrate, care trebuie luat în
considerare la implementarea unui circuit combinaţional este factorul de încărcare la
ieşire (FE) care exprimă numărul de intrări pe care le poate comanda o ieşire a unei porţi.
Definirea factorului de încărcare la intrarea unei porţi (FI) şi la ieşirea unei porţi (FE) se
face plecând de la valorile curenţilor corespunzători tensiunilor limită admişi la intrare
respectiv tensiunilor limită garantate la ieşire pentru cazul cel mai defavorabil.
In cazul porţilor ŞI-NU standard, factorul de încărcare la ieşire este 10 (circuitul
420) şi 20 dacă poarta este de putere (circuitul 440).
Intrările porţilor logice TTL nefolosite nu se recomandă să fie menţinute
neconectate, deoarece pot colecta tensiuni de zgomot. Aceste intrări pot fi conectate la un
potenţial neutru, care să nu influenţeze logica funcţiei de ieşire, la masă – „0”, la +5V
tensiunea de alimentare a circuitului prin intermediul unei rezistenţe de 1kΩ, sau la o
intrare folosită dacă factorul de încărcare la ieşire (FE) a porţii permite acest lucru:

a a b a a+ b a
b b b a b

1kΩ
+5V
Fig 4.3 Moduri de conectare a intrărilor neutilizate a unui circuit integrat TTL

Porţile TTL nu admit conectare în scurtcircuit a două sau mai multe ieşiri, motivul
fiind apariţia posibilităţii ca o singură poartă să aibă ieşirea la „0” şi toate celelalte la
22

„1”. In acest caz poarta care are la ieşire „0” preia curenţii de sarcină (Is) ai celorlalte
porţi (fig 4.4) ceea ce conduce la creşterea nivelului de tensiune, pentru „0”, existând şi
posibilitatea distrugerii tranzistoarelor etajului de ieşire (T11) datorită curenţilor mari:
(n-1)Is.

Fig 4.4 Conectarea în scurtcircuit a ieşirilor a n porţi TTL

Conectarea în scurtcircuit a ieşirilor porţilor logice este admisă în cazul utilizării


circuitelor cu colector deschis (când rezistenţa de colector, Rn, a etajului de ieşire este
calculată şi adăugată de utilizator), sau a circuitelor de tip trei stări (fig 4.5) :
Circuit 4125 – 4 porţi neinversoare trei stări
A I E
I E 0 0 0
0 1 1
A
1 0 înaltă impedanţă
1 1 înaltă impedanţă
Circuit 4126 – 4 porţi neinversoare trei stări
A I E
I E 0 0 înaltă impedanţă
0 1 înaltă impedanţă
A
1 0 0
1 1 1
Fig 4.5 Porţi logice trei stări

Se observă din tabelul de funcţionare al acestor circuite că funcţie de valoarea


binară a semnalului de autorizare A, ieşirea este identică cu intrarea sau trece in starea de
23

înalta impedanţa. Necesitatea realizării funcţiei logice cablate prin legarea in scurtcircuit
a ieşirilor porţilor, apare frecvent în sistemele de calcul în care circulaţia informaţiei se
realizează prin magistrale de informaţie (BUS), fig 4.5.

DIEN

D0 O0 D1 O1 D2 O2 D3 O3

Di – date transmise pe magistrală


Oi – date recepţionate de pe magistrală
DIEN- comandă de transmisie/recepţie date
Fig 4.5 Utilizarea circuitelor trei stări pentru conectarea la magistrala de informaţie

Sinteza funcţiilor combinaţionale cu porţi „ŞI-SAU-NU”, presupune obţinerea


formei minime a negatei funcţiei, se complementează, şi apoi fiecărei operaţii de tip
„ŞI-SAU-NU” îi corespunde un grup de porţi „ŞI-SAU-NU” în schema logică.
Exemplu: Să se realizeze sinteza funcţiei : f ( X 0 , X 1 , X 2 ) = Σ(2,3,4,5)
Minimizăm negata funcţiei cu diagrama V-K, grupând compartimentele pentru
care funcţia ia valoarea „0”:
X1
X
X2 000 01 11 10
0 0 0 1 1
0 1 3 2
1 1 1 0 0
4 5 7 6

f min  X 1 X 2  X 1 X 2

complementăm:

f min  f min  X 1 X 2  X 1 X 2

şi implementând cu porţi ŞI-SAU-NU se obţine schema logică:


24

X1
X2 X X+X X
1 2 1 2

X1
X2

Tipuri de circuite TTL cu porţi ŞI-SAU-NU:

Circuitul 451 – 2 grupuri în capsulă Circuitul 454 – un grup în capsulă

Obiectivele experimentului: Studiul şi implementarea funcţiilor combinaţionale


utilizând porţi logice de tip ŞI-NU, ŞI-SAU-NU.
Desfăşurarea experimentului: Să se implementeze cu porţi ŞI-NU, porţi
ŞI-SAU-NU funcţiile de mai jos precizând tipul şi numărul de circuite integrate TTL
necesare.
Aplicaţie rezolvată:
f1 ( X 0 , X 1 , X 2 , X 3 )   (2,3,8,9,12,13)

Sinteza funcţiei cu porţi ŞI-NU:


X1
X3 X 0 01 11
00 10
X2
00 0 0 1 1
0 1 3 2
01 0 0 0 0
4 5 7 6
11 1 1 0 0
12 13 15
10 1 1 0 0
8 9 11 10

f1min  X 1 X 2 X 3  X 1 X 3

Schema logică cu porţi ŞI-NU:

X 1 X 2 X 3  X 1 X 3  X 1 X 2 X 3 X 1 X 3
25

X1
X2
X3
X
1
X3

Dacă variabilele de la intrarea circuitului nu sunt disponibile în forma negată se


poate obţine următoarea implementare posibilă:
X1 1
12
2
X2 13

1 2
9
8
X3 10
3 4 11

5 6
5 6 4
3

404 410

Sinteza funcţiei cu porţi ŞI-SAU-NU:


X1
X3 X0 01 11
00 10
X2
00 0 0 1 1
0 1 3 2
01 0 0 0 0
4 5 7 6
11 1 1 0 0
12 13 15 14
10 1 1 0 0
8 9 11 10

f1min  X 1 X 3  X 2 X 3  X 1 X 3

Schema logică cu porţi ŞI-SAU-NU:


f1min  X 1 X 3  X 2 X 3  X 1 X 3

X1
X3

X2

X1
X3
26

Nedispunând de variabile complementate, se poate obţine circuitul:

404 454

X1 1 2 1

X3 4 5 13

2
X2 3
8
4

10

f 2 ( X 0 , X 1 , X 2 , X 3 )   (0,1, 2,3, 48,9,10,11) şi N { 5}

f 3 ( X 0 , X 1 , X 2 )   (0,1, 6, 7)

Utilizarea diferitelor tipuri de circuite integrate TTL la implementarea unui circuit


combinaţional necesită informaţii de catalog referitoare la schema logică integrată,
numărul şi semnificaţia terminalelor circuitului, tensiuni de alimentare, etc.
Spre exemplu, circuitul 400, (4 porţi ŞI-NU cu 2 intrări) are următoarea
reprezentare:
Vcc
14 13 12 11 10 9 8

a b
e
c d

1 2 3 4 5 6 7
GND
f
Fig. 4.6 Circuitul logic integrat TTL 400 (Privire de deasupra circuitului – se vede
înscrisul pe circuit)

• a, b, c, d – porţi ŞI-NU cu 2 intrări


27

• e – cheia circuitului (o adâncitură), pe o latură mică a capsulei


• f- terminalele circuitului
• VCC – Tensiunea de alimentare (curent continuu)
• GND – Masa (electrica)

Numerotarea terminalelor circuitului se face, ca în figura 4.6 considerând privită


capsula de deasupra, cu circuitul poziţionat cu cheia în stânga.
Utilizarea terminalelor circuitului se face în concordanţă cu conexiunile interne
reprezentate în schema logică a acestuia (fig 4.6).Astfel pentru porţi ŞI-NU (a),
terminalele (pinii) 1,2 sunt intrări iar 3 este ieşire. Prin intermediul pinului 7 (ground) şi
14 (tensiune curent continuu), circuitul se alimentează la tensiunea de +5V.
Verificarea funcţionarii circuitelor a căror funcţii de transfer sunt funcţiile f1,f2,f3
se face generând la intrările circuitului toate combinaţiile binare distincte şi comparând
valorile rezultate ale ieşirilor cu cele date prin specificarea funcţiilor logice f1,f2 şi f3.

5. Sinteza funcţiilor combinaţionale utilizând porţi


logice SAU – EXCLUSIV
Structuri logice combinaţionale: codificator,
decodificator, aplicaţii
Operaţia SAU–EXCLUSIV este comutativă, asociativă şi distributivă faţă de operaţia ŞI.

A ⊕ B = B ⊕ A comutativitatea
A ⊕ (B ⊕ C)=(A ⊕ B) ⊕ C asociativitatea
A g (B ⊕ C)=A gB ⊕ A gC distributivitatea faţă de ŞI

Sunt de asemenea valabile relaţiile :


A ⊕ A=0
A ⊕ 0=A
A ⊕ 1= A
A ⊕ A =1

Există anumite funcţii combinaţionale care nu se pot minimiza, în a căror reprezentare pe


diagrama V-K unu-rile şi zero-urile sunt plasate „în tablă de şah” şi care pot fi realizate cu porţi
logice SAU – EXCLUSIV .

Exemplu : să se realizeze cu porţi logice SAU-EXCLUSIV sinteza funcţiei


f(A,B,C) = A gB gC + A gB gC + A gB gC + A gB gC
28

B
A 00 01 11 10
C
0 0 1 0 1
0 1 3 2
1 1 0 1 0
4 5 7 6
Fig. 5.1 Reprezentarea pe diagrama V-K a funcţiei
f(A,B,C) – „tabla de şah”

A gB gC + A gB gC + A gB gC + A gB gC = A g(B gC + B gC ) + A g(B gC + B gC) =


= A g( B ⊕ C ) + A g(B ⊕ C) = A ⊕ (B ⊕ C)

Schema logică :

B
C A f(A,B,C)

circuitul 486 cu 4 porţi SAU – EXCLUSIV cu 2 intrări

Codificatorul este un circuit de comutatie combinaţional având in cazul general 2n


intrări si n ieşiri. Fiecărei intrări îi corespunde un anumit cod binar de n cifre generat la ieşirea
circuitului.

D0 C0
D1 C1
Codificator

D n-1 C n-1
2

Fig. 5.2 Circuitul decodificator

Condiţia de funcţionare corectă presupune ca la un moment dat o singură intrare să fie


activă . Deoarece această condiţie nu este respectată întotdeauna , în practică se utilizează
codificatoare cu intrări prioritare la care intrărilor li se atribuie o anumită prioritate astfel
încât atunci când sunt active mai multe intrări în acelaşi moment, la ieşire este generat codul
intrării celei mai prioritare.

Sinteza circuitului codificator cu porţi logice ŞI-NU.


Se propune realizarea unui codificator prioritar cu trei intrări , codificând şi starea când
nici un semnal nu este activ la intrare.
29

D0 C0

D1 Codificator

D2 C1

Fig. 5.3 Codificator prioritar cu trei intrări

Funcţionare circuitului este descrisă printr-un tabel de adevăr. Se consideră o intrare


activă atunci când are valoarea „1”. Se atribuie intrări D0 prioritatea cea mai mică şi intrări D2
prioritatea cea mai mare, iar codurile corespunzătoare intrărilor sunt de asemenea alese de
proiectant.

D2 D1 D0 C1 C0
0 0 0 0 0 – nici o intrare activă
0 0 1 0 1 – codul intrării D0
0 1 x 1 0 – codul intrării D1
1 x x 1 1 – codul intrării D2

Practic acum sinteza circuitului codificator se reduce la sinteza cu porţi logice ŞI-NU a
funcţiilor C0(D0,D1,D2) , C1(D0,D1,D2)

D1
D
D 2 000 01 11 10
0 0 1 0 0
0 1 3 2
1 1 1 1 1
4 5 7 6

C0  D2  D0 gD1  D2 gD0 gD1

D1
D
D 2 000 01 11 10
0 0 0 1 1
0 1 3 2
1 1 1 1 1
4 5 7 6

C1  D1  D2  D1 gD2
D
0 C0
D
1

D C1
2
30

Decodificatorul este un circuit de comutaţie combinaţional care în cazul general are n intrări
reprezentând biţii codului de la intrarea circuitului şi 2n ieşiri , din care la un moment dat una
singură este activă , cea corespunzătoare codului prezent în acel moment la intrări.

C0 E0

Decodificator E1
E2
C1 E3

Fig. 5.4 Decodificator 2 intrări / 4 ieşiri

Când toate codurile de la intrarea circuitului sunt decodificate, se obţine un decodificator


complet.

Sinteza circuitului decodificator cu porţi logice ŞI-NU


Se va realiza un circuit decodificator cu 2 intrări şi 4 ieşiri considerând o ieşire activă
când are valoarea „0” .

Tabel de funcţionare:

C1 C0 E3 E2 E1 E0
0 0 1 1 1 0
0 1 1 1 0 1
1 0 1 0 1 1
1 1 0 1 1 1

Implementând cu porţi logice ŞI-NU, funcţiile de ieşire E 0(C0,C1) , E 1(C0,C1) , E


2(C0,C1) E 3(C0,C1) se obţine schema logică a circuitului decodificator.

C0 gC1  E0
C0 gC1  E1
C0 gC1  E2
C0 gC1  E3
31

E0
C0

E1
C1

E2

E3

Fig. 5.5 Schema logică cu porţi logice ŞI-NU a unui decodificator 2/4

Obiectivul experimentului : realizarea functiilor combinaţionale cu porţi SAU–


EXCLUSIV , studiul funcţionarii şi implementarea structurilor de tip codificator şi
decodificator , cu porţi logice ŞI–NU .

Desfăşurarea experimentului :

1. Se va realiza şi verifica funcţionarea unui circuit combinaţional realizat cu porţi SAU-


EXCLUSIV (486) a cărui funcţie de transfer este :
f( X 0 , X 1 , X 2 , X 3 ) = ∑(1,2,4,7,8,11,13,14)
2. Să se realizeze sinteza cu porţi ŞI-NU a unui codificator prioritar cu trei intrări D0,D1,D2
intrarea D0 având prioritatea cea mai mare iar intrarea D2 prioritatea cea mai mică.
3. Se va realiza un circuit combinaţional care să detecteze prezenţa unui singur bit egal cu „0”
într-un cuvânt de 8 biţi utilizând 2 codificatoare prioritare cu 8 intrări şi 3 ieşiri (74148) şi porţi
logice.
4. Folosind un circuit decodificator binar-zecimal, 4 intrări şi 10 ieşiri (442) şi porţi logice, să se
obţină o extensie a decodificatorului, la 12 iesiri :
0
0
A 2 1
2
3
1
B 2 DEC 4
5
442
6
2
C 2 7
8
9
3
D 2
32

Fig. 5.7 Decodificator BCD 442

Observaţie: Se fabrică sub forma de circuite integrate TTL decodificatoare complete cu


4 ,8 ,16 ieşiri. Tabelul de functionare al circuitelor decodificator, indica existenta unei
corespondente între echivalentul zecimal al codului de la intrare, interpretat ca număr binar şi
activarea acelei ieşiri notate cu acelaşi indice zecimal (vezi tabela de adevăr a circuitelor
decodificatoare utilizate)

6. Sinteza cu porţi SI-NU a structurilor


combinaţionale de tip multiplexor si
demultiplexor.
Multiplexor (selector)
Circuitul combinaţional multiplexor in cazul general are 2n intrări de date, n
intrări de selecţie si o singura ieşire.
Funcţionarea sa se caracterizează prin aceea ca in corelaţie cu configuraţia binara
generata de intrările de selecţie (codul de selecţie) o anumita intrare de date se transfera
la ieşire cu valoarea binara corespunzătoare.
D Starea ieşirii multiplexorului la un moment dat este
0
D E=Di unde i este echivalentul zecimal al numărului binar
1
D generat la intrările de selecţie (adresa)
2 MUX E Sinteza cu porţi SI-NU a unui circuit multiplexor se
realizează descriind funcţionarea circuitului prin tabel de
n -1
21 2 0
valori care cuprinde toate combinaţiile binare distincte
D n -1 2
2 ale celor n intrări de selecţie si valoarea ieşirii
corespunzătoare fiecare combinaţii. Se va realiza apoi
S n -1 S 1 S 0 sinteza cu porţi SI-NU a funcţiei de ieşire obţinând
astfel un circuit multiplexor realizat cu porţi SI-NU.
Fig. 6.1 Circuit multiplexor

Exemplu: Sa se implementeze un circuit multiplexor cu 2 intrări de selecţie, cu


porţi SI-NU.

D
0
Tabelul de funcţionare a multiplexorului cu 2 intrări
D1 de selecţie:
MUX E
D2 S1 S0 E
0 0 D0
D 21 20 0 1 D1
3
1 0 D2
S1 S0 1 1 D3

Fig. 6.2 Schema bloc a unui multiplexor cu 2


33

intrări de selecţie

E  S0 gS1 gD0  S0 gS1 gD1  S0 gS1 gD2  S0 gS1 gD3

S0

S1
D0 E
D1
D2
D3
Fig. 6.3 Schema logica cu porţi Si-Nu a circuitului multiplexor cu 2 intrări de selecţie

Demultiplexorul

Circuitul combinaţional demultiplexor are in forma sa generala o intrare de date,


n intrări de selecţie si 2n ieşiri. Codul binar generat de cele n intrări de selecţie transfera
intrarea ca valoare binara la ieşirea corespondenta codului de selecţie generat.
Starea circuitului la un moment dat este caracterizată de valoarea iesirii Ei=I, unde
i este echivalentul zecimal al numărului binar generat la intrările de selecţie a
demultiplexorului.

E0
E1
I
DEMUX

E n -1
2n -1 21 2 0 2

Sn -1 S1 S 0

Fig. 6.4 Schema bloc a unui demultiplexor cu n intrări de selectie

Pentru a realiza sinteza unui circuit demultiplexor cu porţi SI-NU, se descrie


funcţionarea circuitului printr-un tabel de adevăr, ce cuprinde combinaţiile binare
distincte ale celor n intrări de selecţie si valorile ieşirilor pentru aceste combinaţii.
Implementând cu porţi SI-NU cele 2n funcţii se obţine circuitul demultiplexor.

Exemplu: Sa se realizeze sinteza cu porţi SI-NU a unui circuit demultiplexor cu


2 intrări de selecţie.
Tabelul de funcţionare al circuitului demultiplexor
E 0 cu 2 intrări de selecţie:

E1 S1 S0 E3 E2 E1 E0
0 0 0 0 0 I
I DEMUX
E2 0 1 0 0 I 0
1 0 0 I 0 0
E3 1 1 I 0 0 0
21 20

S1 S0
34

Fig. 6.5 Schema bloc a circuitului demultiplexor cu 2 intrări de selecţie

Expresiile logice ale funcţiilor de ieşire sunt:

E0  S0 gS1 gI
E1  S0 gS1 gI
E2  S0 gS1 gI
E3  S0 gS1 gI

Schema logica cu porţi SI-NU:

E
S0 0

E1
S1
I
E2

E3

Obiectivul experimentului: Studiul funcţionarii structurilor combinaţionale,


multiplexor si demultiplexor si implementarea acestora cu porţi logice elementare SI-NU
Desfăşurarea experimentului: Sa se realizeze cu porţi SI-NU si sa se verifice
funcţionarea circuitelor:
1. Multiplexor cu o intrare de selecţie
2. Demultiplexor cu o intrare de selecţie
3. Sa se conecteze circuitele de la punctele 1 si 2 conform schemei de mai jos, si sa
se verifice funcţionarea lor
35

D0 E0
I
MUX DEMUX
D1 E
1
20 20

S0

Observaţie: pentru ca la ieşirea unui multiplexor sa se obtină corect intrarea


selectată, este necesar ca selecţia sa se facă după stabilizarea intrărilor de adresă. De
aceea multiplexoarele integrate sunt prevăzute cu o intrare de autorizare G care
condiţionează selecţia fiecărei intrări, aceasta intrare suplimentara facilitând, prin
conectarea mai multor circuite multiplexoare, pentru extensia numărului de intrări.

4. Utilizând un circuit dublu selector cu cate 4 intrări de date (74153), sa se realizeze un


circuit multiplexor cu 8 intrări,de date.
G
1
0
1 Y0
2
3
A1
A0
0
1 Y1
2
3
G2

Fig. 6.6 Schema bloc a unui circuit dublu multiplexor (4153)

7. Sinteza funcţiilor combinaţionale utilizând


circuite decodificator si circuite multiplexor
Sinteza funcţiilor combinaţionale cu circuite
decodificator
36

Expresiile logice ale funcţiilor de ieşire a unui circuit decodificator sunt identice
cu funcţiile minterm ale acesteia având ca variabile, semnalele generate la intrările
circuitului.
Aceste considerente permit sinteza unei funcţii combinaţionale cu circuit
decodificator, prin generarea la intrările decodificatorului a variabilelor funcţiei si
realizând o logică combinaţională (SAU-logic), a acelor ieşiri care reprezintă termenii
canonici ai funcţiei de implementat

Observaţie: numărul intrărilor decodificatorului trebuie sa fie mai mare sau egal
cu numărul variabilelor funcţiilor implementate.
Pentru a se elimina decodificarea unor stări nedorite ale variabilelor de intrare,
circuitele integrate TTL decodificatoare, sunt prevăzute cu o intrare suplimentara de
eşantionare S, care se activează de utilizator când toate intrările sunt stabile si o intrare de
autorizare G, care autorizează funcţionarea circuitului si care poate fi folosita la extensia
numărului de ieşiri al decodificatoarelor.
Când ieşirile circuitelor decodificator sunt negate, implementarea funcţiilor
combinaţionale se realizează prin utilizarea alături de circuite decodificator, porţi ŞI-NU.

Exemplu: Sa se realizeze cu ajutorul decodificatorului 3 intrari/8 ieşiri negate si


porţi ŞI-NU, sinteza funcţiei: f ( X 0 , X 1 , X 2 )  X 0 X 1 X 2  X 0 X 1 X 2  X 0 X 1  X 0 X 2
Se reprezintă funcţia pe diagrama V-K pentru a se obţine forma canonica disjunctiva
X1
X
X2 000 01 11 10
0 1 0 0 1
0 1 3 2
1 0 1 1 1
4 5 7 6

f ( X 0 , X 1 , X 2 )  X 0  X 1  X 2  X 0  X 1  X 2 X 0  X 1  X 2  X 0  X 1  X 2  X 0  X 1  X 2
(f.c.d.)

Schema logica a funcţiei f ( X 0 , X 1 , X 2 ) realizata cu decodificator 3 intrari/8 ieşiri negate


si porţi ŞI-NU este:
37

x0 x 1 x 2
E0

x0 x 1 x 2
E1
X2 2
2
x0 x 1 x 2
E2

X1 1 x0 x 1 x 2
2 DEC E3
f ( x 0 , x1 , x 2 )
x0 x 1 x 2
E4
X0
20
x0 x 1 x 2
E5

x0 x 1 x 2
E6

x0 x 1 x 2
E7

Observaţie: se considera X 0 variabila corespunzătoare bitului cel mai puţin


semnificativ al configuraţiei binare generata la intrările decodificatorului.

Sinteza funcţiilor combinaţionale cu circuite multiplexor

Expresia logica a funcţiei de ieşire a unui circuit multiplexor, conţine toţi termenii
canonici ai unei funcţii având ca variabile, semnalele generate la intrările de selecţie ale
multiplexorului, înmulţiţi logic cu intrările de date Di.
Deci la ieşirea unui circuit multiplexor se poate obţine forma canonica a unei
funcţii combinaţionale având un număr de variabile egal cu numărul intrărilor de selecţie
daca se generează “1” la intrările de date Di corespunzătoare termenilor canonici existenţi
in funcţia de implementat si “0” la celelalte intrări.

Aplicaţie rezolvată: sa se realizeze cu circuit multiplexor cu 3 intrări de selecţie,


sinteza funcţiei: f ( X 0 , X 1 , X 2 )  X 0  X 1  X 2  X 0  X 2  X 0  X 1  X 2
Reprezentarea funcţiei pe o diagrama V-K:
X1
X
X2 000 01 11 10
0 0 1 1 0
0 1 3 2
1 1 0 1 0
4 5 7 6

f ( X 0 , X 1 , X 2 )  X 0  X 1  X 2  X 0  X 1  X 2  X 0  X 1  X 2  X 0  X 1  X 2 (f.c.d.) rel 7.1

Daca la intrările de selecţie (3 intrări) generam variabilele X 0 , X 1 , si X 2 , X 0


reprezentând bitul cel mai puţin semnificativ al combinației binare de la intrările de
adresa, la ieşirea multiplexorului se obţine funcţia:
38

Z  X 0  X 1  X 2  D0  X 0  X 1  X 2  D1  X 0  X 1  X 2  D2  X 0  X 1  X 2  D3  X 0  X 1  X 2  D4 
+ X 0 ⋅ X 1 ⋅ X 2 ⋅ D5 + X 0 ⋅ X 1 ⋅ X 2 ⋅ D6 + X 0 ⋅ X 1 ⋅ X 2 ⋅ D7 rel. 7.2
Ca relaţiile 7.1 si 7.2 sa fie identice trebuie ca D0 =”0”, D2 ="0" , D5 ="0" ,
D6 ="0" si D1 ="1" , D3 ="1" , D4 ="1" , D7 ="1"
Rezulta schema logica realizata cu circuite multiplexor cu 3 intrări de selecţie a funcţiei f:
+ Vcc

1K
D0
D1
D2
D3
E
D4 MUX

D5
D6
D7
22 21 20

S2 S1 S0

Atunci când numărul variabilelor funcţiei de implementat, depăşeşte numărul


intrărilor de selecţie al circuitului multiplexor utilizat, se reprezintă funcţia pe diagrama
V-K si se condensează de atâtea ori (daca este posibil) pină se obţine o reprezentare cu
numărul de variabile egal cu cel al intrărilor de adresa al multiplexorului dat.

Aplicaţie rezolvată: Sa se realizeze cu circuit multiplexor cu 2 intrări de adresa ,


sinteza funcţiei:
f ( X 0 , X 1 , X 2 , X 3 ) = ∑ (0,1,5,8,10,14) ; reprezentam funcţia pe diagrama V-K:
X1
X 3 X000 01 11 10
X2
00 1 0 1 1 0 3 0 2

01 0 4 15 0 7 06
11 012 013 0 15 114

10 18 9 11 1 10

Condensăm după variabila X 3 :


39

X1
X
X2 000 01 11 10
0 1 X3 0 X3

1 0 X 0 X3
3

Condensăm după variabila X 2 :


X1
X 000 01 11 10
X2 X3 0 X3

Obţinem schema logica a funcţiei f, realizata cu circuit multiplexor cu 2 intrări de


selecţie.

X2
0
X3 1 Z = f ( x 0 , x1 , x 2 , x 3 )
MUX
2
3 2 1 20

X 1 X0

Obiectivul experimentului: Studiul implementării funcţiilor combinaţionale


utilizând circuite decodificator si multiplexor.
Desfăşurarea experimentului:
1. Să se realizeze sinteza functiei: f ( X 0 , X 1 )  X 0 X 1  X 0 X 1 cu
circuitele:
a) decodificator 2 intrări / 4 iesiri negate
b) multiplexor cu 2 intrări de selectie
2. Utilizând circuite decodificator 3 intrari/8 ieşiri negate sa se realizeze
schema logica a unui decodificator complet cu 6 intrari/64 ieşiri
negate.
40

Z0
0
G Z1
1
Z2
S 2
Z3
DEC 3

2 Z4
C 4
2
Z5
B 1 5
2
Z6
H 0 6
2
Z7
7

Fig. 7.1 Schema bloc a unui circuit decodificator 3 intrări/8 ieşiri negate

8. Sinteza funcţiilor de comutaţie cu matrici logice


programabile
Matricile logice programabile sunt circuite integrate capabile sa realizeze funcţii
combinaţionale in forma normal disjunctiva.
Se produc circuite PLA (Programable Logic Array) programabile de producător si
circuite FPLA (Field Programabile Logic Array) programabile de utilizator prin
întreruperea unor conexiuni (arderea fuzibilului), conforme cu funcţiile implementate.
Vom prezenta principial modul de utilizare a unui circuit FPLA la sinteza
funcţiilor de comutaţie, prin intermediul matricei logice programabile 82S100 produsa de
firma Signetics.
Ca structura logica (fig. 8.1), circuitul cuprinde :
a) Matricea cu porţi ŞI (48 porţi ŞI) ce permite formarea a 48 produse logice având
maximum 16 variabile (directe sau negate), porţile ŞI conectate in matrice, având
32 de intrări
b) Matricea cu porţi logice SAU, care permite realizarea a 8 sume logice, cu maxim
48 termeni produs logic, care reprezintă ieşirile porţilor din matricea ŞI
c) Circuite realizate cu porţi SAU-Exclusiv, la ieşirea cărora se obţin funcţiile
dorite, directe sau negate, după cum fuzibilul celei de a doua intrări a porţii SAU-
Exclusiv este menţinut sau întrerupt (ars)
Ieşirile porţilor din matricea SAU sunt conectate la circuite de tip 3 stări ce permit
prin comanda CE , dezactivarea si comutarea ieşirilor matricei logice programabile in
starea de impedanţa ridicata.
Realizarea unui sistem de funcţii de comutaţie utilizând circuitul 82S100 presupune
ca numărul maxim al variabilelor funcţiilor sa fie 16 (directe sau negate) si sa fie realizata
o minimizare corelata a funcţiilor sistemului astfel încât numărul termenilor distincţi ai
funcţiilor sa fie cat mai mic si sa nu depăşească numărătorul 48.
41

I0

I1 Matrice SI

Conexiuni prin fusibili Ni - Cr


I15
I0 I0 I15

P0 P1 P47 S0
F
0
S 47
Circuite
iesire

F7

fusibil

Fig. 8.1

Programarea circuitului in vederea realizării unei funcţii de comutaţie, consta in


parcurgerea următoarelor etape:
a) Fiecărei variabile din forma minima disjunctiva a funcţiei i se atribuie cate o
intrare Im (m=0,1,...,15)
b) Termenul Pi al funcţiei minimizate se va obţine la iesirea Pk a matricei
ŞI; daca termenul Pi conţine variabila I m (m=0,1,...,15); se arde fuzibilul care conectează
linia I m la poarta ŞI ( Pk ); daca termenul Pi conţine variabila I m , se arde fuzibilul care
conectează linia I m la poarta ŞI ( Pk ); daca exista intrări I m nefolosite pentru termenul
Pi, se ard conexiunile liniilor I m si I m (toate intrările nefolosite) la intrările porţii ŞI (Pk)
(k=0,1,...47)
c) Daca exista porţi ŞI ( Pk ) nefolosite, numărul termenilor funcţiei fiind mai mic
decât numărul porţilor ŞI din matrice, conexiunile intrărilor acestor porţi la liniile I m si
I m se lasă intacte, astfel încât ieşirile porţilor ŞI neprogramate sunt „0”, neutre pentru
intrările matricii SAU
d) Daca termenul Pk (k=0,1 ... 47) este programat in matricea ŞI, şi nu face parte din
termenii funcţiei Fj (de realizat j=0,1 ... 7) se arde fuzibilul de conexiune a coloanei Pk la
linia Sj (o intrare a porţii SAU, aleasa ca la ieşirea acesteia sa se obţină funcţia Fj,
j=0,1...47); daca termenul Pk este programat in matricea ŞI, si face parte din termenii
funcţiei Fj, respectiv daca termenul Pk este „0” (nefolosit), fuzibilul care conectează
coloana Pk la linia Sj, rămâne intact.
42

Aplicaţie rezolvată: Folosind circuitul matrice programabila 82S100, sa se


realizeze sinteza funcţiei:

F( X 0 , X1, X 2 , X 3 ) = X 0 ⋅ X1 ⋅ X 2 ⋅ X 3 + X 0 ⋅ X1 ⋅ X 2 ⋅ X 3 + X 0 ⋅ X1 ⋅ X 2 ⋅ X 3 + X 0 ⋅ X1 ⋅ X 2 ⋅ X 3 +
 X 0 X 1 X 2 X 3  X 0 X 1 X 2 X 3  X 0 X 1 X 2 X 3  X 0 X 1 X 2 X 3  X 0 X 1 X 2 X 3
Minimizam funcţia F cu diagrama V-K:
X1
X3 X000 01 11 10
X2
00 1 0 0 0
0 1 3 2
01 1 1 1 1
4 5 7 6
11 1 0 1 0
12 13 15 14
10 1 0 0 0
8 9 11 10

Fmin  X 0  X 1  X 2  X 3  X 0  X 1  X 2
Parcurgând etapele a,b,c,d, de programare a circuitului, se obţine schema logica de mai
jos:
Conexiuni neprogramate

I0
X0 X
X
I1
X1 X

I2
X2 X X

I15
X3
X

P0 P1 P2 P47
X X X X ,,0'’ X X X
0 1 X 2 3 0 1 2
X
F
X
X

Conexiuni neprogramate

Dacă dorim ca la ieşirea circuitului sa se obţină negata funcţiei, se arde fuzibilul


intrării SAU-Exclusiv, aceasta devenind astfel „1” („in vânt”) si conform operaţiei
F ⊕1 = F , obţinem funcţia complementată. Firma Xilinx este leader in productia de arii
logice programabile, FPGA, prin continua îmbunătăţire a circuitelor si prin oferta
soluţiilor de proiectare completa.
43

Abundenta de porţi logice, registre, interfeţe I/O, cu o viteza de răspuns mare,


sunt doar câteva caracteristici ale circuitelor logice reprogramabile FPGA. Seria
circuitelor cu o arie de configurare de tip SRAM include următoarele familii de produse:
XC2000, XC3000, XC4000, XC5200, XC6200
Programul descriptor hardware ABEL, permite proiectarea unui circuit digital
cu ajutorul ecuaţiilor logice, tabelelor de adevăr, diagramelor de stare, optimizând
minimizând si simulând proiectul astfel descris chiar si fără specificarea unui circuit
programabil anume.
Fişierul produs de mediul ABEL este in format standard JEDEC, ce poate fi
preluat de alte medii de dezvoltare sau transmis direct la un programator PROM pentru a
configura circuitul programabil.
Versiunea mediului easyABEL cuprinde modulele:
1. Mediul de compilare (COMPILE): verifica din punct de vedere sintactic
programul sursa si traduce/compilează programul
2. Modulul de simulare a ecuaţiilor (PLAŞIM): simulează funcţional
proiectul pe baza ecuaţiilor logice cu ajutorul vectorilor de test
3. Modulul de optimizare (OPTIMIZE): executa optimizarea / minimizarea
programului
4. Modulul de partiţionare (PARTMAP): creează aşa numitul fişier JEDEC,
verificând înainte daca circuitul ales corespunde proiectului; se alege
circuitul logic programabil înaintea lansării in execuţie a acestui modul
5. Simularea fişierului JEDEC (JEDŞIM): simulează funcţional programul
pe baza fişierului JEDEC creat si compara rezultatul cu vectorii de test
specificaţi
6. Modulul SMARTPART conţine doua opţiuni:
6.1 Programul selector de circuit (DEVICE SELECTOR): selectează din
biblioteca de circuite acele circuite PLD care îndeplinesc condiţiile cerute
(reprogramabilitate, consum putere, compatibilitate TTL/CMOS, firma
producătoare, timpi de propagare, etc.)
6.2 Programul interfaţa PLD (DEVICE FILTER): executa implementarea
proiectului pentru circuitul specificat si executa alocarea semnalelor la
terminalele fizice ale circuitelor integrate PLD
Obiectivul experimentului: Studiul utilizării ariilor logice programabile FPLA la sinteza
funcţiilor de comutaţie.
Desfăşurarea lucrării:
1. Sa se realizeze cu circuite 82S100, sinteza funcţiilor combinaţionale
F1 ( X 0 , X 1 , X 2 , X 3 ) = X 0 ⋅ X 1 ⋅ X 2 ⋅ X 3 + X 0 ⋅ X 1 ⋅ X 2 ⋅ X 3 + X 0 ⋅ X 1 ⋅ X 2 ⋅ X 3
F2 ( X 0 , X 1 , X 2 ) = X 0 ⋅ X 1 ⋅ X 2 + X 0 ⋅ X 1 ⋅ X 2 + X 1 ⋅ X 2
F3 ( X 0 , X 1 ) = X 0 ⋅ X 1 + X 0 ⋅ X 1
2. Sa se studieze utilizarea programatorului LEAPER 10, la reconfigurarea unei arii
logice programabile selectata din biblioteca circuite a dispozitivului
44

9. Memorii PROM si utilizarea lor in sinteza


funcţiilor de comutaţie

Memorii ROM (read only memory) sunt acele memorii utilizate numai pentru
citirea informaţiei înscrisa de producător. O caracteristica importanta a acestor memorii
este faptul ca îşi păstrează nealterata informaţia înscrisa, la întreruperea alimentarii
circuitelor, si de aceea se numesc memorii nevolatile.
Memoriile PROM păstrează caracteristicile memoriilor ROM, cu deosebirea ca
pot fi programate si reprogramate de utilizator. Exista o categorie de memorii PROM
(U.V. EPROM) la care ştergerea informaţiei se realizează cu radiaţii ultraviolete. Aceste
memorii se pot recunoaşte după fereastra practicata in capsula modulului. Fereastra este
acoperita cu un cuarţ transparent la raze ultraviolete. Pentru operaţia de ştergere a
informaţiei din capsula de memorie, se supune unei emisii de radiaţii ultraviolete cu
lungimea de unda λ = 254 nanometrii si a intensităţii de 5500 UW / cm 2 , intr-un interval
de 15-60 minute.
O alta categorie de memorii PROM este cea la care ştergerea informaţiei se
realizează electric, prin aplicarea unor impulsuri de tensiune.
Înscrierea unei informaţii binare (programarea) in memoriile PROM se realizează
prin intermediul unor dispozitive specializate – programatoare memorii PROM.
Structural, indiferent de tehnologia utilizata, o memorie PROM este organizata in
locaţii de memorie numite adrese de memorie, fiecare adresa având memorate un anumit
număr de cifre binare. Capacitatea memoriei este calculata prin produsul: nr. adrese x nr/
biti/adresa.
Din punct de vedere logic, citirea unei informaţii binare dintr-o adresa a memoriei
PROM presupune generarea codului adresei, decodificarea si selectarea astfel, a adresei
al cărui conţinut binar se va regăsi la ieşirile memoriei.
45

A0

A1

DECODIFICATOR

RÂND
COD
MATRICE MEMORIE
PROM
ADRESĂ
A m-1

memorie

Am

Am+ 1
Multiplexor
coloan ă

An-1

CS

OE
Db-1 D b-2 D0
CS - selectează circuitul
OE - validează ieșirile
conținut adresă selectată

Fig.9.1 Modelul unei memorii PROM organizată bidimensional, de capacitate 2n x b biti

Ca exemplu de organizare vom prezenta realizarea unei memorii PROM de 32k x


8 biţi utilizând capsule de memorie de 512 x 64 biţi, fig. 9.2
Se vor utiliza 8 capsule de memorie 512 x 64 biţi, obţinând o memorie cu 512
rânduri si 64x8 coloane. Pentru a citi conţinutul unei locaţii de memorie, se generează
codul adresei, biţii A0 − A14 , din care: biţii A6 − A14 decodificaţi, selectează rândul, iar
biţii A0 − A5 comanda cele 8 multiplexoare cu 64 intrari/1 ieşire, selectând aceeaşi
coloana din fiecare grupa de 64 coloane. Astfel la ieşirile memoriei ( D0 − D7 ) se pot citi
cei 8 biţi memoraţi la adresa selectata.
46

A14

A13

A12 512 512 512 512


X X X X
A11 64 64 64 ... ... ... ... 64
DECODIFICATOR
A10

A9 9 / 512

A8

COD A7

A6
adresă

A5
A4
MUX MUX ... ... ... ... ... MUX
A3
64/1 64/1 64/1
A2
A1
A0

ieșiri:
D7 D6 D5 D4 D3 D2 D1 D0
Fig.2.9 Memorie PROM 32k x 8 biti realizată cu circuite de memorie de 512 x 64 biti

Memoriile PROM pot fi utilizate in mod facil la implementarea funcţiilor de


comutaţie si anume: se reprezintă funcţiile in tabele de adevăr sau diagrame V-K si se
înscrie iniţial in memorie valorile acestora, corespunzătoare fiecărei combinaţii binare a
variabilelor funcţiilor, devenite cod de adresa pentru selectarea adreselor memoriei. De
fiecare data când se doresc citite valorile funcţiilor, se generează la intrările de adresa a
memoriei, prin intermediul variabilelor funcţiilor, toate combinaţiile binare distincte,
selectând astfel toate adresele ce conţin valorile acestor functii.
Aplicaţie rezolvată: Sa se realizeze sinteza funcţiilor combinaţionale, utilizând o
memorie de 8 adrese x 4 biti/adresa
F1 ( X 0 , X 1 , X 2 ) = ∑ (0,1,5,7)
F2 ( X 0 , X 1 , X 2 ) = X 0 ⋅ X 1 + X 0 ⋅ X 1
F3 ( X 0 , X 1 , X 2 ) = ∑ (2,3,4)

Specificăm funcţiile în tabel de adevăr si acesta va reprezenta de fapt si conţinutul


memoriei utilizate la realizarea funcţiilor F1 , F2 , F3
47

ADRESA
COD
MEMORIE
ADRESA
(CONTINUT)
A2 A1 A0 D3 D2 D1 D0
EZ X2 X1 X0 F1 F2 F3 F4
0 0 0 0 1 1 0 x
1 0 0 1 1 0 0 x
2 0 1 0 0 0 1 x
3 0 1 1 0 1 1 x
4 1 0 0 0 1 1 x
5 1 0 1 1 0 0 x
6 1 1 0 0 0 0 x
7 1 1 1 1 1 0 x

Se observa ca bitul D0 al fiecărei adrese nu a fost utilizat


Obiectivul experimentului: Studiul memoriilor PROM si realizarea sintezei
funcţiilor de comutaţie utilizând aceste memorii
Desfăşurarea experimentului:
Se va realiza implementarea funcţiilor de mai jos utilizând programarea unei
memorii PROM de tipul ELECTRICALLY ALTERABLE ROM cu dispozitivul LEAPER
10
F4 ( X 0 , X 1 , X 2 , X 3 , X 4 , X 5 ) = ∑ (0, 2,8,16.40,51, 63)
F5 ( X 0 , X 1 , X 2 , X 3 , X 4 , X 5 ) = ∑ (1,3, 7,19.22,35, 47,58)

10. Analiza si sinteza structurilor


combinaţionale: convertor de cod, comparator,
sumator

Coduri numerice, convertoare de cod


In sistemele de calcul codificarea datelor se face in scopul memorării, prelucrării
sau transmiterii acestora.
Considerând m poziţii intr-un sistem de numeraţie poziţional cu baza b, cu
ajutorul acestora se pot reprezenta b m numere diferite si anume numerele naturale
cuprinse in domeniul (0, b m -1)
Fiecare număr este reprezentat prin m cifre ale sistemului de numeraţie cu baza b,
formând un cuvânt sau vector al codului.
In dispozitivele numerice se folosesc codurile binare (b=2).
Un cod binar continuu sau progresiv se caracterizează prin faptul ca doua
numere naturale succesive sunt codificate prin cuvinte de cod adiacente (codurile diferă
48

printr-un singur bit, pe aceeaşi poziţie). Daca un cod continuu are ultimul cuvânt de cod
adiacent cu primul, se numeşte cod continuu închis, sau cod GRAY.
Un cod continuu închis, utilizat in dispozitivele numerice este codul binar
reflectat, fig. 10.1
Nr. Br2 Br1 Br0
0 0 0 0
1 0 0 1
2 0 1 1
3 0 1 0
4 1 1 0
5 1 1 1
6 1 0 1
7 1 0 0

Fig. 10.1 Codul binar reflectat

Coduri zecimal-binare ponderate


La aceste coduri, o cifra zecimala d este codificata prin n cifre binare ( bn 1 ,..., b0 )
iar valoarea lui d se obţine prin relaţia d  bn 1 Pn 1  ...  b0 P0 unde
0  d  10, 0  b j  2 unde j=0,1,...,n-1 si n  4iar Pj este ponderea cifrei b j si poate fi
pozitiva sau negativa.

Pj
2 4 2 1 8 4 -2 -1
Nr
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 1
2 0 0 1 0 0 1 1 0
3 0 0 1 1 0 1 0 1
4 0 1 0 0 0 1 0 0
5 1 0 1 1 1 0 1 1
6 1 1 0 0 1 0 1 0
7 1 1 0 1 1 0 0 1
8 1 1 1 0 1 0 0 0
9 1 1 1 1 1 1 1 1

Fig. 10.2 Coduri zecimal-binare ponderate

Coduri detectoare si corectoarea de erori simple – Coduri Hamming


Principiul codurilor Hamming, consta in adăugarea la fiecare cuvânt binar de date
un număr de biţi de control distribuiţi printre poziţiile binare ale acestuia.
Un exemplu de cod Hamming care permite corectarea unei singure erori apărute
in cuvântul de cod este prezentat in fig. 10.3
49

Nr P1 P2 d3 P4 d5 d6 d7
0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 1
2 0 1 0 1 0 1 0
3 1 0 0 0 0 1 1
4 1 0 0 1 1 0 0
5 0 1 0 0 1 0 1
6 1 1 0 0 1 1 0
7 0 0 0 1 1 1 1
8 1 1 1 0 0 0 0
9 0 0 1 1 0 0 1
10 1 0 1 1 0 1 0
11 0 1 1 0 0 1 1
12 0 1 1 1 1 0 0
13 1 0 1 0 1 0 1
14 0 0 1 0 1 1 0
15 1 1 1 1 1 1 1

Fig. 10.3 Cod Hamming

Cifrele de control se calculează cu relaţiile liniare:


P1  d3  d5  d 7
P2  d3  d 6  d 7
P4  d5  d 6  d 7
La recepţie se calculează cifrele de control:
C0  P1  d3  d5  d 7
C1  P2  d3  d 6  d 7
C2  P1  d5  d 6  d 7
Daca nu a apărut o eroare detectabila atunci  C2C1C0  2  0 iar daca a apărut o
singura eroare, poziţia binara eronata este data de echivalentul zecimal al numărului binar
C2C1C0 : i   C2C1C0  2

Convertoarele de cod sunt circuite combinaţionale care realizează conversia


codului binar al unui număr, intr-un alt cod binar. Intr-o forma generala, un convertor de
cod are n intrări, reprezentând biţii cuvântului de cod ce urmează a fi convertit si m ieşiri,
reprezentând biţii cuvântului de cod in care se converteşte. Fiecare din cele m poziţii
binare ale cuvântului de cod in care se face conversia sunt funcţii de comutaţie a celor n
poziţii binare ale cuvântului de cod care trebuie convertit.
50

Fig. 10.4 Schema bloc a unui convertor de cod


Pentru a realiza sinteza unui convertor de cod cu porţi logice, se reprezintă intr-un
tabel cuvintele codului de convertit si al celui in care se converteşte, problema
reducându-se la sinteza cu porţi logice a m funcţii de n variabile.
Aplicaţie rezolvata: Sa se realizeze cu porţi logice sinteza unui convertor de cod
din codul binar natural in cod binar reflectat, reprezentat prin tabelul:

Binar natural Binar reflectat


Nr b2 b1 b0 Br2 Br1 Br0
0 0 0 0 0 0 0
1 0 0 1 0 0 1
2 0 1 0 0 1 1
3 0 1 1 0 1 0
4 1 0 0 1 1 0
5 1 0 1 1 1 1
6 1 1 0 1 0 1
7 1 1 1 1 0 0
Minimizam funcţiile Br0 (b0 , b1 , b2 ), Br1 (b0 , b1 , b2 ) si Br2 (b0 , b1 , b2 )

b1 Br 0 b1 Br 1 b1 Br 2
b b0 b0
b 2 0 00 01 11 10 b2 00 01 11 10 b2 00 01 11 10
0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
0 1 3 2 0 1 3 2 0 1 3 2

1 0 1 0 1 1 1 1 0 0 1 1 1 1 1
4 5 7 6 4 5 7 6 4 5 7 6
Br0=b 0 + b1 Br1=b2 + b1 Br 2=b 2
schema logica a convertorului de cod cu porţi SAU-Exclusiv este:
b0 Br0
b1
Br1
b2 Br2
51

Comparatorul este un circuit de comutaţie destinat stabilirii relaţiei intre doua


numere cu mai multe cifre binare si se realizează prin compararea in paralel (simultan) a
cifrelor binare corespondente ale celor doua numere, intr-un circuit combinaţional.
Considerând Ai si Bi un bit de rang i al celor doua numere de comparat, se
realizează funcţia auxiliara Ei  Ai e Bi cu ajutorul căreia se pot scrie expresiile
funcţiilor de ieşire a comparatorului când A  B, A  B si A  B

Fig. 10.5 Schema bloc a unui circuit comparator

De exemplu, daca numerele A si B au cate doua cifre binare, avem: (A=B)


F0  E0 E1 , (A>B) F1  A0 B0 E1  A1 B1 si (A<B) F2  A0 B0 E1  A1 B1
Aceste expresii se obţin prin reprezentarea funcţionarii comparatorului printr-un
tabel de adevăr, din care rezulta forma normal disjunctiva a funcţiilor F0 , F1 , F2

F0 F1 F2
A1 B1 A0 B0
(A=B) (A>B) (A<B)
0 0 0 0 1 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 1 0 0
0 1 0 0 0 0 1
0 1 0 1 0 0 1
0 1 1 0 0 0 1
0 1 1 1 0 0 1
1 0 0 0 0 1 0
1 0 0 1 0 1 0
1 0 1 0 0 1 0
1 0 1 1 0 1 0
1 1 0 0 1 0 0
1 1 0 1 0 0 1
1 1 1 0 0 1 0
1 1 1 1 1 0 0
52

Se obţine
F0  A0 B0 A1 B1  A0 B0 A1 B1  A0 B0 A1 B1  A0 B0 A1 B1  A1 B1 ( A0 e B0 )  A1 B1 ( A0 e B0 ) 
 ( A1 e B1 ) ( A0 e B0 )  E1 E0

A0
A1 B0 01 11
00 10
B1
00 0 0 0 1

01 0 0 0 0

11 0 0 0 1

10 1 1 1 1

F1  A1 B1  A1 B1 A0 B0  A1 B1 A0 B0  A1 B1  ( A1 e B1 ) A0 B0  A0 B0 E1  A1 B1

A0
A1 B 0 01 11
00 10
B1
00 0 1 0 0

01 1 1 1 1

11 0 1 0 0

10 0 0 0 0

F2  A1 B1  A1 B1 A0 B0  A1 B1 A0 B0  A0 B0 ( A1 e B1 )  A1 B1  A0 B0 E1  A1 B1

Implementând aceste funcţii cu porţi logice se obţine schema logica a circuitului


comparator:
53

A0 E0
F0 (A=B)
A1

B0 E1

B1

F1 (A>B)

F2 (A<B)

Sumatorul binar paralel este un circuit combinaţional care realizează suma


algebrica a doua numere binare cu n cifre binare, ( X 0 X 1... X n 1 ) 2 si (Y0Y1...Yn 1 ) 2 . ţinând
cont si de un eventual transport iniţial T0 . La ieşirea circuitului se generează un număr
binar de n cifre binare ( S0 , S1 ,..., S n 1 ) reprezentând rezultatul însumării si cifra
transportului Tn .

Xn-1 X1 X0 Yn-1 Y1 Y0

Tn T0
SUMATOR

Sn-1 Sn S0
Fig. 10.6 Schema bloc a unui circuit sumator

De obicei sumatorul se realizează sub forma unui circuit iterativ.


Principial, sumatoarele elementare pentru n ranguri binare se pot realiza cu
propagarea transportului in serie, cu propagarea transportului in paralel sau cu anticiparea
transportului.
54

Sumatoarele cu propagarea transportului in paralel presupun ca transportul pentru


toate rangurile sa se obţină pe cat posibil in acelaşi timp, reducând astfel durata operaţiei
de adunare.
Pentru un sumator de patru ranguri binare funcţiile transport sunt:
T1  f1 ( x0 , y0 , T0 )
T2  f 2 ( x1 , y1 , x0 , y0 , T0 )
T3  f 3 ( x2 , y2 , x1 , y1 , x0 , y0 , T0 )
T4  f 4 ( x3 , y3 , x2 , y2 , x1 , y1 , x0 , y0 , T0 )
Expresia transportului pentru un rang este: Ti 1  xi yi  Ti ( xi  yi )  Gi  Ti Pi in
care funcţiile auxiliare Gi reprezintă transportul generat in rangul i si Pi condiţia de
propagare a transportului generat in rangurile inferioare lui i, peste rangul i. Cu aceste
notaţii rezulta:

T1  G0  P0 T0
T2  G1  P1 G0  P1 P0 T0
T3  G2  P2 G2  P2 P1 G0  P2 P1 P0 T0
T4  G3  P3 G3  P3 P2 G1  P3 P2 P1 G0  P3 P2 P1 P0 T0
Obiectivul experimentului: Studiul, utilizarea si proiectarea structurilor
combinaţionale: convertoare de cod, sumatoare, comparatoare
Desfăşurarea experimentului:
1.Sa se realizeze conversia Binar natural – BCD (zecimal codificat binar)
utilizând circuitul integrat SN74184, a cuvintelor de cod 11001 si 01011
2.Sa se implementeze un comparator a doua numere cu cate doua cifre binare cu:
a. Un decodificator cu ieşiri negate si porţi ŞI-NU
b. Multiplexoare
3. Sa se studieze funcţionarea sumatorului binar de 4 biţi, circuitul 483, si sa se
calculeze durata de adunării a doua numere binare (de 8 cifre binare), folosind aceste
circuite
4. Sa se experimenteze funcţionarea circuitului generator de paritate
para/impara SN74180

11. Hazardul circuitelor combinaţionale


Întârzierile introduse de firele de conexiune si componentele electronice ale
circuitelor de comutaţie, fac ca la un moment dat starea ieşirii circuitelor sa nu fie in
concordanta cu funcţia de transfer si intrările circuitelor la momentul considerat.
Comportarea incorecta a circuitului de comutaţie generata de cauzele menţionate,
produce o funcţionare de tip hazard.
La circuitele combinaţionale hazardul se poate manifesta in doua moduri diferite:
a) Hazard static: in urma modificării intrărilor, se modifica ieşirea, nefiind
justificata din punct de vedere logic, după care revine la valoarea iniţial
corecta.
55

b) Hazard dinamic: ca urmare a modificării intrărilor, ieşirea trebuie sa-si


modifice starea, dar se va realiza după un număr de oscilaţii intre noua si
vechea stare.
Vom evidenţia apariţia hazardului static si dinamic la doua circuite de comutaţie,
cu porţi ŞI-NU si porţi ŞI, SAU, fig. 11.1, fig. 11.2, utilizând descrierea funcţionarii
circuitelor prin reprezentarea formelor de unda a funcţiei de ieşire, raportata la anumite
variaţii ale valorilor binare de la intrările circuitului.
Se da schema logica din fig. 11.1
B m
1
A
F
3
A
2
C P
Fig. 11. 1 Schema logica a unui circuit de comutaţie care evidenţiază
apariţia hazardului static.

Consideram iniţial ca variabilele de intrare au valorile: A=0, B=0, C=1,


pentru care funcţia F(A,B,C)= „1” si apoi valorile A=1, B=0, C=1, pentru care
deasemenea, funcţia F(A,B,C)= „1”
Se considera t p1 , t p 2 si t p 3 timpi de propagare diferiţi ai porţilor logice: 1, 2 si 3, cu
relaţia t p 2  t p1 si t p 3  t p 2  t p1

DIAGRAMA DE TIMP

B=0
,,1’’ C=1
A ,,0’’
t
m tp1

P
tp2
`

F
tp3 tp3

După ce variabila de intrare A, comuta din „0” in „1”, ieşirea circuitului datorita
timpilor de propagare diferiţi ai porţilor logice, devine pentru o scurta perioada de timp
„0” (incorect din punct de vedere logic), generând apariţia hazardului static.
56

Se da circuitul logic din figura 11.2


A
1 X
D
W
3
A Y
2
E F
5
C
Z
4
B
Fig. 11.2 Schema logica a unui circuit de comutaţie care evidenţiază apariţia hazardului
dinamic.

Iniţial se considera intrările circuitului având valorile: A=0, B=1, C=1, D=0, E=1
iar la momentul următor A=1, B=0, C=1, D=0, E=1.
Intre timpii de propagare diferiţi ai porţilor logice se considera următoarele
corelări: t p 2  t p1 , t p 3  t p 2  t p1 , t p 4  t p 2  t p 3

DIAGRAMA DE TIMP

C=1, D=0, E=1


A
t
B

t
X
tp1

Y t p2

t
W

t p3

t
Z

tp4
t
F

t p5
57

Comutarea variabilelor de intrare A, din „0” in „1” si a variabilei de intrare B din


„1” in „0”, precum si timpii de propagare diferiţi ai porţilor logice cu corelările
menţionate, au ca efect apariţia hazardului dinamic respectiv a oscilaţiilor generate la
ieşirea circuitului intre valoarea iniţială si cea finala (cea corecta din punct de vedere
logic).
Un circuit de comutaţie căruia ii corespunde o schema logica cu doua niveluri de
porţi logice ŞI-NU, respectiv ŞI, SAU, nu permit hazard daca fiecare pereche de
combinaţii de valori adiacente ale intrărilor pentru care funcţia de comutaţie realizata are
valoarea logica „1”, este acoperita de cel puţin unul din termenii prezenţi in expresia
disjunctiva a funcţiei asociata schemei logice a circuitului dat.
O combinaţie a valorilor variabilelor X 0 , X 1 ,..., X n 1 notata (C0C1 Cn 1 ) unde
Ci  {0,1} pentru i=0,1,...,n-1 este acoperita de către un termen din forma disjunctiva a
funcţiei f ( X 0 , X 1 ,..., X n 1 ) notat cu T daca termenul canonic Pj al funcţiei corespondent
combinaţiei (C0C1 Cn 1 ) este inclus in termenul T, Pj  T
Exemplu: Pentru schema logica din fig. 11.1 avem F ( A, B, C )  A B  A C si
reprezentata pe diagrama V-K

B
C 00 01 11 10
A
0 1 1 0 0

1 0 1 1 0

Fig. 11.3 Reprezentarea funcţiei F(A,B,C) pe o diagrama V-K

Perechile de valori adiacente ale variabilelor de intrare A,B,C sunt: (000) si (001),
(101)si(111), (001)si (101). Perechea (000) si (001) este acoperita de termenul AB
deoarece AB  ABC , perechea (101) si (111) este acoperita de termenul AC deoarece
AC  ABC , perechea (101)si(001) nu este acoperita de nici un termen, deci circuitul
poate avea hazard.
Pornind de la o schema logica cu porţi ŞI-NU, respectiv ŞI-SAU, a unui circuit
combinaţional, se poate obţine schema logica fără hazard, prin parcurgerea următoarelor
etape:
a) Se obţine forma disjunctiva a funcţiei asociata schemei logice a circuitului
b) Se reprezintă funcţia de comutaţie pe o diagrama V-K si se minimizează
c) Daca contururile corespunzătoare formei minime sunt disjuncte (nu se
intersectează), se adaugă acele contururi (implicanţii primi redundanţi) care elimina
disjuncţia contururilor, rezultând astfel o funcţie de comutaţie care realizata cu porţi ŞI-
NU, nu are hazard

Pentru funcţia F(A,B,C), fig. 11.3 se adaugă implicantul prim B C corespunzător


58

conturului punctat si rezulta funcţia F ( A, B, C )  A B  A C  B C căruia ii corespunde


schema logica cu porţi ŞI-NU:
A
B

A F(A,B,C)
C

B
C

Schema logica cu hazard din fig. 11.2 ii corespunde funcţia


F ( A, B, C , D, E )  ADC  ADB  AEC  AEB si reprezentata in diagrama V-K:

C
D
A E 001 011 101 111
B 000 010 100 110
00 1 1

01 1 1 1 1

11 1 1 1 1

10 1 1

Se include in expresia funcţiei de ieşire si implicantul prim BDE si rezulta


F ( A, B, C , D, E )  ADC  ADB  AEC  AEB  BDE , căreia ii corespunde circuitul
A
D
C

A
D
B

A F(A,B,C,D,E)
E
C

A
E
B

B
D
E
59

Obiectivul experimentului: Studiul hazardului la circuite combinaţionale si


realizarea circuitelor de comutaţie cu porţi ŞI-NU in a căror funcţionare sa nu apară
hazard.
Desfăşurarea experimentului:
1. Se va implementa cu circuite integrate SN7400, schema logica din fig. 11.1. Se
vor utiliza linii de întârziere pentru diferenţierea timpilor de propagare ai porţilor
si se va vizualiza funcţia sa de ieşire
2. Se va analiza apariţia hazardului la circuitul de mai jos, datorat asincronismului
comutării semnalelor A si B

C D E

Observaţie: Decalajul dintre semnalele A si B nu se datorează întârzierilor


diferite, ci asincronismului celor doua semnale de intrare, a căror comutare ar trebui sa fie
sincrona

12. Aplicaţii rezolvate – circuite


combinaţionale
1) Se da circuitul combinaţional de mai jos:

A
B C
60

Considerând timpii de propagare al porţii SAU-Exclusiv, t pLH  2t pHL  20 ns , sa


se reprezinte formele de unda a semnalelor B si C si sa se evidenţieze utilitatea acestui
circuit.

Observaţie: t pLH =timpul de propagare al circuitului când tensiunea de ieşire


comuta din „0” in „1” logic si t pHL =timpul de propagare când tensiunea la ieşire comuta
din „1” in „0” logic.

Rezolvare:
DIAGRAMA DE TIMP

100ns
A 100ns

60ns
B 100ns

20 20
C

Fiecare front crescător sau descrescător al semnalului de intrare A, este detectat,


generând la ieşirea circuitului cate un impuls
2) Sa se realizeze un codificator prioritar cu 10 intrări I 0 ,..., I 9 , utilizând un
codificator prioritar cu 8 intrări, circuitul integrat 74148 si porţi logice.
61

I0 I1 I2 I3 I4 I5 I6 I7 Ei

74148
A2 A1 A0

Intrarea de autorizare Ei este activa la „0” si autorizează funcţionarea


codificatorului prioritar, astfel încât I 7 are prioritatea maxima. Când Ei este „1”,
indiferent de valorile intrărilor circuitului, ieşirile A0 A1 si A2 sunt „1” logic.

Rezolvare: Extensia la 10 intrări a codificatorului prioritar se poate realiza


utilizând intrarea Ei de autorizare care devine bitul A3 al codului generat la ieşire.

Se obţine schema logica:

I8
I9

I0 I1 I7 Ei

A2 A1 A0

A3 A2 A1 A0
62

Prin aceasta extensie se realizează codificarea „BCD (zecimal codificat binar)” a


numerelor zecimale de la 0 la 9 in ordinea priorităţii. De exemplu, daca la intrare este
generat vectorul 101110100, la ieşire se transmite codul numărului 9 (1001)
3) Sa se realizeze o schema de semnalizare a egalităţii a doua numere binare de
cate patru cifre binare, cu circuite Multiplexor, si Decodificator.

Rezolvare: Se conectează ieşirile unui decodificator, 4 intrari/16 ieşiri la intrările


unui multiplexor cu 16 intrări de date; unul din numere este adus la intrările
decodificatorului, iar celalalt număr, la intrările de adresa (selecţie) al multiplexorului.
Când cele 2 numere sunt egale ieşirea MUX este „1” logic, iar când sunt diferite, ieşirea
este „0”.
0 0

1 1

2 2

3 3

4 4
A3 23
5 5
A2 22
A 6 6
A1 21
7 7
F
A0 20 MUX
8 8

9 9

10 10
DEC
11 11

12 12

13 13

14 14

15 15
23 22 21 20

B3 B2 B1 B0
B
Observaţie: S-a considerat pentru simplificare, ca ieşirile decodificatorului nu
sunt negate.
4) a) Sa se exprime in kilobiti capacitatea unor memorii ROM, organizate astfel:
256x4, 512x8, 1024x4, 2048x8, si sa se precizeze numărul biţilor de adresa in fiecare caz;
Soluţie: 1 kilobit- 8 biţi (adresa), 4k-9 biţi, 8k-10 biţi, 16k – 11 biţi.
b) Sa se proiecteze o memorie ROM de 64x16 biţi, utilizând circuite integrate
de memorie ROM de 256 biţi (32 cuvinte x 8 biţi)
Rezolvare: Sunt necesare patru circuite ROM de 32x8 biţi; cu cinci biţi de adresa
A0  A4 , se selectează cate un cuvânt de 8 biţi din fiecare circuit de memorie, iar cu al 6-
lea bit de adresa, A5 , prin intermediul intrării de autorizare Ei , se selectează cate un grup
63

de 2 circuite de memorie ROM pentru a se obţine extensia de 16 biţi a cuvântului de


memorie si anume: când A5 = „0” se selectează ROM1 si ROM2, iar când A5 = „1” se
selectează circuitele ROM3 si ROM4.

ROM 1
A0 - A 4
A0 - A4 A 0 - A4 D0 – D7 D 0 – D7
ROM 2
A5 Ei Ei

ROM 4
ROM 3
A 0 - A4 D 0 – D7 D 0 – D7
A0 - A 4
Ei Ei

D 0 – D7 D8 - D15

13. Circuite secvenţiale, clasificări, modalităţi de


specificare a comportării funcţionale a unui
circuit secvenţial
Spre deosebire de circuitele combinaţionale, la care valoarea binară a funcţiilor de
ieşire într-un anumit moment depinde doar de valoarea binară a intrărilor în acel moment,
circuitele secvenţiale conţin şi un element de memorare în care se memorează stările
următoare ale circuitului care devin apoi stări prezente.
Funcţiile de ieşire la acest circuit depinde de intrări şi de starea circuitului în
momentul inspecţiei. Schema logică a unui circuit secvenţial este caracterizată de
prezenţa legăturilor inverse de la ieşire spre intrarea circuitului.
Elementele de memorie folosite în circuitele secvenţiale pentru memorarea stării
curente sunt principial de două tipuri:
a) elemente de memorie de tip linie de întârziere
b) elemente de memorie comandate
Elementele de memorie tip linie de întârziere pot fi constituite din elementele
circuitului: porţi logice şi firele de conexiune. La circuitele secvenţiale cu elemente de
memorie tip linie de întârziere, starea următoare a circuitului a circuitului, apărută ca
urmare a modificării variabilelor de intrare si introdusă la intrarea liniei de întârziere,
64

devine automat stare prezentă la ieşirea liniei, după un timp t, determinat de
caracteristica liniei de întârziere.
Acest mod de funcţionare se numeşte fundamental sau asincron. La aceste
circuite, intervalele de timp în care se pot modifica valorile intrărilor este arbitrară iar
legăturile inverse între ieşirea şi intrarea circuitului sunt permanente. Frecventa de
modificare a intrarilor nu trebuie sa depaseasca o limita superioara impusa de timpul de
intarziere al elementelor de memorie. Modelul unui circuit secvenţial asincron este
reprezentat în fig. 13.1

Fig. 13.1 Circuit secvenţial asincron

Expresiile funcţiilor de ieşire si a stării următoare sunt:


z1t  f 1 ( x1t , x 2t ,......, x nt , y1t , y 2t ,....., y tp )

z mt  f m ( x1t , x 2t ,......, x nt , y1t , y 2t ,....., y tp )
y1t + ∆t  f 1 ( x1t , x 2t ,......, x nt , y1t , y 2t ,....., y tp )

y tp+ ∆t  f p ( x1t , x 2t ,......, x nt , y1t , y 2t ,....., y tp )
t t t t t t
În care x1 , x 2 ,......, x n reprezintă cele n intrări principale iar y1 , y 2 ,......, y p
reprezintă p intrări secundare.
Dacă elementul de memorie folosit este astfel construit încât memorarea stării
următoare, care va deveni stare prezentă să se realizeze sub comanda unui tren de
impulsuri de sincronizare, circuitul secvenţial funcţionează în modul sincron
65

În cazul circuitelor secvenţiale sincrone, frecvenţa impulsurilor de sincronizare


trebuie corelată cu timpul de răspuns al circuitului, momentul inspecţiei poate fi
identificat cu al n-lea impuls de sincronizare, iar legăturile inverse sunt active doar pe
durata impulsului de sincronizare (tact)
Modelul unui astfel de circuit este reprezentat in fig. 13.2

Fig 13.2

Expresiile funcţiilor de ieşire şi ale stărilor următoare sunt:


z1n = f 1 ( x1n , x 2n ,......, x nn , y1n , y 2n ,....., y np )

z mn = f m ( x1n , x 2n ,......, x nn , y1n , y 2n ,....., y np )
y1n +1 = f 1 ( x1n , x 2n ,......, x nn , y1n , y 2n ,....., y np )

y np+1 = f p ( x1n , x 2n ,......, x nn , y1n , y 2n ,....., y np )

Modelul matematic al circuitului secvenţial


Un circuit secvenţial cu n intrări binare X1, X2,...Xn, m ieşiri binare Z1, Z2.....Zm si
p variabile binare de stare Y1, Y2.....Yp, poate avea o mulţime a intrărilor X ={X1,
X2....X2n} o mulţime a ieşirilor Z ={Z1, Z2....Z2m} şi o mulţime a stărilor Y ={Y1,
Y2....Y2p} unde Xi pentru i=1 până la 2n sunt n-uplurile de valori ale variabilelor de intrare
X1, X2....Xn, Zj pentru j=1 până la 2m sunt m-uplurile de valori ale variabilelor de ieşire Z1,
Z2....Zm, iar Yk pentru k=1 până la 2p sunt p-uplurile de valori ale variabilelor de stare Y1,
Y2....Yp
Comportarea unui circuit secvenţial respectiv obţinerea secvenţei de ieşiri
corespondentă unei anumite secvenţe de intrări este dată de starea iniţială a circuitului ,
66

Y0, de funcţia ieşirii λ:{ X × Y }→ Z şi funcţia stării următoare (a tranziţiilor) δ:{ X ×


Y }→ Y .
Daca funcţiile λ şi δ sunt complet definite, circuitul secvenţial se numeşte
complet definit, iar dacă funcţiile λ sau δ sau ambele sunt incomplet definite, circuitul
este incomplet definit
Circuitele secvenţiale MEALY sunt caracterizate prin faptul că starea următoare
şi ieşirea la un moment dat depind de starea prezentă si de intrarea prezentă; mulţimile X
, Y , Z , starea iniţială Y0, funcţiile λ şi δ reprezintă modelul matematic al circuitului
Mealy
Circuitele secvenţiale MOORE sunt caracterizate prin faptul că ieşirea depinde
numai de starea circuitului. Funcţia ieşirii λ*: Y
→ Z
este definită în mulţimea stărilor
Y
cu valori în mulţimea ieşirilor Z
.
Modelele matematice ale circuitelor secvenţiale se numesc in teoria comutaţiilor
automate finite.
Modelele Mealy şi Moore sunt utilizate atât pentru circuitele secvenţiale
asincrone cât şi sincrone dar cu unele particularităţi în funcţionare şi anume:
-în cazul circuitelor asincrone, deoarece timpul de răspuns al circuitului
combinaţional este mai mic decât timpul de întârziere al elementului de memorie, ieşirea
circuitelor de tip Mealy se obţine odată cu modificarea intrărilor principale şi este corectă
până la modificarea intrărilor secundare (variabilele de stare) în timp ce la circuitele de
tip Moore ieşirea corespondentă unor intrări se obţine după timpul de întârziere al
elementelor de memorie, odată cu starea următoare şi se păstrează pe durata acestei
întârzieri
-la circuitele sincrone ieşirea circuitelor Mealy este corectă numai pe durata
impulsului de sincronizare, în timp ce la circuitele de tip Moore ieşirea se obţine după
impulsul de tact, menţinându-se până la impulsul de tact următor.
Un alt mod de descriere a comportării unui circuit secvenţial îl reprezintă
diagrama stărilor
Diagrama stărilor este un graf orientat având numărul de noduri mai mic sau
egal cu numărul elementelor din mulţimea stărilor Y
, iar dintr-un nod pleacă un număr
de arce mai mic sau egal cu cel al elementelor mulţimii intrărilor, X

Pentru circuite de tip Mealy, în diagrama stărilor, fiecare nod se notează cu


simbolul stării pe care o reprezintă, iar pe arcul care pleacă din nod se notează un raport
care la numărător indică intrarea care a generat tranziţia circuitului indicată de săgeata
arcului, iar la numitor ieşirea generată în timpul tranziţiei.
Starea iniţială se marchează printr-o săgeată aplicată nodului corespondent
67

Exemplu:

x0/zo U x1/z1 x1/z0

Y0 Y1

Stare
initiala

La circuitele secvenţiale de tip Moore în nodurile diagramei de stări se notează


simbolul stării corespondente şi ieşirile (sub simbolul stării) iar pe arcele care pleacă din
nod se notează intrarea care a generat tranziţia

Exemplu:
x1

y2/z0 y1/z1

Tabelul tranziţiilor reprezintă un alt mijloc de descriere al comportării unui


circuit secvenţial.
Pentru modelul Mealy tabelul tranziţiilor conţine la începutul rândurilor, stările
prezente ale circuitului iar la începutul coloanelor intrările circuitului. Elementele din
tabel aflate la intersecţia unei linii cu o coloană sunt reprezentate printr-un raport având la
numărător starea următoare iar la numitor, ieşirea

Exemplu:
Stare Stare următoare/ieşire
prezentă X0 X1

Y0 Y0/1 Y1/0

Y1 Y1/0 Y0/1
Comportarea circuitelor de tip Moore se descrie printr-un tabel al tranziţiilor
care are în cap de rând, stările prezente ale circuitului iar la început de coloană, intrările
circuitului şi o coloană cu ieşirile corespunzătoare stărilor; elementele din tabel conţin
starea următoare.
Exemplu:
Stare Stare următoare
Ieşire
prezentă X0 X1
Y0 Y0 Y1 1
Y1 Y1 Y0 0
68

Aplicaţie rezolvată: să se reprezinte prin diagrama stărilor circuitele Mealy si


Moore descrise prin tabelul tranziţiilor de mai jos:

1. Circuit Mealy
Stare Stare următoare/ieşire
prezentă X0 X1 X2 X3

Y0 Y0/0 Y0/1 Y1/0 Y2/0

Y1 Y2/1 Y0/1 Y1/0 Y1/1

Y2 Y0/0 Y1/1 Y2/0 Y2/1

3. Circuit Moore
Stare Stare următoare
Ieşire
prezentă X0 X1
Y0 Y2 Y1 0
Y1 Y0 Y1 0
Y2 Y2 Y1 1

Soluţie:

1.
X0/0 U X1/1 X2/0 U x3/1
X2/0

Y0 Y1

X1/1
X3/0 X1/1

X0/1
X0/0 Y2

X2/0 U X3/1
69

2.
X1
X1

Y0/0 Y1/0

X0

X0
X1
Y2/1

X0

Transformarea diagramei de stări a modelului Moore în diagramă de stări a


modelului Mealy se realizează transferând ieşirile din nodurile modelului Moore pe
arcele ce conduc spre nodul respectiv.
Exemplu:

Transformarea diagramei de stări a modelului Mealy în diagramă de stări a


modelului Moore impune ca fiecărei stări din modelul Mealy să îi corespundă atâtea
stări în modelul Moore echivalent, câte ieşiri diferite generează modelul Mealy în timpul
tranziţiei spre starea respectivă, ieşirile fiind generate in noile stări ale modelului
MOORE.
70

Exemplu:

Obiectivul experimentului: Studiul circuitelor secvenţiale si a modalităţilor de


descriere a comportamentului acestor circuite
Desfăşurarea experimentului:
1. Să se descrie prin tabelul tranziţiilor comportarea circuitelor secvenţiale:

a)
X1/0
X1/1 U X2/0

Y0 Y1
X3/1

X2/0 X1/1
X1/1

X3/0
Y3 Y2
X2/0
X1/0
71

b)
X1
X2
Y0/0 Y1
X3

X0
X2

Y3/1 Y2/0
X1
X3
2. Să se experimenteze funcţionarea în modul fundamental şi sincron a circuitelor
secvenţiale:
a) b)
R R
Q Q

TACT

S Q Q
S

utilizând circuite integrate SN7400 (porţi ŞI-NU cu 2 intrări)

14. Circuite basculante bistabile


Circuitele basculante bistabile sunt circuite secvenţiale şi constituie totodată un element de
memorie, de bază pentru alte circuite secvenţiale. Ele se caracterizează prin existenţa a două stări
stabile, bascularea(comutarea) dintr-o stare in cealaltă realizându-se sub acţiunea unor impulsuri
de comanda şi a intrărilor circuitului. Un circuit bistabil are două ieşiri complementare iar
funcţionarea sa poate fi descrisă prin tabelul caracteristic, tabelul excitaţiilor sau ecuaţia de
stare.

Circuite basculante bistabile asincrone

Bistabilul R-S asincron realizat din porţi logice are schema logică din fig. 14.1a şi 14.1b
R Q R Q

S Q S Q

Fig 14.1 Bistabil R-S asincron


72

Tabelul Caracteristic cuprinde valorile binare ale stării următoare a circuitului, corespunzătoare
tuturor combinaţiilor binare distincte a intrărilor. Pentru circuitele din fig 14.1a şi 14.1b avem :

R S Qt+1 R S Qt+1
0 0 interzis 0 0 Qt
0 1 0 0 1 1
1 0 1 1 0 0
1 1 Qt 1 1 interzis

Pentru funcţionarea corectă a acestor bistabile R-S asincrone, se impune restricţia ca ambele
intrări R şi S respectiv R şi S să nu fie active în acelaşi moment.
Tabelul excitaţiilor indică valorile intrărilor circuitului pentru fiecare tranziţie posibilă a
circuitului. Pentru bistabilele R-S asincrone Fig. 14.1a şi 14.1b, tabelele excitaţiilor sunt :

Qt Qt+1 R S Qt Qt+1 R S
0 0 x 1 0 0 x 0
0 1 1 0 0 1 0 1
1 0 0 1 1 0 1 0
1 1 1 x 1 1 0 x

Dacă detaliem tabelul caracteristic al bistabilului R-S asincron din Fig 14.1b obţinem :

R S Qt Qt+1
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 -
1 1 1 -

S
Q
R t 00 01 11 10
0 0 1 1 1
0 1 3 2
1 0 0 X X
4 5 7 6

Minimizăm funcţia Qt+1(R,S,Qt) şi obţinem : Qt+1 = R gQt + S


73

Circuite basculante bistabile sincrone


Ca orice circuit secvenţial sincron, circuitele bistabile sincrone îşi pot schimba starea doar
pe durata impulsului de sincronizare, starea lor rămânând neschimbată între două impulsuri de tact
consecutive.
Bistabilul R-S sincron se comportă din punct de vedere logic ca cel asincron şi realizat
din porţi logice ŞI-NU are schema logică din fig 14.2 :

R
Q
Tact

Q
S

Fig 14.2 Bistabil R-S sincron


Restricţia ca intrările R şi S ale circuitului să nu fie active în acelaşi moment se păstrează şi
la bistabilele R-S sincrone dar poate fi evitată prin proiectarea unor bistabile R-S sincrone fară
restricţii şi anume : R-S-Q , R-S-R şi R-S-S .
Bistabilul R-S-Q Tabel Caracteristic

R
R Q
R S Qn+1
0 0 Qn
Bistabilul R-S
Tact
asincron 0 1 1
1 0 0
S Q
1 1 Qn
S

Bistabilul R-S-R Tabel Caracteristic

R R S Qn+1
R Q 0 0 Qn
Bistabilul R-S 0 1 1
Tact 1 0 0
asincron
S Q 1 1 0
S

Bistabilul R-S-S Tabel Caracteristic


R
R Q R S Qn+1
Bistabilul R-S 0 0 Qn
asincron 0 1 1
S Q 1 0 0
S 1 1 1
74

Circuitele basculante bistabile J-K master –slave sincrone

Deoarece în literatură, respectiv în cataloagele de circuite integrate, impulsurile de


sincronizare sunt denumite impulsuri de clock (ceas) vom utiliza această notaţie (clk) în schemele
logice ale circuitelor secvenţiale sincrone abordate în continuare.

Bistabilul J-K-M-S Fig 14.3 este realizat din două bistabile, unul considerat master(M)
conectat la intrările J-K şi unul slave(S) conectat cu bistabilul master şi la ieşirile circuitului. Prin
structura realizată se înlătură restricţiile în funcţionarea bistabilului J-K , privind durata
impulsului de sincronizare.

J Q

clk M S
K Q

Fig 14.3 Schema bloc a bistabilului j-k master-slave

Pe durata unui impuls de clock există patru momente caracteristice ale funcţionarii bistabilului
J-K M-S , fig 14.4

2 3

Impuls clock 1 4

Fig 14.4 Funcţionarea bistabilului J-K M-S

1. Bistabilul Master se deconectează de bistabilul Slave


2. Bistabilul Master se conectează la intrările j-k a circuitului
3. Bistabilul Master se deconectează de intrări
4. Bistabilul Master se conectează cu bistabilul Slave, starea memorată în bistabilul Master se
transferă în bistabilul Slave şi o avem disponibilă la ieşirile Q, Q ale bistabilului J-K M-S.

Funcţionarea sa poate fi descrisă prin tabelul caracteristic tabelul excitaţiilor şi ecuaţia de stare.
75

Tabelul caracteristic Tabelul excitaţiilor


J K Qn+1 Qn Qn+1 J K
0 0 Qn 0 0 0 X
0 1 0 Ecuaţia de stare : Qn+1=j 0 1 1 X
1 0 1 n n
Q + kQ 1 0 x 1
1 1 Qn Ca bistabilul J-K M-S 1 1 x 0
să funcţioneze fără erori
se impune ca valoarea binară a intrărilor j, k să fie stabilă înainte de apariţia frontului crescător al
impulsului de clock şi pe toată durata acestuia.
Circuitul basculant bistabil D sincron are o singură intrare de date D şi valoarea binară a
acestei intrări este memorată în bistabil odată cu apariţia impulsului de clock.

D Q

clk
Q

Fig 14.5 Bistabilul D sincron

Tabelul caracteristic Tabelul excitaţiilor Ecuaţia de stare :

D Qn+1 Qn Qn+1 D Qn+1=D


0 0 0 0 0
1 1 0 1 1
1 0 0
1 1 1
Circuitul basculant bistabil T sincron are o intrare de date T şi atunci când T=,,0” starea
bistabilului rămâne neschimbată, iar când T=,,1” , bistabilul comută într-o valoare binară
complementară stării anterioare.

T Q

clk
Q

Fig 14.6 Bistabilul T sincron


Tabelul caracteristic Tabelul excitaţiilor Ecuaţia de stare :
T Qn 1 Qn Qn 1 T Q n+1= T Q n
+ TQ n
0 Qn 0 0 0
0 1 1
1 Qn
1 0 1
1 1 0 Circuitele basculante bistabile
sincrone integrate au atât intrări sincrone (cele care pot realiza comutarea bistabilului dacă există
76

impuls de clock) cat şi intrări asincrone, de forţare în ,,0” sau ,,1” a bistabilului, independent de
existenţa impulsului de clock.
Aceste intrări sunt utilizate şi activate de obicei la iniţializarea sistemului când este
necesară cunoaşterea la începutul funcţionării, a valorilor binare memorate în bistabile. Evident,
intrarea care comandă bascularea bistabilului în starea ,,0” şi cea care comandă bascularea
bistabilului in starea ,,1” nu pot fi active in acelaşi moment şi ambele (dacă există) vor fi
dezactivate pentru utilizarea intrărilor sincrone.
Observaţie : La reprezentarea în catalog a circuitelor de comutaţie ca scheme bloc, cercul
de la intrările şi ieşirile circuitelor , asociate cu scrierea negată a semnalului corespondent, indică
faptul că semnalul este activ la ,,0” când este de tip nivel logic sau că este activ frontul
descrescător, când ne referim la impulsurile de clock.
Funcţionarea unui circuit basculant bistabil sincron poate fi evidenţiată si prin
reprezentarea formei de undă a semnalului de la ieşire, raportat la momentele şi valorile binare a
semnalelor de la intrări şi a impulsurilor de clock.
Aplicaţie rezolvata: Să se reprezinte forma de undă a semnalului de la ieşirea unui circuit bistabil
integrat J-K M-S sincron, dacă semnalele la intrări au următoarele variaţii:

R
J Q

clk

K Q
S

Fig 14.7 Circuit integrat bistabil J-K M-S

Intrările R şi S sunt asincrone şi dacă devin active (,,0”) , basculează bistabilul în ,,0”
respectiv în ,,1” logic.
77

Observaţie : La reprezentarea semnalului de ieşire Q, nu s-a ţinut cont de timpul de


întârziere introdus de bistabil.

Obiectivul experimentului : Studiul funcţionării şi utilizării circuitelor basculante


bistabile.
Desfăşurarea experimentului :
1. Să se verifice utilizând circuitele SN7474 şi SN7476 funcţionarea bistabilului D şi J-K M-S
având la bază tabelul caracteristic.
2. Să se realizeze un bistabil sincron de tip T şi D , folosind bistabile sincrone J-K M-S şi porţi
logice.
3. Reprezentaţi formele de undă a semnalelor Q1 şi Q2 din schema logica de mai jos, ştiind ca
iniţial Q1=Q2=,,0”

J Q1 Q
J2
1 2
clk clk
K K
Q2
1 2
R R
RESET

15. Numărătoare asincrone


Numărătoarele sunt circuite secvenţiale sincrone autonome (mulţimea intrărilor vidă) şi
sunt realizate din celule binare (bistabile), care memorează secvenţa de stări parcursa de
numărător.
Un numărător este iniţializat de obicei in starea ,,0” , după care la fiecare impuls de
numărare, comuta într-o nouă stare, corespunzătoare secvenţei de stări impuse prin proiectare.
Caracterul asincron al unui numărător este dat de faptul că impulsul de numărare nu comandă
simultan, prin intrările de clock, toate bistabilele numărătorului.
Sensul de parcurgere al secvenţei de numărare indică tipul numărătorului: numărător în
sens crescător, numărător în sens descrescător sau numărător reversibil (ambele sensuri).

Numărător asincron modulo M=23 realizat cu bistabile T, sens crescător

Un astfel de numărător se realizează de obicei cu bistabile T (în număr de 3), conectate în


cascadă, astfel încât ieşirea unui bistabil să devină intrarea de clock pentru bistabilul următor:
78

Q0 Q1 Q3

,,1’’ J0 Q0 ,,1’’ J1 Q1 ,,1’’ J3 Q3


Intrare de
numarare
,,1’’ K0 ,,1’’ K1 ,,1’’ K3
R R R

RESET

Fig 15.1 Numărător asincron sens crescător modulo M=23

Observaţie: Dacă intrările j=k=,,1” , bistabilul j-k , funcţionează ca un bistabil T cu


intrarea T=,,1”
Iniţial prin activarea (,,0”) intrării asincrone RESET , numărătorul se aduce în starea 0
iar apoi sub comanda impulsului de numărare parcurge secvenţa de stări :

Q2 Q1 Q0
Starea
22 21 20
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Dezavantajul acestui numărător se datorează întârzierilor introduse de bistabilele


circuitului care la decodificarea stărilor poate genera impulsuri parazite şi prin comanda altor
circuite se produc erori în funcţionarea sistemului.

0 1 2 7
DEC
0 21 2
2 2

Impuls de IN Q Q1 Q2
numarare
Numarator

Fig 15.2 Decodificarea stărilor unui numărător asincron M = 23


79

Impuls
numarare

Q0 ti 0 1 0
0 1 1 0 1 0

Q1 0 0 ti 1 1 0 1 1
1 0 0

Q2 0 0 tj 1 1 1 1 0
0 0 0
Impuls parazit
Iesirea
,,2” a DEC

,,2" • IN

Fig 15.3 Formele de undă a ieşirilor numărătorului asincron M=23 şi a ieşirii ,,2” a
decodificatorului ataşat numărătorului

Se observă din figura 15.3 , că realizând prin câte o poartă ŞI, operaţia ŞI logic între fiecare
ieşire a decodificatorului şi impulsul de numărare IN ,impulsurile parazite sunt eliminate.

Numărător asincron sens crescător modulo M=5, cu memorarea semnalului de


anulare

Circuitul de numărare este realizat cu 3 bistabile T şi un bistabil R-S asincron, pentru


memorarea semnalului de anulare.

AN5

RESET
I ,,1’’ J0 Q0 ,,1’’ J1 Q1 ,,1’’ J3 Q3
N

,,1’’ K0 ,,1’’ K1 ,,1’’ K3


R R R

Fig 15.4 Numărător asincron sens crescător modulo M=5 cu memorarea semnalului de anulare
80

Numărătorul funcţionează astfel: se aduce numărătorul in starea 0 prin activarea (,,0”)


intrării RESET , prin comanda impulsurilor de numărare se parcurg cele 5 stări ale secvenţei de
numărare, iar în următoarea stare, 5(101), se generează comanda de comutare in ,,0” a
bistabilului R-S, când semnalul AN 5 devenind ,,0” prin intermediul intrărilor asincrone R ale
bistabilelor, aduce numărătorul în starea 0; în intervalul până la următorul impuls de numărare,
semnalul IN , inversat comută bistabilul de memorare R-S în ,,1” şi dezactivează semnalul de
anulare AN 5 . Secvenţa de stări şi diagramele de timp a semnalelor de la ieşirile circuitului sunt
reprezentate in fig 15.5.

Q2 Q1 Q0
Starea
22 21 20
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1/0 0/0 1/0

Fig 15.5 Funcţionarea numărătorului a sincron modulo M=5

La numărătoarele asincrone timpul de răspuns al numărătorului tN este dat de suma


timpilor de propagare al bistabilelor componente. Un numărător asincron al cărui decodificator
ataşat este autorizat pe durata impulsului de numărare funcţionează corect dacă tN<T-d , unde T
este perioada impulsului de numărare iar d durata acestuia.

Obiectivul experimentului : Analiza şi sinteza numărătoarelor asincrone


Desfăşurarea experimentului :

1. Să se realizeze un numărător asincron sens crescător modulo M=24 , cu circuite integrate


SN7476 (bistabile j-k) şi sa se verifice funcţionarea, vizualizând ieşirile numărătorului
81

2. Să se proiecteze un numărător asincron sens crescător modulo M=6 fară memorare


semnalului de anulare, să se reprezinte diagramele de timp ale ieşirilor circuitului, şi să
se explice dezavantajul acestui tip de numărător.
3. Să se realizeze un circuit divizor de frecvenţă : fclk/4, cu bistabile T

16. Numărătoare sincrone , numărătoare compuse


Spre deosebire de numărătoarele asincrone, la cele sincrone impulsul de numărare
comandă simultan bistabilele numărătorului.
Dacă nu se impune o anumită secvenţă de numărare, pentru evitarea unor erori la
decodificarea stărilor, se alege o secvenţă de numărare continuă şi ciclică, deoarece astfel la
fiecare impuls de numărare se modifică starea unui singur bistabil.
Sinteza unui numărător sincron folosind diferite tipuri de bistabile, se realizează
determinând ecuaţiile intrărilor fiecărui bistabil din componenţa numărătorului pe baza
modificării stării sale impuse prin secvenţa de numărare şi a tabelului excitaţiilor bistabilelor
utilizate.
Două coduri succesive din secvenţa de numărare reprezintă starea prezentă şi respectiv
starea următoare a numărătorului, determinate de starea bistabilelor componente.
Aplicaţie rezolvată : Să se proiecteze un numărător sincron modulo M=6 cu bistabile J-K M-S.
Nefiind impus doar numărul de stări, alegem pe diagrama V-K o secvenţă de numărare cu
cuvinte de cod adiacente.

Descriem funcţionarea numărătorului printr-un tabel ce cuprinde secvenţe de stări parcurse


de numărător şi valorile binare care trebuie generate la intrările sincrone ale fiecărui bistabil
corespunzător tranziţiei acestuia din starea prezentă în starea următoare; aceste tranziţii rezultă
din parcurgerea pas cu pas a secvenţei de numărare, începând cu starea iniţială 0 ca stare
prezentă.
82

Starea Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 0 0 0 0 x 1 x 0 x
2 0 1 0 1 x x 0 0 x
6 1 1 0 x 0 x 0 1 x
7 1 1 1 x 0 x 1 x 0
5 1 0 1 x 0 0 x x 1
4 1 0 0 x 1 0 x 0 x
0 0 0 0

La completarea tabelului de
funcţionare al numărătorului sincron Qn Qn+1 J K
am utilizat tabelul excitaţiilor 0 0 0 x
bistabilului J-K M-S : 0 1 1 x
1 0 x 1
1 1 x 0

Minimizăm funcţiile ji(Q0,Q1,Q2) şi ki(Q0,Q1,Q2) considerând indiferente valorile acestor funcţii


pentru stările prin care nu trece numărătorul.
Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 0 x x 0 0 x x x x
0 1 3 2 0 1 3 2
1 0 x x 1 1 x 1 0 x
4 5 7 6 4 5 7 6
J0 K0

J0=Q2∙Q1 K0= Q 1
Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 1 x x x 0 x x x 0
0 1 3 2 0 1 3 2
1 0 0 x x 1 x x 1 0
4 5 7 6 4 5 7 6
J1 K1

J1= Q 2 K1=Q0
Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 0 x x 1 0 x x x x
0 1 3 2 0 1 3 2
1 x x x x 1 1 0 0 0
4 5 7 6 4 5 7 6
J2 K2

J2=Q1 K2= Q 0∙ Q 1
Implementând numărătorul cu bistabile j-k M-S şi porţi logice ŞI obţinem schema logică :
83

IN J2 Q2 J1 Q1 J0 Q3

K2 Q2 K1 Q1 K0 Q3
R R R

RESET

Diagramele de timp a semnalelor de la ieşirile numărătorului sunt :

Pentru a asigura o funcţionare fără erori se prevede generarea unui semnal de eroare, care să
fie activat când numărătorul ajunge în una din stările nefolosite şi care să blocheze funcţionarea
circuitului, blocând de exemplu comanda de numărare.
Q1
Q
Q2 000 01 11 10
0 1 1 E  Q 2 gQ0
0 1 3 2
1
4 5 7 6
Semnalul de eroare :

Numărătoare compuse
Prin conectarea în cascadă a unui numărător modulo M1 cu un numărător modulo M2 se
realizează un numărător compus modulo M unde M=M1 x M2

Aplicaţie rezolvată : Să se realizeze un numărător compus modulo M=12 utilizând un


numărător sincron modulo M1=3 şi un numărător sincron modulo M2=4 , implementat cu
bistabile sincrone de tip D şi porţi logice. Impulsul de numărare, comandă numărătorul M2.
Alegem secvenţa de numărare pentru numărătoarele M1 şi M2 :

Secvenţa de numărare pentru numărătorul compus fa fi :


84

M1 M2
Stare
A B C D
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
0 0 0 0 0

Conectarea în cascadă a numărătoarelor M2 şi M1 presupune ca atunci când numărătorul


modulo M2 a parcurs toată secvenţa sa de numărare (4 stări) să genereze un impuls de numărare
spre numărătorul modulo M1 . Considerând că la intrările de sincronizare(clk) a bistabilelor D
sunt active fronturile crescătoare ale impulsurilor de numărare, se obţine schema logică din Fig
16.1.

Fig 16.1 Numărător compus modulo M=4x3

Numărătorul reversibil SN74193 (Texas Instruments)

Numărătorul binar SN74193 Fig 16.2 este un numărător sincron de 4 biţi, secvenţa de
numărare poate fi parcursă atât în sens crescător cât şi sens descrescător şi are posibilitatea
preîncărcării în mod paralel(simultan) a unei configuraţii de patru cifre binare care să constituie
starea iniţială de la care începe procesul de numărare.
85

Fig 16.2 Numărător binar reversibil de 4 biţi

Semnificaţia semnalelor de intrare şi ieşire a circuitului este următoarea :

CLEAR– semnal activ la ,,1” logic forţează numărătorul în starea 0(0000)


LOAD - semnal activ la ,,0” logic comandă încărcarea paralelă a numărătorului
COUNT UP – impulsurile de numărare în sens crescător , activ fiind frontul crescător
COUNT DOWN - impulsurile de numărare în sens descrescător, cu frontul crescător activ
A,B,C,D – intrările utilizate pentru încărcarea paralelă
QA,QB,QC,QD - ieşirile celor patru celule binare a numărătorului
BORROW - semnal activ la ,,0”, este generat între 2 impulsuri de numărare, după ce
numărătorul a ajuns în starea 0(0000), ca urmare a numărării în sens descrescător fig 16.3
CARRY - semnal activ la ,,0”, este generat între 2 impulsuri de numărare după ce
numărătorul a tranzitat în starea 15(1111) , ca urmare a numărării în sens crescător fig 16.3

Fig 16.3 Formele de undă a semnalelor CARRY (Cy) şi BORROW (Br)

Obiectivul Experimentului : Analiza şi sinteza numărătoarelor sincrone utilizând


circuite bistabile şi porţi logice.
86

Desfăşurarea experimentului :
1. Să se realizeze sinteza unui numărător compus modulo M = 15 , utilizând un
numărător asincron modulo M1=3 şi un numărător sincron modulo M2=5 , cu circuite
integrate SN7474 (bistabile D) şi porţi logice. Impulsul de numărare comandă numărătorul
modulo M1=3.
Se va verifica funcţionarea circuitului şi se vor reprezenta diagramele de timp a semnalelor
de la ieşirile numărătorului.
2. Se dă scheme logică a circuitului de mai jos:

Să se explice funcţionarea circuitului şi să se reprezinte diagramele de timp a semnalelor, LD


, BR ,QA,QB,QC,QD,CD (impulsuri numărare sens descrescător)

17. Registre de deplasare


Un registru de deplasare este alcătuit dintr-un set de circuite basculante bistabile
sincrone , conectate astfel încât la fiecare impuls de clock configuraţia binară , reprezentată prin
starea circuitelor basculante componente , să se deplaseze cu o poziţie binară.
În cazul general un registru de deplasare cu n celule binare poate fi proiectat să realizeze
următoarele funcţii :
a) deplasare stânga : Ain+1 =Ani-1 unde Ain+1 reprezintă starea bistabilului Ai la momentul
următor iar Ani-1 reprezintă starea bistabilului de rang imediat inferior la momentul
precedent. Pentru această funcţie se prevede şi o intrare serie la bistabilul de rang cel mai
puţin semnificativ A0 .
b) deplasare dreapta : Ain+1 =Ani+1 unde Ani+1 reprezintă starea bistabilului de rang imediat
superior rangului Ai , la momentul precedent. În bistabilul de rang cel mai semnificativ
An-1 se prevede de asemenea o intrare serie.
c) încărcare : se înscrie paralel (simultan) o configuraţie binară de n biţi
d) recirculare stânga : configuraţia binară deplasată spre stânga este readusă în registru
prin conectarea ieşirii bistabilului An-1 cu intrarea bistabilului A0 .
e) recirculare dreapta : configuraţia binară deplasată spre dreapta revine în registru prin
conectarea ieşirii bistabilului A0 cu intrarea bistabilului An-1 .
87

Fig 17.1 Registru de deplasare de n biţi

Aplicaţie rezolvată: Să se proiecteze un registru de deplasare cu 4 celule binare folosind


bistabile de tip D şi multiplexoare , care să realizeze funcţiile : deplasare stânga , deplasare
dreapta , încărcare, recirculare stânga , recirculare dreapta. Selecţia modului de funcţionare a
registrului este realizată prin combinaţiile binare a 3 semnale de comandă : I (încărcare) D
(deplasare) R (recirculare) şi anume :

Ez I D R Funcţia
0 0 0 0 Reciclare stânga
1 0 0 1 Reciclare dreapta
2 0 1 0 Deplasare stânga
3 0 1 1 Deplasare dreapta
4 1 0 0 Încărcare

Intrările de date a circuitelor MUX sunt conectate la ieşirile acelor bistabile, astfel încât la
generarea codului de adresă (semnalele I,D,R) ,registru de deplasare să realizeze funcţia
corespunzătoare.
Ecuaţiile intrării Din+1 a unui rang tipic Ai pentru fiecare mod de funcţionare sunt :

Din+1=Ain-1 gI g D gR - deplasare stânga


Din+1=Ain+1 gI g D gR - deplasare dreapta
Din+1=Pi gI gD gR - încărcare, unde Pi sunt intrările de încărcare (paralelă) a
unei configuraţii binare de 4 biţi
Din+1 = Ain-1 gI gD gR
Şi - recirculare stânga
D0n+1 = A3n gI gD gR
Din+1 = Ain+1 gI gD gR
Şi - recirculare dreapta
D3 = A0n gI gD gR
n+1
88

Se obţine schema logică din fig. 17.2

Fig. 17.2 Registru de deplasare de 4 biţi

Numărătoare în inel

Numărătorul în inel este un registru de deplasare care deplasează ciclic (recirculează) un


,,1” sau un ,,0” logic. Avantajul principal al acestui numărător constă în faptul că stările sale
sunt complet decodificate fără circuite suplimentare.
Exemplu : Secvenţa de stări a unui numărător în inel de 4 biţi care deplasează ciclic un ,,1”
logic este:

Starea A3 A2 A1 A0
8 1 0 0 0
4 0 1 0 0
2 0 0 1 0
1 0 0 0 1
8 1 0 0 0

Obiectivul experimentului : Studiul funcţionării şi proiectării registrului de deplasare.


Desfăşurarea experimentului :
89

1) Utilizând informaţii de catalog, se va studia şi verifica funcţionarea registrului de


deplasare de 4 biţi integrat SN7495
2) Să se realizeze un numărător în inel de 8 biţi cu recircularea unui ,,1” logic cu circuite
integrate SN7495 şi porţi logice
3) Se dă circuitul din Fig. 17.3. Care este conţinutul registrului de deplasare după 6
impulsuri de clock dacă iniţial este 0001?

Fig 17.3 Registru de deplasare de 4 biţi

18. Reducerea numărului stărilor automatelor


finite
Complexitatea unui circuit secvenţial realizat cu un anumit tip de elemente de
circuit, depinde de complexitatea modelului său (automatul cu număr finit de stări).
Structura unui circuit secvenţial este cu atât mai simplă cu cât numărul stărilor
este mai redus, ieşirile şi intrările circuitului nefiind modificabile. Prin reducerea
numărului de stări ale automatului, scade numărul de elemente de memorie, deci şi al
variabilelor de intrare secundare şi se micşorează numărul ecuaţiilor excitaţiilor.
Pentru a micşora complexitatea circuitului secvenţial se impune reducerea la
minim necesar a numărului de stări a automatului finit corespondent
Reducerea numărului de stări a automatelor finite complet specificate
(definite)
Două stări Yi şi Yj ale aceluiaşi automat complet definit A, sau aparţinând la două
automate complet definite A1 şi A2 se numesc echivalente, notat Yi  Yj dacă pentru
orice secvenţă de intrări arbitrară aplicată automatului A1 aflat în starea Yi se obţine
aceeaşi secvenţă de ieşiri ca şi la aplicarea aceleiaşi secvenţe automatului A1 respectiv
A2 aflat în starea Yj. Două automate A1 şi A2 sunt echivalente, notat A1  A2 dacă
pentru fiecare stare Yj din A2 există o stare echivalentă Yi in A1 şi invers pentru fiecare
stare Yi din A1 există o stare echivalentă Yj în A2.
Echivalenţa stărilor unui automat complet definit împarte mulţimea stărilor
acestuia în clase de echivalenţă disjuncte. Relaţia de echivalenţă a stărilor automatului
complet definit are proprietatea de tranzitivitate: dacă Yi  Yj şi Yj  Yk atunci
Yi  Yk .
90

Două stări ale unui automat complet definit sunt evident echivalente, Yk  Yi dacă pentru
orice Xi  X au ieşiri identice: (Yk,Xi)=(Yi,Xi) şi succesori (stări următoare) identici:
(Yk,Xi)=(Yi,Xi). Dacă succesorii nu sunt identici, stările Yi şi Yk pot fi echivalente
dacă succesorii sunt echivalenţi pentru orice intrări.
O metodă de determinare a claselor de stări echivalente pentru automatele
complet definite este cea a tabelului implicaţiilor cunoscută şi sub numele de
algoritmul PAULL-UNGER. Metoda se bazează pe construirea unui tabel de formă
triunghiulară având început de linii, stările automatului fără prima stare şi început de
coloane stările automatului fără ultima stare.
În compartimentul aflat la intersecţia unei linii cu o coloană se înscriu condiţiile
ca perechea formată din starea de pe linia respectivă să fie echivalentă cu starea de pe
coloana respectivă şi anume:
- X dacă stările din perechea respectivă sunt evident neechivalente (pentru
aceeaşi intrare au ieşiri diferite)
- dacă stările din perechea respectivă sunt evident echivalente (pentru
aceeaşi intrare au ieşiri şi succesori identici)
- implicaţiile privind echivalenţa succesorilor dacă stările din perechea
respectivă au aceleaşi ieşiri pentru aceeaşi intrare (sunt 1 echivalente), dar
succesori diferiţi
Automatul descris prin tabelul tranziţiilor se reprezintă în tabelul implicaţiilor
înscriind în compartimentele acestuia condiţiile de echivalenţă a perechilor de stări a
automatului complet definit.
La o primă inspecţie a tabelului implicaţiilor se urmăreşte fiecare pereche de
stări neechivalentă (compartiment marcat cu X), se încercuieşte pentru a nu se mai reveni
asupra ei şi se verifică dacă este implicată în echivalenţa unei alte perechi de stări. Dacă
da, acea pereche devine neechivalentă şi se marchează cu X, dacă nu, se continuă
procedeul. Dacă este necesar, se reia procedura până când toate compartimentele
corespunzătoare perechilor de stări neechivalente (marcate cu X) sunt încercuite.
Procedura fiind terminată, se extrag din tabelul implicaţiilor toate perechile de
stări echivalente şi a celor rămase neechivalente şi pe baza proprietăţii de tranzitivitate a
relaţiei de echivalenţă se determină clasele de echivalenţă
Automatul finit complet definit cu un număr redus de stări şi echivalent cu cel dat
iniţial se obţine înlocuind fiecare clasă de echivalenţă cu o stare a clasei respective
(intrările şi ieşirile rămân aceleaşi)
Aplicaţie rezolvată Să se determine tabelul tranziţiilor automatului cu număr
redus de stări, folosind metoda tabelului implicaţiilor, având dat iniţial automatul:

Stare Intrări
prezentă 1 2 3 4
1 1/0 3/0 4/0 6/1
2 4/1 2/0 5/0 7/1
3 2/0 5/1 3/0 4/1
4 2/1 4/0 5/0 8/1
5 5/1 2/0 4/0 7/1
6 4/0 2/1 5/0 6/1
7 1/0 6/1 7/1 4/0
91

8 1/0 6/1 7/1 4/0

Observaţie: în tabelul de mai sus s-au păstrat ca notaţii doar indicii stărilor şi
intrărilor.
24
25
52
24
35
78
46

2 X
3 X X
4 X 7≡8 X
5 X 4≡5 X
6 X X X X
7 X X X X X X
8 X X X X X X
1 2 3 4 5 6 7

Stări echivalente: 7 ≡ 8, 4 ≡ 5 , 2 ≡ 4 , 2 ≡ 5 . Obţinem clasele echivalente: {1},


{2, 4, 5}, {3}, {6}, {7, 8}. Dacă înlocuim fiecare clasă de echivalenţă cu stările Yir
obţinem:
{1} ⊆ Y1r
{2, 4, 5} ⊆ Y2r
{3} ⊆ Y3r
{6} ⊆ Y4r
{7, 8} ⊆ Y5r
92

Tabelul tranziţiilor automatului cu număr redus de stări devine:

Stare Intrări
prezentă 1 2 3 4
Y1r Y1r/0 Y3r/0 Y2r/0 Y4r/1
Y2r Y2r/1 Y2r/0 Y2r/0 Y5r/1
Y3r Y2r/0 Y2r/1 Y3r/0 Y2r/1
Y4r Y2r/0 Y2r/1 Y2r/0 Y4r/1
Y5r Y1r/0 Y4r/1 Y5r/1 Y2r/0

Reducerea numărului de stări al automatelor finite incomplet specificate


Cele mai multe automate finite intâlnite în practică sunt cele incomplet definite şi
stările lor pot să fie într-o relaţie de compatibilitate.
Două stări Yi şi Yj ale unui automat incomplet definit se numesc stări
compatibile dacă respectă condiţiile de echivalenţă în toate cazurile când sunt specificate
ieşirile şi stările următoare şi se notează Yi~Yj
Exemplu de stări compatibile: Y4~Y5

Stare Stare următoare/ieşire


prezentă X1 X2 X3 X4
Y4 Y1/0 -/- Y2/0 -/1
Y5 Y1/0 Y4/- -/- Y4/1

Determinarea claselor de compatibilitate al unui automat incomplet definit prin


metoda tabelului implicaţiilor se realizează în acelaşi mod ca în cazul determinării
claselor de echivalenţă a automatelor complet definite, cu deosebirea că relaţia de
compatibilitate nu are proprietatea de tranzitivitate, şi astfel dacă trei stări Yi, Yj şi Yk
aparţin aceleiaşi clase de compatibilitate, fiecare stare trebuie să fie compatibilă cu
celelalte: Yi~Yj, Yi~Yk şi Yj~Yk. Determinarea automatului incomplet definit cu număr
minim de stări, presupune determinarea claselor de compatibilitate maximă şi
selectarea acoperirii cu număr minim de clase de compatibilităţi maxime.
Dacă o clasă de compatibilităţi nu este o submulţime a unei alte clase de
compatibilitate, ea este o clasă de compatibilitate maximă.
Pentru determinarea acoperirii minime se includ obligatoriu clasele de
compatibilitate esenţiale, acele clase care conţin stări care nu sunt incluse în alte clase,
apoi clasele implicate de acestea sau clasele care includ implicaţiile acestora.
Mulţimea de clase de compatibilităţi maxime selectată pentru acoperirea minimă
trebuie să aiba proprietatea de inchidere tranzitivă, adică pentru oricare din clasele
mulţimii, toţi succesorii stărilor din clasa respectivă pentru aceeasi intrăre să facă parte
din aceeași clasă de compatibilităţi.
Aplicaţie rezolvată: Se dă automatul incomplet specificat de mai jos şi să se
determine tabelul tranziţiilor automatului redus folosind metoda tabelului implicaţiilor
93

Stare Intrări
prezentă X1 X2 X3 X4
Y1 Y3/0 -/- Y4/- Y2/-
Y2 -/- Y2/1 Y6/- Y3/1
Y3 Y2/0 Y6/1 -/- -/-
Y4 -/- Y3/- Y2/0 Y3/-
Y5 Y1/0 Y6/1 Y4/- -/0
Y6 Y3/1 Y2/- -/0 Y3/1
Y7 Y2/0 Y4/- -/1 Y5/0

Tabelul implicaţiilor:

Clasele de compatibilitate maximă: {1, 2, 3}, {1, 3, 5}, {2, 4, 6}, {3, 5, 7}.
În acoperirea minimă se includ clasele de compatibilitate esenţiale: {2, 4, 6}, {3,
5, 7} şi una din cele 2 clase rămase: {1, 2, 3}.
Tabelul tranziţiilor automatului redus incomplet specificat este:

Stare Intrări
prezentă X1 X2 X3 X4
Y1r Y1r/0 Y2r/1 Y2r/- Y1r/1
Y2r Y1r/1 Y1r/1 Y2r/0 Y1r/1
Y3r Y1r/0 Y2r/1 Y2r/1 Y3r/0

Y 1r ⊇ {1,2,3}
Unde: Y 2r ⊇ {2,4,6}
Y 3r ⊇ {3,5,7}
Obiectivul experimentului: Studiul metodelor de determinare a unui număr
redus de stări al automatelor finite complet şi incomplet definite
Desfăşurarea experimentului:
1. Să se reducă prin metoda tabelului implicaţiilor numărul de stări al automatelor:
94

a)
Stare Intrări
prezentă X1 X2 X3 X4
1 1/0 2/1 1/0 2/0
2 2/0 1/1 1/0 1/0
3 3/1 4/0 4/1 3/0
4 4/1 3/0 4/1 4/0
5 1/0 5/1 2/0 1/0

b)
Stare Intrări
prezentă X1 X2 X3 X4
1 2/- 5/0 5/0 2/-
2 3/0 4/- -/- -/-
3 -/- 5/- 1/0 2/0
4 1/- 2/1 -/- -/-
5 2/1 -/- -/- 4/1

19.Codificarea stărilor automatelor finite. Sinteza


automatelor secvenţiale sincrone descrise prin
diagrama ASM. (Algorithms State Machine)
Sinteza unui circuit secvenţial sincron constă în determinarea schemei structurale
a circuitului care permite implementarea cu elemente logice şi elemente de memorie, a
tranziţiilor si ieşirilor impuse prin funcţiile λ şi δ. Determinarea expresiilor logice ale
ieşirilor şi ale stărilor următoare presupune codificarea binară a acestora.
Fiecărei poziţii binare din codul atribuit stării îi corespunde o anumită variabilă
de stare. Intrările şi ieşirile circuitului sunt notate de asemenea prin variabile binare.
N stări ale unui automat pot fi codificate prin p cifre binare astfel încât:
p −1
2 < N ≤ 2p
O codificare optimă asigură obţinerea unor expresii logice cât mai simple, a
excitaţiilor şi o siguranţă cât mai ridicată în funcţionare. O funcţionare fără hazard a
circuitului se realizează dacă stările între care există tranziţii directe primesc cuvinte de
cod adiacente.

Utilizarea organigramei în sinteza automatelor secvenţiale sincrone realizate


cu automate elementare: bistabile J-K, D
Descrierea funcţionării unui automat secvenţial sincron printr-o organigramă este
o metodă ce permite transpunerea directă, rapidă şi intuitivă a modului şi condiţiilor de
funcţionare a automatului printr-un graf logic de intrări, stări şi decizii.
Elementele componente de bază ale organigramei de funcţionare a oricărui
automat secvenţial sunt:
- elementul de intrare (control sau decizie), fig. 19.1a
95

- elementul de stare fig. 19.1b


- elementul de ieşire fig. 19.1c
a
k
a) b) e c)
b Q2Q1Q0 f
000 g
0/FALS
PAS h
Y STOP
i
d
c j
l
1/
ADEVARAT

Fig. 19.1 Elementele unei organigrame

Pentru reprezentările din figura 19.1 există următoarele corespondenţe:


a – simbolul elementului de intrare
b – variabila de intrare care exercită controlul
c – starea variabilei de intrare, pentru căile de ieşire din element
d – elementul de intrare este asincron
e – cale de intrare în stare
f – simboluri pentru variabila de stare
g – codul binar atribuit stării
h – denumirea stării stabile
i – simbolul elementului de stare
j – calea de ieşire din stare
k – simbolul elementului de ieşire
l – denumirea variabilei de ieşire activate
Se disting două tipuri de intrări şi decizii:
- sincrone, care sunt stabile pe durata unei perioade a impulsului de sincronizare şi
apar numai odată cu acesta
- asincrone, care se pot modifica în orice moment de timp, independent de
impulsul de sincronizare

Criterii de codificare a stărilor din organigrama unui automat secvenţial sincron

Evitarea curselor critice de tranziţie impune o codificare a stărilor astfel încât în


orice stare, pentru toate combinaţiile posibile de intrări sincrone, să nu depindă mai mult
decât o singură variabilă de stare de o intrare asincronă.
Practic, două stări rezultate din căile de ieşire a unei intrări asincrone trebuie să
primească coduri adiacente.
96

Exemplu:
Q2Q1Q 0
000

0 1
m
001
Y 0 1
p

011
101
Z W

Eliminarea impulsurilor false (parazite) în funcţiile de ieşire impun:


a) adoptarea unei codificări în care toate tranziţiile implică modificarea unei
singure variabile
b) creşterea numărului de stări prin forţarea tranziţiilor în stări suplimentare
lipsite de funcţii de ieşire
c) creşterea numărului variabilelor de stare
d) sincronizarea funcţiilor de ieşire
Pentru obţinerea unei scheme minimale sub raportul necesarului de componente fizice
(hardware) se adoptă regulile:
e) tranziţiile directe între stări se codifică adiacent
f) tranziţiile de stări condiţionate se codifică în sensul dependenţei reduse de
variabilele de intrare adică un număr cât mai mic de variabile de stare să
depindă de intrare.
Sinteza automatului secvenţial sincron utilizând metoda organigramei presupune
parcurgerea următoarelor etape:
1. Expunerea protocolului de operare prin descrierea în cuvinte a condiţiilor
de funcţionare
2. Elaborarea organigramei automatului corespunzătoare condiţiilor de
funcţionare, cu o stare iniţială şi o ultimă stare a ciclului de funcţionare
conectată la starea iniţială
97

3. Codificarea stărilor automatului astfel încât pentru n stări stabile sunt


necesare p variabile astfel încât 2 p ≥ n
4. Se reprezintă diagrama stărilor la momentul t, variabilele diagramei V-K
fiind cele p variabile de stare.
5. Utilizând diagrama stărilor la momentul t şi a analizei tranziţiilor în
organigramă se determină pentru fiecare variabilă de stare cele p diagrame
ale stării următoare (momentul t+1)

Diagrama V-K a unei variabile de stare Qi la momentul t+1 se obţine astfel:


- se utilizează diagrama stărilor la momentul t şi presupunem că automatul se află
în starea Yi, considerată stare prezentă
- se urmăreşte valoarea binară a variabilei Qi dobândită în urma tranziţiei
automatului din starea Yi în starea următoare, condiţionată de
variabila de intrare, directă sau negată, dacă există şi se înscrie
în compartimentul stării prezente Yi din diagrama la momentul t.
Expresiile logice ale funcţiilor de ieşire se determină din
diagrama stărilor la momentul t înscriind „1” logic asociat cu condiţia
directă sau negată, dacă există, în compartimentul corespunzător stării
în care este generată funcţia de ieşire.
6. Determinarea expresiilor logice a intrărilor bistabilelor de stare J-K sau D
din cele p diagrame a stărilor automatului la momentul t+1
7. Determinarea expresiilor logice a funcţiilor de ieşire
8. Implementarea schemei logice obţinute a automatului secvenţial sincron cu
circuite integrate
Observaţie: Deoarece în continuare se vor utiliza diagramele VID (variabile
înglobate), se exemplifică determinarea funcţiilor de ieşire:
a) se consideră toate variabilele înglobate „0” şi se formează inele cu „1”-urile
din diagramă
b) se consideră toate „1”-urile indiferente (X) şi se formează pe rând inele cu
câte o variabilă înglobată, celelalte fiind „0”
c) se realizează disjuncţia termenilor obţinuţi la punctul a şi b
Exemplu:

Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 PAS x LIN 1 0 0 x 0 1
0 1 3 2 0 1 3 2
1 0 x 0 1 1 0 x 0 1
4 5 7 6 4 5 7 6
= +

Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 PAS x 0 x 0 0 x LIN x
0 1 3 2 0 1 3 2
1 0 x 0 x 1 0 x 0 x
4 5 7 6 4 5 7 6
+ =
98

= Q0 gQ1 + PAS gQ2 gQ0 + LIN gQ 2 gQ1

Structura unui automat secvenţial sincron realizat cu automate elementare:


bistabile J-K, D are următoarea configuraţie:

Fig 19.2 Structura bloc a unui circuit secvenţial


sincron cu bistabile J-K, D

Aplicaţie rezolvată: Să se realizeze cu bistabile J-K şi porţi logice sinteza


automatului secvenţial sincron descris prin organigrama din figura 19.3
000
Y0
Stare suplimentar
introdus ă pentru
codificarea adiacentă
0 1 a tranziţiilor directe
START 100
Y5
001
Y1

PAS
PAS

1
011
Y2
STOP
0

1 SIN 0 110
Y4
111
0 1
PAL Y3 CAS
99

Fig 19.3 Organigrama de funcţionare a unui automat secvenţial sincron


PAL, START, SIN, STOP – variabile de intrare
PAS, CAS – funcţii de ieşire
Q0, Q1, Q2 – variabile de stare; fiecăreia îi va corespunde un
bistabil J-K în registrul de stare

Diagrama stărilor la momentul t:


Q1
Q
Q2 000 01 11 10
0 y0 y1 y2 x
0 1 3 2
1 y5 x y3 y4
4 5 7 6

Observaţie: compartimentele corespunzătoare stărilor prin care


automatul nu tranzitează se marchează indiferente (X)
Diagrama stărilor la momentul t+1:
Q1 Q1
Q Q 0 0
Q2 000 01 11 10 Q2 0 0 1
11 10

0 START 1 1 x 0 0 1 1 x
0 1 3 2
Q0 t+1 0 1 3 2 Q1t+1
1 0 x 0 0 1 0 x 1 STOP
4 5 7 6
4 5 7 6

Q1
Q 0 0
Q2 0 0 1
11 10
SIN•
0 0 0 x
0 1 PAL 3
• 2
Q1t+1
1 0 x 1 1
4 5 7 6
Deoarece registrul de stare se implementează cu bistabile J-K,
obtinerea expresiilor logice a intrărilor j si k se bazează pe ecuatia de
stare Qt+1 = J • Q t + K • Qt,
din care reiese că în diagramele stărilor următoare Qit+1 se marchează
indiferent compartimentele ce corespund lui Qi=”1” si se determină expresia
intrării ji, iar pentru determinarea expresiei intrării ki se marchează
indiferent compartimentele corespunzătoare lui Qi=”0” şi conţinutul
celorlalte se complementează.
100

Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 START x x x 0 x 0 0 x
0 1 3 2 0 1 3 2
1 0 x x 0 1 x x 1 x
4 5 7 6 4 5 7 6

J 0  START gQ2 K 0  Q2
Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 0 1 x x 0 x x 0 x
0 1 3 2 0 1 3 2
1 0 x 1 x 1 x x 0 STOP
4 5 7 6 4 5 7 6

J1  Q0 K1  STOP gQ0
Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
SIN
0 0 0 x 0 x x x x
0 1 *PAL 3 2 0 1 3 2
1 x x x x 1 1 x 0 0
4 5 7 6 4 5 7 6

J 2  SIN gPALgQ1 K 2  Q1

Funcţiile de ieşire:
PAS
CAS
Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 0 1 0 x 0 0 0 0 x
0 1 3 2 0 1 3 2
1 0 x 0 STOP 1 0 x 1 0
4 5 7 6 4 5 7 6

PAS  Q0 gQ1  STOP gQ0 gQ1 CAS  Q0 gQ2

Schema logica a automatului proiectat:


101

Dacă implementarea registrului de stare a automatului secvenţial


sincron se realizează cu bistabile de tip D, expresiile logice ale intrărilor
Di devin Di = Qit +1
Logica combinaţională poate fi deasemenea realizată cu circuite
multiplexoare sau decodificatoare.
Utilizarea circuitelor decodificatoare la sinteza blocului
combinaţional din structura automatului sincron are unele
particularităţi:
1. starea prezentă Yi în care se găseşte automatul este
evidenţiată printr-un semnal Si activat la ieşirea unui
decodificator, având variabilele de stare conectate la
intrările decodificatorului cu variabilele binare
corespunzătoare codului atribuit stării yi
2. expresiile logice ale intrărilor registrului de stare al
automatului se determină astfel:
a) pentru bistabilele D, intrările Di sunt „1” logic de fiecare dată
când automatul se află într-o stare Yi (activat Si) şi indică prin
codul său binar că variabila de stare Qi este „1”
b) pentru bistabile J-K intrările J,K sunt „1” logic (conform tabelului
excitaţiilor bistabilului J-K) de fiecare dată când automatul fiind în
starea Yi (activat Si), tranzitează într-o stare al cărei cod indică
modificarea variabilei de stare respective Qi: pentru tranziţiile din
„0” în „1” a variabilelor de stare Qi se obţin ecuaţiile Ji, iar pentru
tranziţiile din „1” în „0” se obţin ecuaţiile Ki
Pentru automatul descris în fig. 19.3 avem de exemplu pentru
bistabilul Q0 intrările:
- J 0 = S0 gSTART
102

- K 0 = S3

Conectarea automatelor sincrone master, cu cele de tip


slave
În cazul aplicaţiilor mai complexe există posibilitatea ca anumite
bucle identice din programul de operare să se repete de mai multe ori
şi de aceea ele pot fi implementate o singură dată şi apelate ca
subprogram (automat slave) de câte ori este nevoie din programul
principal (automat master) fig. 19.4
Se consideră că automatul master şi automatul slave
funcţionează cu acelaşi impuls de sincronizare iar cuplarea lor se
realizează prin intermediul unui bistabil de legătură Bi, asociat fiecărui
automat slave.
Automatul slave testează în starea iniţială starea bistabilului Bi
corespondent; dacă Bi=”0” automatul rămâne în starea iniţială, dacă
este „1” atunci sunt parcurse toate stările automatului slave , în ultima
sa stare fiind generată comanda de forţare în „0” a bistabilului Bi,
pentru revenirea în automatul master.
În automatul master se dă o comandă de forţare in „1” a
bistabilului Bi asociat automatului slave apelat şi în următoarea stare
se testează ieşirea bistabilului Bi; dacă este „1”, automatul master
rămâne in aceeaşi stare, funcţionând automatul slave, iar dacă este „0”
tranzitează în stările următoare, ale automatului master.
103

MASTER SLAVE 0 SLAVE 1

A X O

B 0 0
B0 B1

1 1
1->B0

1
B0

0
W S

F
0->B0 0->B1

1->B1

1
B1

Fig 19.4 Cuplarea automatelor master şi slave


Obiectivul experimentului: Analiza şi sinteza automatelor
secvenţiale sincrone prin metoda organigramei, cu bistabile J-K şi D,
utilizând descrierea funcţionarii automatului prin organigrama stărilor.
Desfăşurarea experimentului: Să se realizeze ca automat
secvenţial sincron un dispozitiv de sortare după dimensiune a unor
bare metalice cu lungimea între 2 şi 4m care circulă pe o bandă
transportoare, la distanţă mai mare de 1m intre ele. Se cere să se
selecteze şi contorizeze separat barele mai mici de 3m şi cele mai
mari de 3m ştiind că trec prin faţa a două fotocelule aşezate la distanta
de 3m una de cealaltă si care emit semnalele T0 şi T1 (iniţial sunt „0”)
şi care la sesizarea unei bare, semnalul emis de fotocelulă devine „1”
logic.
Numărul barelor nu depăşeşte 15 şi se vor contoriza cu
numărătoare binare.
Automatul va fi realizat:
104

a) cu bistabile D şi porţi logice


b) cu bistabile D şi circuite multiplexoare
c) cu bistabile D şi circuite decodificatoare
Se vor folosi bistabile SN7474 (D), multiplexor SN74151,
decodificator SN74138, numărător binar SN74193

20. Sinteza automatelor secvenţiale utilizând metoda relaţiilor de transfer


Prin această metodă se pot implementa automatele secvenţiale sincrone descrise
prin: tabelul tranziţiilor, graful tranziţiilor sau organigrama ASM.
Din punct de vedere al realizării registrului de stare, se pot aplica două variante
ale acestei metode: registru de stare realizat cu bistabile, cu stări complet decodificate şi
registru de stare realizat cu circuit numărător.

Registru de stare realizat cu bistabile si stări complect decodificate


O relaţie de transfer are următoarea sintaxă: Starea g Condiţia : comenzi, ieşiri
Fiecărei stări ale automatului îi corespunde în registrul de stare câte un bistabil D.
Tranziţia automatului în starea Yi este indicată în relaţia de transfer prin înscrierea unui
„1” în bistabilul Bi asociat stării respective şi a unui „0” în bistabilul Bi-1 asociat stării
precedente.
Expresia logică a intrării Di a bistabilului de stare se obţine prin însumarea logică
a termenilor Starea g Condiţie pentru toate situaţiile în care se înscrie un „1” în
bistabilul de stare Bi: Di   Yi gconditie
1 Bi

Funcţiile de ieşire Zi se obţin la fel, prin suma logică a termenilor STARE gCondiţie
pentru cazurile în care se generează funcţia respectivă
(Z = 1): Z i   Yi gconditie
i
pentruZi 1

Aplicaţie rezolvată: Să se implementeze prin metoda relaţiilor de transfer cu registrul


de stare realizat cu bistabile D cu stări complet decodificate, automatul secvenţial sincron
descris prin organigramă:
105

RESET

Q2Q1Q 0
000
y0 RON

100
y4
0 1
START

PRIM, STOP
001
y1 1

0
CAS
PRIM

1 010 011
0
RET y2 SYNC y3

Tabelul codurilor stărilor obţinut prin atribuirea fiecărei stări a unui bistabil D al
registrului de stare
B0 B1 B2 B3 B4
Y0 1 0 0 0 0
Y1 0 1 0 0 0
Y2 0 0 1 0 0
Y3 0 0 0 1 0
Y4 0 0 0 0 1
Relaţiile de transfer:
y0 gSTART :1  B0
y0 gSTART : 0  B0 ,1  B1
y1 gRET :1  B1 , PRIM
y1 gRET : 0  B1 ,1  B2
y2 : 0  B2 ,1  B3 , SYNC
y3 gCAS :1  B3
y3 gCAS : 0  B3 ,1  B4 , PRIM , STOP
y4 : 0  B4 ,1  B0 , RON
Expresiile logice ale intrărilor bistabilelor:
106

D0  y0 gSTART  y4
D1  y0 gSTART  y1 gRET
D2  y1 gRET
D3  y2  y3 gCAS
D4  y3 gCAS
Expresiile logice ale funcţiilor de ieşire:
PRIM  y1 gRET  y3 gCAS
SYNC  y2
STOP  y3 gCAS
RON  y4
Înlocuind stările yi cu ieşirea bistabilelor corespondente Bi se obţine schema
logică a automatului:

CLC – circuit logic combinaţional


Registrul de stare realizat cu circuit numărător
Registru de stare este implementat cu un circuit numărător, reversibil tip
SN74193. deoarece va fi utilizată atât funcţia de încărcare paralelă a numărătorului cât şi
funcţia de incrementare; codificarea stărilor automatului trebuie astfel realizată încât
generarea codului stării următoare să fie realizată în concordanţă cu funcţia de încărcare
sau incrementare folosită.
Se implementează automatul din figura precedentă şi se obţine:
107

RESET

Q2Q1Q 0
000
y0 RON

100
y4
0 1
START

PRIM, STOP
001
y1 1

0
CAS
PRIM

1 010 011
0
RET y2 SYNC y3

Relaţiile de transfer:
y0 START : 000  RN (reg ...numarator )
y0 START : 0  1RN
y1 RET : 001  RN , PRIM
y1 RET : 1RN
y2 : 1RN , SYNC
y3 CAS : 011  RN
y3 CAS : 1RN , PRIM , STOP
y4 : 000  RN , RON
Expresia logică a semnalului de incrementare a registrului de stare este dată de
suma logică a termenilor yi gCondiţie când se generează semnalul +1RN:
+1RN=  yi conditie
cand 1RN "1"

1RN  yo gLOAD  y1 gRET  y2  y3 gCAS


Expresia logică a semnalului de încărcare paralelă LOAD se determină prin suma
logică a termenilor Stare gCondiţie când în relaţia de transfer este activată funcţia de
încărcare: LOAD   yi conditie cv
cand : xxx  RN

LOAD  y0 START  y1 RET  y3 CAS  y4


Semnalele yi se obţin prin decodificarea variabilelor de stare Q0, Q1 şi Q2
corespunzătoare codului fiecărei stări. Intrările de date de rang i, Di ale numărătorului se
determină utilizând diagrama V-K a stărilor automatului la momentul t şi înscriind un „1”
logic sau condiţia testată în compartimentul corespunzător stării in care starea următoare
este generata prin încărcarea numărătorului, iar codul binar al acestei din urma stări, are
bitul de rang i, (Qi ) egal cu „1”.
108

Q1
Q
Q2 000 01 11 10
0 y0 y1 y3 y4
0 1 3 2
1 y4 x x x
4 5 7 6
Q1 Q1
Q Q
Q2 000 01 11 10 Q2 000 01 11 10
0 0 RET CAS 0 0 0 0 CAS 0
0 1 3 2 0 1 3 2
1 0 x x x 1 0 x x x
4 5 7 6 4 5 7 6

D0  RET Q0 Q1  CAS Q0 Q1 D1  CAS Q0 Q1


Observaţie: egalitatea dintre indicele simbolului stării şi echivalentul zecimal al
codului binar atribuit stării este întâmplătoare.
Funcţiile de ieşire au aceeaşi expresie cu cele rezultate la implementarea
precedentă, iar funcţia de încărcare LOAD este realizată cu circuit multiplexor.
Schema logică a circuitului secvenţial sincron obţinut:
RET
CAS
Q0 CLC y0
Q1 0 y1
D Q 2
Q1 0 0
y2
SN74193 y3
1
DEC
Q 2 y4
1
CLC D
1
2
D Q 2
2 2
D
3
+1RN CU
LD
y0 CL
y 2 2 2 1 20
1 0 START
y2 RET
1
y3 CLC 2
RET MUX 3 CAS
LOAD 4 ,,1’’
CAS 5
6
Clk 7
y1
RESET y PRIM
2
y3 SYNC
y4
CLC
STOP
RET RUN
CAS
109

CLC – circuit logic combinaţional

Obiectivul experimentului: studiul sintezei automatelor secvenţiale prin metoda


relaţiilor de transfer
Desfăşurarea experimentului: Să se testeze funcţionarea automatului descris
prin organigrama de mai jos realizat prin metoda relaţiilor de transfer folosind circuitele
integrate: bistabile D, porţi logice ŞI-NU, multiplexoare şi decodificatoare.
A

1 0
START

STOP, LIST

LIST
0

1
END
B

1
0
MIC C

21. Sinteza automatelor secvenţial sincrone cu


memorii permanente programabile PROM
Memoriile PROM se pot utiliza la realizarea circuitelor secvenţiale sincrone atât
pentru generarea stărilor următoare cât şi a ieşirilor. Pentru implementarea acestor funcţii,
memoria trebuie programată iniţial în conformitate cu comportarea automatului
secvenţial sincron proiectat. Astfel la o adresă specificată de intrările principale ale
circuitului şi de starea prezentă a acestuia, memorată în registrul de stare, este înscrisă
starea următoare a circuitului şi ieşirea corespunzătoare.
După modul de adresare, vor fi abordate trei variante ale sintezei automatelor
sincrone descrise prin organigramă, cu memorie PROM:
1. Adresarea arcelor de legătură din organigrama ASM
2. Adresarea perechilor de intrare-stare
3. Adresarea cu format variabil

1. Adresarea arcelor de legătură


110

În cadrul acestei metode, conţinutul unei locaţii de memorie are două câmpuri:
LINK şi INSTRUCŢIE. În câmpul LINK este înscris codul binar al stării următoare iar în
câmpul INSTRUCŢIE, toate ieşirile generate în starea prezentă sau în timpul tranziţiei
spre starea următoare. Codul adresei selectate din memorie este parte constituit din codul
binar al stării următoare, memorat în registrul de stare şi parte din valorile binare ale
variabilelor de intrare, fig 21.1 .

X
Intrari A - A j-1 PROM
0

Y
RS A - A n-1
j
δ λ

LINK INSTRUCTIE
Codul starii
urmatoare Spre unitatea
de executie
Fig. 21.1 Automat sincron realizat prin metoda adresării
arcelor de legătură

Descrierea conţinutului memoriei PROM, înscrisă în prealabil, redă de fapt,


funcţionarea automatului sincron, conform organigramei
111

Aplicaţie rezolvată: Să se implementeze cu memorie PROM prin metoda


adresării arcelor de legătură, automatul:
A

Z0

0 1
X0 Z1

Z2

0 1 0
X1 X1

1
Z4
Z3

X2 X2 X2 X2

0 1 0 1 0 1 0 1

Z1 Z4 Z5 Z1, Z3 Z6 Z1, Z5 Z0 Z5

C B

Organigrama se adaptează astfel încât să fie evidenţiate în mod grupat, toate


ieşirile generate pe fiecare ramură a tranziţiilor în starea următoare.
112

Q1Q0

A 00

0 1
X0

0 1 0
X1 X1

1 1 1 1
X2 X2 X2 X2

0 0 0 0

000 100 010 110 011 111 001 101


Z0,Z1,Z2,Z3 Z0, Z2, Z3 , Z4 Z0, Z2, Z5 Z0, Z1, Z2, Z3 Z0, Z1, Z6 Z0 , Z1, Z5 Z0,Z1 ,Z4 Z0,Z1,Z4,Z5

C B
11 01

Harta memoriei ROM

Stare prez. Intrări LINK Z6 Z5 Z4 Z3 Z2 Z1 Z0


Q1 Q0 X2 X1 X0 D8 D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 1 0 1 0 0 1 0 0 1 1
0 0 0 1 0 1 1 0 1 0 0 1 0 1
0 0 0 1 1 0 1 1 0 0 0 0 1 1
0 0 1 0 0 0 0 0 0 1 1 1 0 1
0 0 1 0 1 0 1 0 1 1 0 0 1 1
0 0 1 1 0 1 1 0 0 0 1 1 1 1
0 0 1 1 1 0 1 0 1 0 0 0 1 1
0 1 x x x 1 1 0 0 0 0 0 0 0
1 1 x x x 0 0 0 0 0 0 0 0 0

Realizând registrul de stare cu bistabile D, se obţine schema logică a automatului


secvenţial sincron:
113

X0
clk D 0 Q0 A 0
clk Intrari X 1 PROM
A 1
X2
A 2
R
reset A 3
A 4

D 1 Q1 Link Z 6 Z 5 Z 4 Z 3 Z 2 Z1 Z0
clk D 8 D 7 D 6 D 5 D4 D 3 D 2 D 1 D 0
R

Iesiri

2. Adresarea perechilor de intrare-stare


Această metodă permite sinteza automatelor secvenţiale sincrone descrise printr-o
organigramă astfel încât într-o stare să fie testată o singură variabilă de intrare. Dacă
pentru realizarea registrului de stare se folosesc bistabile D, codul stării următoare înscris
în registru de stare selectează o adresă de memorie al cărei conţinut are următoarea
structură, fig 21.2

TEST LINK TRUE (LT) LINK FALSE (LF) INSTRUCŢE

Fig 21.2 Conţinutul adresei de memorie PROM în cazul adresării


perechilor intrare-stare

Informaţiile memorate în adresa de memorie au următoarele semnificaţii:


TEST – codul atribuit variabilelor de intrare
LINK TRUE – codul atribuit stării următoare, când variabila testată are valoarea „1”
LINK FALSE – codul stării următoare dacă variabila testată are valoarea „0”
INSTRUCŢIE – câmpul corespunzător funcţiilor de ieşire, fiecărei funcţii atribuindu-se
câte un bit din acest câmp („0” dacă nu există funcţie de ieşire, „1” dacă se generează o
funcţie de ieşire)
114

PROM

Y
RS A - A n-1
0 δ λ

Clk
Test LT LF Instr.

X0
MUX Z
P
MUX
intrari
t+1
X p-1 Y

Fig 21.3 Schema bloc a unui automat sincron realizat prin metoda adresării
perechilor de intrare-stare şi registru de stare cu bistabile

Utilizarea unui numărător reversibil ca registru de stare impune anumite


particularităţi la realizarea sintezei automatului sincron:
a) Convenim ca atunci când variabila testată este „0” logic, codul stării
următoare să se obţină prin incrementarea codului stării prezente, deci al
conţinutului numărătorului
b) Informaţia înscrisă într-o adresă de memorie are următoarea structură:
TEST LINK TRUE INSTRUCŢIE
iar schema bloc a circuitului secvenţial sincron are configuraţia:

PROM
RS
SN74193
Y
A - A n-1
0 δ λ
CU LD
CL
Test Link True Instr .
clk
reset
X0
Z
CU = X clk P X
MUX
LD = X clk intrari

X p-1
115

Aplicaţie rezolvată: Să se realizeze cu memorie PROM, sinteza automatului


secvenţial sincron prin metoda adresării perechilor de intrare-stare,
a) registrul de stare realizat cu bistabile D
Q 0Q1Q2
000
y0

Z0

001 010
0 1
Z1 y1 X0 y3 Z2

Z1
011
y2
111
y6
1
X1
z2
110 0

y4 101
1
0 y5
X2

Z3
Z4

Codificarea variabilelor de intrare x0, x1, x2:

INTRARE TEST
X0 00
X1 01
X2 10
salt
11
necondiţionat

Harta memoriei PROM

Stare INSTRUCŢIE
TEST LT LF
prezentă Z4 Z3 Z2 Z1 Z0
Q2 Q1 Q0 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1
0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 0
0 1 0 0 1 1 1 0 1 0 1 0 0 1 0 0
0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0
1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0
116

Schema circuitului secvenţial sincron realizat:

clk D 0 Q0
clk
A0
R PROM
reset A1
A2

D 1 Q1
clk

R Test LT LF Instructie
D11 D11 D10 D 9 D 8 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0

D 2 Q2
clk X0
0 2 1 20 2 1 0 2' 1' 0' Z Iesiri
X 1 0
R 1 2
X2
2 MUX DUBLU MUX
SN 3
(SALT NECONDITIONAT) S 2 S1 S0
La intrarile bistabilului Di

b) Registrul de stare realizat cu circuit numărător reversibil. Stările din organigramă


vor fi necodificate:
Q 0Q1Q2
000
y0

Z0

001 101
0 1
Z1 y1 X0 y3 Z2

Z1
011
y2
100
y6
1
X1
Z2
111 0

y4 110
1
0 y5
X2

Z3
Z4
117

Harta memoriei PROM

INSTRUCŢIE
Stare prezentă TEST LT
Z4 Z3 Z2 Z1 Z0
Q2 Q1 Q0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 1 1 0 1 0 0 0 0 1
0 0 1 1 1 0 1 1 0 0 0 1 0
0 1 1 1 0 1 1 1 0 0 1 0 0
1 0 0 1 1 0 0 0 0 0 0 1 0
1 0 1 0 1 1 1 1 0 0 1 0 0
1 1 0 1 1 0 0 0 1 0 0 0 0
1 1 1 1 1 0 0 0 0 1 0 0 0

Schema logică a circuitului sincron obţinut:

S0 RN
A0
S 1 Q0 A 1 PROM
S2 Q1 A2
Q2
SN74193
CU LD
CL

clk D 9 D 8 D 7 D 6 D5 D 4 D 3 D 2 D 1 D
0
reset

X0
X1
0 21 2
0 Z Iesiri
1 Xi
X2
2 MUX
SN 3

3. Adresarea cu format variabil


În rangul cel mai semnificativ al conţinutului unei adrese de memorie PROM se
înscrie un bit M care defineşte funcţiile celorlalte cifre binare înscrise în adresa
respectivă: dacă M=”0” ceilalţi biţi de date corespund funcţiilor de ieşire, iar când
M=”1”, informaţia înscrisă conţine câmpul TEST, codul variabilei de intrare testate şi
câmpul LINK TRUE, codul stării următoare când variabila testată are valoarea „1” logic,
fig. 21.4
118

0 INSTRUCŢIE
1 TEST LINK TRUE
M
Fig. 21.4 Conţinutul unei adrese de memorie PROM
(adresare cu format variabil)

Organigrama care descrie funcţionarea automatului sincron se modifică, dacă este


cazul, astfel încât în cadrul unei stări să se testeze o singură variabilă de intrare sau să se
genereze funcţii de ieşire
Registrul de stare se implementează cu circuit numărător reversibil şi atribuirea de
coduri binare stărilor din organigrama automatului , convenim sa se realizeze în
următorul mod:
a) Se atribuie stării următoare un cod binar obţinut prin incrementarea codului
stării prezente atunci când variabila testată are valoarea „0” logic sau când
se generează funcţii de ieşire
b) Dacă variabila testată are valoarea „1” logic, codul stării următoare se
încarcă (paralel) în registrul numărător.

PROM
RN
SN74193
Y
A - A n-1
0
CU LD
CL 0 Instructie
reset 1 Test Link True
clk M

X0 M Z
CLC
P Xi
MUX
LD = X i clk M intrari
CU = X i clk M + M clk
X p-1

Fig 21.5 Schema bloc a unui automat sincron realizat cu memorie


PROM prin metoda adresării cu format variabil

Aplicaţie rezolvată: Utilizând memoria PROM prin metoda adresării cu format


variabil, să se realizeze sinteza automatului sincron:
119

Z0

0 1
X0

Z1
0 1
X1 B Z2

Organigrama automatului se modifică astfel:

Q 2Q1Q0
000
A

Z0
011
N 001
B

100
010 0 1
C X0 D 111

Z1 110
101
0 1
S X1 E Z2

Se codifică variabilele de intrare x0, x1:

INTRARE TEST
X0 00
X1 01
Salt necondiţionat 11
120

Harta memoriei PROM

Stare INSTRUCŢIE
prezentă M Z2 Z1 Z0
Q2 Q1 Q0 TEST LT
D5 D4 D3 D2 D1 D0
0 0 0 0 X X 0 0 1
0 0 1 1 0 0 1 0 0
0 1 0 0 X X 0 1 0
0 1 1 1 1 1 0 0 0
1 0 0 1 0 1 1 1 0
1 0 1 1 1 1 0 1 1
1 1 0 0 X X 1 0 0
1 1 1 1 1 1 0 0 0

si schema logică a automatului secvenţial sincron:

S 0 RS
A0
S 1 Q0 A1
PROM
S 2 Q1 A2
Q2
SN74193
CU LD
CL 1 Instructie 3
reset 0 Test Link True
clk D 5 D 4 D 3 D 2 D1 D 0 Z Iesiri
M
CLC
X0
0 1 0
X1 2 2
1 Xi
2 MUX
3
SN

Obiectivul experimentului: Studiul şi experimentarea metodelor de sinteză a


automatelor secvenţiale sincrone implementate cu memorii PROM
Desfăşurarea experimentului: Să se proiecteze şi să se verifice funcţionarea
automatului sincron descris prin organigrama de mai jos, si implementat cu memorii
PROM prin metoda adresării cu format variabil
121

0 1
PIN POP

CAS

1
PAS
B
0

RAS
0 1
SUB DOM

22. Sinteza automatelor secvenţiale asincrone


Circuitele secvenţiale asincrone se întâlnesc în practică ca circuite independente şi
ca părţi componente ale circuitelor secvenţiale sincrone.
Aşa cum s-a mai explicat, modul de funcţionare asincron (fundamental) este
caracterizat de faptul că starea următoare, după un timp Δt, devine automat stare prezentă.
Determinarea directă a tabelului tranziţiilor şi a ieşirilor pentru circuitul secvenţial
asincron având comportarea dorită nu este posibilă doar în anumite cazuri particulare. De
aceea se utilizează un model numit tabelul primar al tranziţiilor şi ieşirilor, care descrie
evoluţia stărilor circuitului, determinată de intrările principale ale acestuia şi ieşirile
corespunzătoare fiecărei stări stabile. Acest tabel corespunde modelului Moore, în care
ieşirea depinde numai de stare, deosebirea constând în faptul că nu s-a trecut coloana
corespunzătoare stării prezente.
Se consideră o stare stabilă a unui circuit secvenţial asincron, acea stare, când
pentru o intrare dată starea următoare este identică cu stare prezentă.
In tabelul primar, fiecărei singure stări stabile (cea încercuită) i se rezervă un rând
separat, pe o anumită coloană corespunzătoare unei anumite intrări.
Schimbând valoarea intrărilor, circuitul aflat într-o anumită stare stabilă trece într-
o altă stare (instabilă) pe coloana corespunzătoare noilor intrări care trebuie să fie stabilă
pe un alt rând. Deoarece starea prezentă pentru un anumit rând este aceeaşi cu starea
următoare stabilă, în tabelul primar al stărilor nu se mai scrie starea prezentă.
Pentru ca un circuit secvenţial să funcţioneze determinist trebuie ca fiecare stare a
acestuia să fie stabilă.
122

Exemplu: Se consideră un circuit secvenţial cu două intrări x0 şi x1 şi o ieşire z .


Circuitul funcţionează conform cronogramei din figura 22.1 şi anume: ieşire z comută în
starea „1” atunci când valoarea intrărilor este x1=„1” şi x0=„0”după ce în momentul
precedent valoarea intrărilor a fost x0=„1” şi x1=„1”

X1 0 1 1 1

X0 0 0 1 0

Z 0 0 0 1
Y0 Y1 Y2 Y3

Fig 22.1.Cronograma intrarilor si ieşirilor unui circuit secvenţial asincron

In funcţionarea circuitului nu se admite decât secvenţa de intrări redată în


cronograma din figura 22.1, iar poziţiile din tabel pentru care tranziţiile nu sunt definite
se marchează cu o linie.
Tabelul primar al stărilor are configuraţia din figura 22.2.

Fig 22.2 Tabelul primar al stărilor

In primul rând din tabel se înscrie starea y0 , considerată stare iniţială. Ea este
stabilă pentru valori ale intrărilor x0=„0” şi x1=„0”, dar modificând intrarea x1 din x1=„0”
în x1=„1”, circuitul trece în starea y1 care devine apoi stabilă în rândul doi din tabel. Din
starea stabilă y1, pentru x0=„1” şi x1=„1” circuitul trece în starea instabilă y2 care devine
stabilă în rândul trei. Pentru x1=„1” şi x0=„0” circuitul trece în starea instabilă y3 ce
devine stabilă în rândul patru şi apoi când x0=„0” şi x1=„0”, circuitul tranzitează în starea
y0 iniţială (instabilă), care în rândul unu este stabilă. Fiecărei stări stabile introduse i se
precizează în tabelul primar valoarea ieşirii.
Considerând că în functionarea circuitului secvential nu pot să apară decât
situatiile din fig 22.1, compartimentele necompletate din diagrama stărilor se marchează
indiferente (x).
Pentru completarea matricii iesirilor se analizează toate tranzitiile posibile dintre
stările stabile, urmărind cele două situatii posibile:
123

1. Dacă o tranzitie din starea stabilă „i” în starea stabilă „j” : i → γ → j nu are ca efect
modificarea valorii ieşirii „γ” faţă de „i”, ieşirea automatului trebuie menţinută
neschimbată pe durata tranziţiei, altfel pe durata Δt a tranzitiei ar putea să apară un
impuls fals care poate genera funcţionări greşite.
2. Dacă o tranziţie din starea stabiă „i” în starea stabiă „γ”: i → γ → j, modifică valoarea
ieşirii pe durata tranziţiei ieşirea este indiferentă ( dacă se atribuie tranziţiei „γ” valoarea
ieşirii din „i” , modificarea ieşirii are loc la sfârşitul tranziţiei „γ” i se atribuie valoarea
ieşirii din „γ”, modificarea se produce la începutul tranziţiei.
Pentru automatul asincron cu număr redus de stări se obţine tabelul tranziţiilor şi
ieşirilor din figura 22.3:
x1
x0

00 01 11 10 00 01 11 10
0 X X 1 0 X X 0
X X 2 1 X X 0 0
X X 2 3 X X 0 X
X X X 3 X X X 1
Fig 22.3 Tabelul primar al tranzitiilor si iesirilor automatului asincron
Pentru determinare automatului cu număr minim de stări, se aplică metoda
Tabelului implicatiilor.

1
2 1~31~3 Si se obtin clasele de compatibilitate maximă {0,1}, {2,3}.

3
0 1 2

Considerând: y1r  {0,1}


y2r  {2,3} obtinem tabelul redus al tranzitiilor si iesirilor:
x1
xo

00 01 11 10 00 01 11 10

y1r x y2r y 1r 0 x 0 0

y1r x y2r y 2r x x 0 1
124

Codificarea stărilor automatului sincron


Reprezentarea tabelului binar al stărilor se realizează prin codificarea adiacentă a
stărilor între care există tranziţii discrete.
Comutarea simultană a două sau mai multe variabile de stare poate genera hazard
de tranziţie.
Numim cursă necritică, cursa care trece automatul în starea stabilă dorită dar
prin tranziţii diferite.
Cursa critică este cea care are ca efect tranziţia automatului în stări stabile
diferite (unele nedorite).
Se vor atribuie coduri adiacente, cu prioritate, perechilor de stări care corespund
unor tranziţii critice.
Referindu-ne la Tabelul Tranziţiilor, dacă intr-o coloană există mai mult de o
singură stare stabilă, tranzitiile care conduc la stări stabile din această coloană generează
curse critice. În cazul dat vom codifica adiacent stările y1r si y2r si obtinem următorul
tabel:
Stare următoare Ieșiri
Stare

prezent ă Intrări Intrări

Q0
00 01 11 10 00 01 11 10

y1r 0 0 x 1 0 0 x 0 0

y2 r 1 0 x 1 1 x x 0 0

Variabila de stare la momentul t+1 si functia de iesire Z au expresia logică:

Q0t+1 z
x 1 Q0
x 1 Q0

x0
x0

00 01 11 10 00 01 11 10
0 0 x 1 0 0 0 x 0 0

1 0 x 1 1 1 x x 0 1
Q 0 = x 0 + x1 ⋅ Q0t
t+1
z = x 0 ⋅ Q0t
Utilizând porti logice, se obtine schema logică a automatului secvential asincron:
X0
Q0

X1

Z
125

Automatul secvential asincron poate fi realizat si cu automate elementare de tip


bistabile R-S asincron. Variabilei de stare îi corespunde un bistabil R-S în expresiile
logice a intrărilor bistabilului se determină dezvoltând diagramele V-K, elaborate pe baza
următoarelor consideratii:
a) Se va utiliza tabelul excitatiilor bistabilului R-S:

Q0t Q 0t+1 S R
0 0 1 0
0 1 0 1
1 0 1 0
1 1 X 1
b) Se utilizează tabelul binar al tranzistiilor si urmărind fiecare tranzitie din starea
prezentă in starea următoare pentru toate combinatiile binare ale intrărilor, pe baza
tabelului excitatiilor bistabilului R-S, se determine diagramele V-C ale intrărilor R si S .

S R
x 1 Q0
x 1 Q0

x0
x0

00 01 11 10 00 01 11 10
0 1 x 0 1 0 0 x 1 0

1 1 x x x 1 0 x 1 1

S = X1 + X 0 R = X 0 + Q 0 ⋅ X1

Funcția de ieșire Z are această valoare: Z=X 0 ×Q0t


Schemalogică a automatului asincron realizat cu bistabilele R-S are structura:

X1
R Q0

S Q0
X0
Z

INITIALIZARE

Sinteza automatelor secventiale asincroane poate fi abordată si utilizând


descrierea automatului prin diagrama ASM si parcurgând etapele descrise la sinteza
automatelor secventiale sincroane.
126

Pentru aplicatia dată, avem:


Q1Q0
00
A

0
X1

Z
1
01
B
D 10

0
X0
0

11 C X0

1 1
Pentru a realiza sinteza automatului asincron cu bistabile R-S asincroane, utilizăm
tabelul excitatiilor corespondent:
Q t Q t+1 S R Diagrama stabil ă la
momentul t:
0 0 1 0
Q0

0 1 0 1 0 1
Q1

1 0 1 0 0 A B

1 1 X 1 1 D C

Diagrama intrărilor S si R la momentul t+1:

S0 R0
Q0

Q0

0 1 0 1
Q1

Q1

0 X1 X 0 X1 1

1 1 X0 1 0 X0

S1 R1
Q0

Q0

0 1 0 1
Q1

Q1

0 1 X0 0 0 X0

1 1 X 1 0 1
127

S0 =Q0 Q1 +X1 Q1 +X 0 Q0


R 0 =Q 0 Q1 +X1 Q1 +X 0 Q0
S1 =Q0 +X 0
R 1 =Q 0 Q1 +X 0 Q0
Z=Q0 Q1

Se obtine schema logică a automatului asincron cu bistabile R-S ansincrone:

Q0
Q0
Q1
Q1 LC
X1
S0 Q0
X0

Q0
Q1
X1 LC
R0 Q0
X0

Q0
LC Q1
X0 S1

Q0
Q1 R1 Q1
LC
X0

Q0
Z
LC
Q1

INITIALIZARE
128

23. Circuite secvenţiale – aplicaţii rezolvate

1.Se dă schema logică a circuitului secvenţial sincron:

Să se explice funcţionarea circuitului şi să se reprezinte cronograma semnalelor


O0 , O1 , O2 , O3 , O4 şi Br raportată la impulsurile de clock, ştiind că numărătorul reversibil
SN74193 se încarcă (paralel) iniţial prin activarea semnalului INIT („0”) cu informaţia
binară 0101.

Rezolvare:

Funcţionarea circuitului secvenţial sincron este determinată de următoarele


caracteristici:
a) In numărător este înscrisă iniţial informaţia binară 01012=510
b) Comanda de încărcare LD este activă la valoarea „0” şi este conectată la ieşirea
Br (Borrow), semnal generat la ieşirea numărătorului între două impulsuri de
clock când numărătorul ajunge în starea „0”, după o numărare în sens
descrescător.
c) Semnalul de numărare în sens descrescător, CD, este activ cu frontul crescător al
impulsului şi este conectat printr-un inversor la intrarea de rang 23 a circuitului
decodificator SN7442.
Circuitul funcţionează astfel: iniţial semnalul de clock fiind „0”, decodificatorul
primeşte la intrare informaţia 11012=1310, stare care nu este decodificată (decodificatorul
129

are 10 ieşiri negate) şi ca urmare toate ieşirile O0 ...O9 sunt la valoare „1”. La primul
impuls de numărare (CD) este activată („0”) ieşirea O4 a circuitului decodificator.
Procesul continuă până în starea 0 când între două impulsuri de clock, prin activarea
ieşirii Br , („0”) se încarcă din nou numărătorul cu informaţia 0101 şi ciclul se repetă.

Cronogramă

CLK (CD) 4 3 2 1 0 4

O4

O3

O2

O1

O0

Br

2. Să se realizeze un numărător compus modulo M=12, prin conectarea în cascadă


a două numărătoare, unul asincron modulo M1=3 cu reţinerea semnalului de anulare,
realizat cu bistabile T şi unul sincron modulo M2=4 realizat cu bistabile J-K. Impulsul de
numărare, activ cu frontul descrescător, comandă numărătorul M1=3.
Se va reprezenta cronograma semnalelor la ieşirea numărătorului şi a semnalului
de anulare AN 3 .

Rezolvare:

Numărătorul asincron cu reţinerea semnalului de anulare modulo M1=3, se va


implementa cu bistabile J-K transformate în bistabile T.
Secvenţa de numărare a numărătorului compus generează următoarele stări:
130

M2 M1
Starea
Q3 Q2 Q1 Q0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0

Tabelul de funcţionare al numărătorului sincron M2=4 realizat cu bistabile J-K se


determină corespunzător tranziţiilor numărătorului în stare următoare ( iniţial starea 0
este stare prezentă) şi utilizând tabelul excitaţiilor bistabilului J-K.

Qn Q n+1 j k

0 0 0 X

0 1 1 X

1 0 X 1

1 1 X 0
131

J2 = „1” K2 = „1”

J3 K3

J3=Q2 K3=Q2

Schema logică a numărătorului compus modulo M=3x4, realizat:

AN3

Q2 Q3

˶1” j0 Q0 ˶1” j1 Q1 ˶1” j2 Q2 j3 Q3


IN
CLK CLK CLK CLK
IMPULS ˶1”
˶1” k0 k1 ˶1” k2 R k3
NUMARARE R R R

RESET

Cronograma

IN

Q0 0 1 0 1 0 1 0 1 0 1

Q1 0 0 1 0 0 1 0 0 1 0 0 1 0 0

AN3

AN3

Q2 0 0 0 1 1 1 0 0 0 1 1 1 0 0

Q3 0 0 0 0 0 0 1 1 1 1 1 1 0 0
starea 0 1 2 4 5 6 8 9 10 12 13 14 0 1

3.Să se obţină prin metoda tabelului implicaţiilor automatul cu număr minim de


stări redus, fiind dat tabelul tranziţiilor al automatului secvenţial sincron:
132

x
x1 x2 x3 x4
y
y1 2/- 5/0 5/0 2/-
y2 3/0 4/- -/- -/-
y3 -/- 5/- 1/0 2/0
y4 1/- 2/1 -/- -/-
y5 2/1 -/- -/- 4/1

Rezolvare:

Tabelul implicaţiilor:

Se parcurge tabelul de la stânga la dreapta şi se


obţin clasele de compatibilitate maximă: {1,5},
{1,2,3}, {2,4}, {4,5}.

Dacă s-ar selecta clasele {1,2,3} şi {4,5} pentru acoperirea minimă nu s-ar obţine
o mulţime închisă ( succesorii stărilor claselor de compatibilitate selectate, aparţin şi altor
clase de compatibilitate maximă, din cele neselectate pentru acoperirea minimă). O
variantă ar fi scindarea clasei de compatibilitate {1,2,3} în doua clase de compatibilitate
{1,2}şi {2,3} şi se obţine acoperirea minimă {1,2}, {2,3} şi {4,5}.Se înlocuieşte fiecare
clasă cu stările y1r ⊇ {1,2} , y 2 r ⊇ {2,3} şi y 3r ⊇ {4,5} şi se determină tabelul tranziţiilor
automatului cu număr redus de stări.

X X1 X2 X3 X4
Y
Y1r 2r/0 3r/0 3r/0 2r/-
Y2r 2r/0 3r/- 1r/0 2r/0
Y3r 1r/1 2r/1 -/- 3r/1

4. Să se implementeze un automat secvenţial sincron care să genereze un semnal


egal cu trei perioade ale impulsului de sincronizare (clk) şi care să funcţioneze conform
cronogramei:
133

Cronograma

CLK

(intrare) X0

(iesire) Z

Se consideră intrarea X0 sincronă cu frontul descrescător al impulsului de tact


(clk) şi se utilizează descrierea funcţionării automatului sincron, prin organigramă, iar
pentru realizarea registrului de stare, bistabile D.

Rezolvare:

In cronograma de funcţionare a automatului sincron se indică faptul că ieşirea z


comută la valoare „1”, sincron cu frontul crescător al impulsului de clock, atunci când
intrarea X0 este „1” după ce a parcurs tranziţia „0”→„1”, iar ieşirea z avea valoarea „0”.

Organigrama de funcţionare a circuitului:


Q1Q0
00
A

Z
1 X0

0
10
01
D
B

0
Z
X0

1
11
Z C

Diagrama V-K a automatului la momentul t:


134

Diagramele V-K ale variabilelor de stare Q0, Q1 la momentul t+1:

Q0t +1 Q1t +1

Q0t 1  Q0 Q1  X 0 Q1 Q1t 1  Q0 Q1  X 0 Q1


D0  Q0t 1 D1  Q1t 1

Diagrama V-K a funcţiei de ieşire z:

z  Q1  X 0 Q0

Schema logică a automatului secvenţial sincron implementat:


135

5. Se dă automatul secvenţial sincron:

1 0
START RUT

1 0
SAL

0 1
PAL

POP TOP

Să se realizeze sinteza automatului secvenţial sincron ca memorie PROM prin


metoda adresării cu format variabil şi registru de stare, numărător.

Rezolvare:

Pentru utilizarea metodei adresării cu format variabil organigrama automatului se


modifică şi codifică astfel:
136

Q2Q 1Q 0
000
A

001
1 0
START B RUT

010

011
1 0
SAL D

100 110
0 1
E PAL F

101 POP 111 TOP

G H

Conţinutul unei adrese de memorie:

0 INSTRUCŢIE
1 TEST LINK TRUE
M
Încărcarea numărătorului cu codul stării următoare, se realizează când tranziţia în
starea următoare se face necondiţionat fără să fie generată funcţie de ieşire, sau când
intrarea testată este „1” logic.
Incrementarea numărătorului, pentru generarea stării următoare, este asociată cu
generarea unei funcţii de ieşire, sau testarea unei condiţii de intrare când aceasta este „0”
logic.

- funcţia de încărcare: LD = M ⋅ X ⋅ CLK


- funcţia de incrementare: CU = M ⋅ X ⋅ CLK + M ⋅ CLK
unde X reprezintă variabila de intrare testată.
137

Codificăm intrările şi renotăm ieşirile:

INTRARI C1 C0

START 0 0
RUT : Z0

SAL 0 1 POP : Z1

PAL 1 0 TOP : Z2

SALT
neconditionat 1 1
(SN)

Harta memoriei PROM

STARE Conţinut adresă memorie


PREZENTA Z2 Z1 Z0
(cod adresă M
memorie) C1 C0 LINK TRUE
Q2 Q1 Q0 D5 D4 D3 D2 D1 D0
A 0 0 0 1 0 0 0 0 0
B 0 0 1 0 × × 0 0 1
C 0 1 0 1 0 1 0 1 0
D 0 1 1 1 1 0 1 1 0
E 1 0 0 0 × × 0 1 0
G 1 0 1 1 1 1 0 0 0
F 1 1 0 0 × × 1 0 0
H 1 1 1 1 1 1 1 0 1

Schema logică a circuitului sincron obţinut:


138

D0 Q0 A0

D1 Q1 A1 PROM
SN74193
D2 Q2 A2

D3 Q3 0 Z2 Z1 Z0

CV LD 1 C1 C0 L T

M
RESET CIC
21 20
START
CLC 0 IESIRI
M X CLK
SAL Z
1
CLC X X
PAL MUX
2
˶1”
3
M SN

6. Să se implementeze un dispozitiv aritmetic de patru cifre binare care să


realizeze funcţiile : adunarea a două numere binare de patru cifre binare, scăderea a două
numere binare prin adunarea scăzătorului exprimat în complement de 2 şi deplasarea spre
dreapta a conţinutului dispozitivului, cu un număr de biţi indicat de utilizator.
Complementul de 2 al unui număr binar Y = Y + 1 .
Se folosesc două registre A, B şi anume: în registrul A se înscrie operandul 1
(OP1) şi rezultatul operaţiei efectuate (REZ), iar in registrul B se înscrie operandul 2
(OP2) şi contorul care indică numărul de deplasări ce trebuie efectuate de dispozitiv.
Operaţiile care trebuie efectuate de dispozitivul aritmetic sunt transmise acestuia
prin intermediul unui cod de două cifre binare C0,C1:

C0 C1 Operaţia
0 0 Adunare
0 1 Scădere
Deplasare
1 1 dreapta cu
un bit

Dispozitivul aritmetic cuprinde o Unitate de execuţie şi o Unitate de comandă


implementată ca un automat secvenţial sincron cu memorie PROM prin metoda adresării
perechilor de intrare–stare
Se utilizează următoarele semnale de dialog:
AD : comanda de adunare binară;
INA : semnal care anunţă dispozitivul de comandă (UC) că registrul A s-a
încărcat cu informaţia dorită ;
INB : semnal prin care UC este anunţată că în registrul B s-a înscris informaţia
dorită;
139

(B)=0 : contorul care indică numărul de deplasări spre dreapta are valoarea „0”;
DDRA : comanda de deplasare dreapta a conţinutului registrului A;
PmREZA: comanda de înscriere în registrul a rezultatului operaţiei efectuate de
sumator;
C0,C1: cifrele binare ale codului care specifică tipul operaţiei realizate de
dispozitivul aritmetic;
ACK: semnalul prin care utilizatorul anunţă dispozitivul aritmetic că poate realiza
o nouă operaţie;
+1B: comandă de incrementare a conţinutului registrului B;
-1B : comandă de decrementare a conţinutului registrului B;
PmOP1A: comandă înscrierea OP1 în registrul A;
PmOP2B: comandă înscrierea OP2 în registrul B;
PmCB: comandă înscrierea contorului de deplasare în registrul B;
PmOP2NB: comandă înscrierea în registrul B a operandului 2 negat ( OP2 );
RDY: dispozitivul de comandă (UC) anunţă utilizatorul că rezultatul operaţiei
efectuate este disponibil în registrul A;

Operaţia de deplasare spre dreapta este asociată cu decrementarea contorului de


deplasare şi este finalizată când valoarea contorului, (B)=0, este „0” logic.
Structura bloc a dispozitivului aritmetic are următoarea configuraţie:

PmREZA
DATE:
PMOP1A
operanzi sau
contor de PmCB
deplasare Unitate Unitate
PmOP2B
de PmOP 2NB de
utilizator
+1B
executie executie C0
-1B
DDRA C1
UE UC
INA utilizator
ACK
INB
(B)=0 RDY

Rezolvare:

Unitatea de execuţie:

Registrul A este implementat cu un registru de deplasare SN7495 şi care este


încărcat prin intermediul porţilor logice de tip trei stări:
140

Pentru a realiza funcţiile necesare, registrul B este implementat cu un circuit


numărător reversibil SN74193.
141

Operaţia de însumare binară este implementată cu un circuit sumator SN7483.

Funcţionarea Unităţii de comandă (UC) a dispozitivului aritmetic, utilizează


semnalele de dialog enunţate anterior şi este descris prin organigrama:
142

Q3Q2Q1Q 0
0000
y0

0
ACK

1
0110
y6
0001
y1

0 1
C0
PmOP1A

0111 1010
0 y7 y10
INA

1
0010
y2 PmOP2B PmOP2NB

1 0 0 0
C1 INB INB

1 1
1000 1011
0011
y3 y8 y11

PmCB AD +1B

0 1001
INB y9

y4
0100 PmREZA

1100

DDRA y12

-1B

0101 RDY
y5

1 0 1 0
Br ACK
143

Codificarea variabilelor de intrare a automatului sincron:

Pentru ieşiri
TEST folosim notaţiile:
Intrări
A2 A1 A0
INA 0 0 0 PmOP1A : Z0
INB 0 0 1 PmOP2B : Z1
BR 0 1 0 PmOP2NB : Z2
C0 0 1 1 PmCB : Z3
C1 1 0 0 DDRA (-1B) : Z4
ACK 1 0 1 +1B : Z5
Salt AD : Z6
necondiţionat 1 1 1 RDY : Z7
SN PmREZA : Z8

Harta memoriei PROM

Stare TEST
LINK TRUE LINK FALSE Z8 Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z1 Z 0
prezentă A0 A1 A2

Q3 Q2 Q1 Q0 D19 D18 D17 D16 D15 D14D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0


0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0
0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0
0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0
1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0
1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0
1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0
1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0

Se obţine schema logică a unităţii de comandă a dispozitivului aritmetic proiectat.


144

3
DEC
4
23
5

6
2
2
7
SN74154
8 PROM
21
9

10
20
11

12

13

14

15

INSTRUCTIUNE
TEST LT LF
Z 7 Z 6 Z5 Z4 Z 3 Z2 Z1 Z0
D 18 D17 D 16 D15 D14 D13 D 12 D11 D10 D 9 D8 D7 D6 D 5 D 4 D 3 D2 D1 D 0

INA 0

INB 1 4B 3B 2B 1B 4A 3A 2A 1A

BR 2 MUX Z
C0 3 MUX SN74257 spre U.E.
C1 4 SN74251 4Y 3Y 2Y 1Y

ANK 5

SN ,,1” 6

Aplicaţii propuse:

1. Să se implementeze ca automat secvenţial sincron un controler pentru robot


industrial. Poziţia braţului mecanic în cele trei axe de coordonate x,y,z este specificată
prin câte 6 biţi pentru fiecare axă, secvenţele poziţiei braţelor fiind memorate într-o
memorie PROM.
Braţul poate executa şase secvenţe, fiecare fiind selectată de operator şi fiecăreia
fiindu-i alocate câte 64 de adrese de memorie.
O secvenţă cuprinde maximum 64 de poziţii, prima secvență fiind memorată la
adresa 0, iar celelalte secvențe în continuare, la adrese multiplu de 64. Activarea sau
oprirea unei secvenţe de mişcare a braţului se realizează şi printr-o comandă start-stop a
operatorului.
Schema bloc a dispozitivului:
145

VCC

Bloc selectie START


a pasilor din
secventa STOP
PROM

Z Y X
1
Dispozitiv 2
Bloc selectie 3
de
secventa 4
comanda
CN/ A CN/A CN/A 5
6

CN/A - creator numeric analogic


UE - unitate de executie
UE

2. Să se realizeze un circuit secvenţial sincron care să genereze impulsurile de


comandă la un motor pas cu pas cu 4 faze: x,y,z,w.

Cronogramă

1 2 3 4 5 6 7 8 9 10 11
impulsuri
comanda

3. Să se realizeze comanda deplasării unui pod rulant implementat ca automat


secvenţial sincron ştiind că:
a) Există 3 comenzi manuale: pornit/oprit, deplasare dreapta şi deplasare stânga.
b) Comanda pornit/oprit porneşte sau opreşte deplasarea podului rulant indiferent
de poziţia în care se află
c) In timpul unei deplasări odată începute nu se mai poate schimba sensul
deplasării numai după comanda oprit.
d) Se exclud comenzi simultane ale operatorului
e) Semnalele contactoarelor de la extremităţile cursei, S0 pentru extrema dreaptă
şi S1 pentru extrema stângă întrerup deplasarea podului, care poate fi repornit prin
acţionarea comenzii pornit însoţită cu a celei de deplasare în sens opus.

4. Să se proiecteze un dispozitiv de comandă a intrării unor vagonete într-o


galerie, închisă printr-o poartă. Se consideră că atunci când vagonetul ajunge la intrare,
sezizorul S0 comandă prin semnalul D0 deschiderea porţii galeriei şi vagonetul poate să
treacă atunci când limitatorul L0 indică deschiderea completă a uşii.
După ce un vagonet a intrat în galerie, sesizorul L1 comandă închiderea porţii
galeriei, dacă sesizorul L0 nu a detectat existenţa unui alt vagonet la intrare.
146

L0

VAGONET

S0 L1

5. Să se realizeze comanda unui automat de cafea care să funcţioneze astfel:


a) Automatul poate furniza „cafea”, „cacao”, cu opţiunile „zahăr+”, „zahăr-”,
„cu lapte”;
b) Preţul unei livrări este 7000 lei în monede de 5000 lei şi monede de 1000 lei;
c) Automatul sesizează prin intermediul unor fotocelule dacă moneda este de
5000 lei, F0, sau de 1000 lei, F1
d) Selectarea cererii de către client se face prin acţionarea comenzilor „zahăr+”
sau „zahăr-” sau/şi „lapte”, însoţită de comenzile „cafea” sau „cacao”
e) După detectare sumei necesare cumpărării unui pahar de „cafea” sau „cacao”,
se aşteaptă comanda, maximum 120 secunde, după care se livrează produsul, sau
procesul se reiniţializează şi se reia, aşteptând noi comenzi;
f) Dacă se introduc accidental două monezi de 5000 lei se livrează produsul ,
dar nu se oferă rest;
g) Înainte de a se face comanda de către client se introduc monezile
corespunzătoare preţului
6. Se va realiza un dispozitiv de comandă pentru tăierea unor buşteni la
dimensiuni prestabilite.
Funcţionarea dispozitivului este determinată de următoarele condiţii:
a) Operatorul poate să selecteze trei lungimi distincte de tăiere: 5m, L0,
10m, L1, 15m, L2;
b) După ce buşteanul este aşezat pe banda transportoare, şi a fost
selectată lungimea, se dă comanda PORNIT/OPRIT;
c) Banda transportoare avansează până când buşteanul se încadrează în
dispozitiv, şi această stare este sesizată de fotocelula F0;
d) Se dă comanda de tăiere, T, atâta timp cât contactul C este deschis
(semnalează sfârşitul operaţiei de tăiere)
e) După ce buşteanul este tăiat, se aşteaptă o nouă selecţie a lungimii de
tăiere şi banda avansează automat;
f) Comanda OPRIT poate fi dată în orice moment şi acţionează atât
procesul de tăiere cât şi avansul benzii transportoare;
g) O comandă de repornire reia procedeul din stadiul în care a fost oprit.

7. Să se proiecteze un automat sincron de alimentare a unei benzi rulante cu


pachete paralelipipedice de aceeaşi dimensiune situate într-o magazie deasupra benzii
transportoare.
147

magazie

pachete

L O
a) După ce se comandă pornirea benzii de operator, contactorul O va sesiza dacă
există un pachet pe bandă; dacă nu, se comandă deschiderea sertarului S, pachetul
va fi situat pe bandă, contactorul O sesizează existenţa pachetului, se închide
sertarul S şi porneşte banda rulantă;
b) Când este sesizată apariţia pachetului de limitatorul L, se deschide sertarul S şi
procedeul continuă;
c) Dacă după 60 secunde contactorul O nu sesizează un pachet, banda rulantă se
opreşte automat;
d) Comanda OPRIT a operatorului are ca efect închiderea sertarului S şi oprirea
benzii rulante.

8. Să se înregistreze într-o memorie ROM parametrii unei sudări automate,


intensitatea curentului de sudare I, tensiunea U şi viteza căruciorului V şi să utilizeze
secvenţa memorată la reproducerea sudurii.
Pentru fiecare parametru sunt alocaţi 8 biţi de date, comanda parametrilor
realizându-se prin intermediul convertoarelor numeric analogic.
Începutul şi sfârşitul unui proces de sudare este înregistrat în bitul de rang 228 prin
„0” respectiv „1” iar numărul sudurii în câmpul format din biţii 224-227. Pornirea, oprirea
şi reproducerea sudării este iniţiată de operator, unei suduri fiindu-i alocate 256 adrese de
memorie.

UE
unitate de executie

P/O
Dispozitiv
CA/N CN/A CA/N CN/A CA/N CN/A
comanda inregistrare/
redare
8 8 8 insotita de
un numar :
I/S Nr. sudurii I U V 0÷15

scriere
citire
memeorie ROM
adresa
148

9.Sǎ se realizeze printr-un automat secvenţial sincron un sistem de comandǎ a


unui lift care deserveşte accesul la 3 nivele.
Schema bloc şi modul de funcţionare ale liftului are urmǎtoarele caracteristici:

Senzor nivel (SNJ)

SN 2 S2
A2
N Si – sus
Afisaj direc ție de deplasare lift
J i - jos
J2

Afișează nivelul la care se află liftul

SN 1
Senzor u șă lift (SU)

0 E2
0 E1 lift
0 E0
S1

N
A1
J1
SN0
Senzor podea SP

S0

N
A0
J0

Senzor intrare casa liftului (SIi)

Releu blocare / deblocare intrare casa liftului


1. Situarea liftului la un anumit nivel, atât în timpul deplasǎrii cât şi în repaus este
sesizatǎ de senzorii de nivel SNj (j = 0,1,2) nivelul fiind afişat de dispozitivul da afişaj N.
2. Apelarea liftului se poate realiza din interiorul cabinei liftului prin
intermediulselectoarelor Ei sau din exterior prin intermediul selectoarelor Ai al fiecǎrui
nivel (i = 0,1,2).
3. Senzorul uşii SU indicǎ dacǎ uşa este închisǎ sau deschisǎ.
4. Senzorul din podeaua liftului SP, sesizeazǎ prezenţa persoanelor din lift.
5. Oprirea deplasǎrii liftului se produce când acesta ajunge la nivelul apelat.
6. In funcţie de sensul de deplasare al liftului se aprind becurile Si sau Ij.
7.Pe durata deplasǎrii liftului uşa casei liftului este blocatǎ, iar în starea de repaus,
deblocatǎ.
8. Se apeleazǎ liftul din exterior, în caz de acţionǎri simultane, are prioritate
nivelul cel mai de jos.
149

10. Sǎ se realizeze un sistem automat de găurire a unor piese mecanice identice


transportate de o bandǎ rulantǎ.

LIMy 1

LIMz 1

PORNIT

OPRIT
PIESA
LIMz 2 LIMy 2

LIMx 1 LIMx 2
Bandă
transportoare

Piesa mecanicǎ este poziţionatǎ pe banda rulantǎ şi se acţioneazǎ comutatorul


Pornit. Ca urmare banda rulantǎ deplaseazǎ piesa pânǎ în momentul sesizǎrii acesteia de
senzorul LIMX2 . Sistemul de gǎurire aflat în stare de repaus şi poziţionat de senzorii
LIMY1 şi LIMZ1 se va deplasa pe axa y pânǎ la limitatorul LIMY2, se produce gǎurirea pe
axa z pânǎ la limitatorul LIMZ2, se revine în starea de repaus (LIMY1, LIMZ1), banda este
repornitǎ şi sesizorul LIMX1 va opri apoi banda pentru aşezarea unei noi piese pe bandǎ
pe durata a 2 minute, dupǎ care banda se deplaseazǎ din nou.
Obs. Comanda OPRIT este asincronǎ şi are ca efect în caz de incidente oprirea
benzii rulante şi a operaţiei de gǎurire.

24. Utilizarea limbajului VHDL la descrierea şi simularea comportării


sistemelor digitale
Limbajul VHDL este un limbaj standardizat şi permite descrierea hardware-ului
de la nivelul arhitectural cel mai înalt, până la nivelul de poartă logică, permiţând
simularea unor structuri digitale la diferite nivele.
Definirea diferitelor blocuri constructive utilizează următorii termeni ai limbajului
VHDL:
Entitate: - Bloc constructiv definit prin entităţi de diferite nivele.
Arhitectură: - Descrie structura şi funcţionarea unei entităţi.
Pachet: - Grup de tipuri de date şi programe utilizate în proiectare.
Driver: - Denumirea sursei de semnal.
Configuraţie: - Specifică descriere funcţională folosită pentru o entitate şi
corespondenţa entitate-arhitectură cu componentele utilizate.
Atribute: - Date ataşate sau predefinite obiectelor VHDL.
150

Proces: - Defineşte unitatea de execuţie în VHDL operaţiile de simulare efectuate


fiind compuse din procese.
Generic: - Parametrul care transmite o informaţie pentru o entitate.
Un sistem digital descris în limbajul VHDL este văzut ca şi o entitate, al cărei
mod de comportare este descris prin arhitectura asociată entităţii.
Comportamentul unui sistem este descris prin operaţiile realizate, denumite
procese, iar caile de transmitere a valorilor prin sistem sunt denumite semnale.
O entitate cuprinde declaraţia entităţii, care defineşte intrările şi ieşirile
dispozitivului şi corpul arhitectural, care defineşte sistemul discret utilizat la modelarea
dispozitivului.
Modelul temporal introduce elementul „timp” , timpul simulării, un ciclu de
simulare parcurgând etape de transmitere a valorilor pe calea de date şi etapa de recepţie
a informaţiei de către procese şi funcţionarea acestora până când vor fi suspendate. Dacă
valoarea atribuită unui semnal este diferită de cea precedentă s-a produs un eveniment,
iar dacă noua valoare este aceeaşi cu cea precedentă a avut loc o tranzaţie.
Modelul structural reflectă descompunerea modelului unui dispozitiv digital în
secţiuni cu diferite funcţii, două sau mai multe subsisteme comunicând prin căi de date
numite porturi.
Modelul comportamental poate interacţiona cu cel structural prin introducerea
unor funcţii de conversie de tip în calea de date sau utilizarea semnalelor multisursă în
care sunt definite mai multe drivere şi o funcţie de decizie care preia valorile emise de
drivere şi generează o valoare unică.
In limbajul VHDL, se numeşte obiect, tot ce poate primi o valoare şi se clasifică
în: constante, variabile şi semnale.
Constantele sunt obiecte care nu îşi pot schimba valoarea şi reprezintă nume
atribuite unor valori de un anumit tip.
Sintaxa declaraţiei de constantă este următoarea:
CONSTANT nume_constantă:tip_constantă(: =valoare);
CONSTANT tun_size:integer: =4;
Variabilele sunt obiecte a căror valoare poate fi schimbată în cadrul unui
subprogram şi declaraţia variabilelor este de forma:
VARIABLE nume_variabilă : tip_variabilă (:= valoare iniţială);
VARIABLE a,b,c : integer : = 0;
Semnalele reprezintă mijloace de comunicare a datelor între entităţi şi au
declaraţia de forma:
SIGNAL nume_semnal : tip semnal (: =valoare_iniţială);
SIGNAL ground : std_logic :=’1’;
Limbajul VHDL are predefinite o multitudine de tipuri de date dintre care
amintim tipul : bit, Boolean, integer, real, enumeration, caracter, bit vector, std_logic,
std_logic vector, matrice etc.
Sintaxa declaraţiei de tip este:
TYPE nume_tip.is specificator_tip
Operatorii predefiniţi în limbajul VHDL au simbolurile următoare:
151

adunare +
scadere - egal =
inmultire * diferit /=
aritmetica impartire / operatori mai mic <
binara modulo mod relationali mai mare
>
rest rem mai mic sau egal <=
exponent ** mai mare sau egal >=
valoare absoluta abs

SI logic and
SAU logic or
logica SI-NU logic nand
binara SAU-NU logic nor
SAU-EXCLUSIVE logic xor
complementare not
concatenare &

Pentru a exemplifica descrierea comportamentului unui circuit combinaţional


utilizând limbajul VHDL, vom detalia câteva din specificaţiile folosite:
PROCESS defineşte comportamentul procesului unde este activ şi are sintaxa:
etichetă proces:
PROCESS
declaraţii
BEGIN
specificaţii
END PROCESS
WAIT ON listă_semnale, indică semnalele care pot activa procesul
WAIT UNTIL condiţie, specifică condiţiile care, dacă devin adevărate,
reactivează procesul
WAIT FOR expresie_timp, indică timpul după care procesul se va activa automat
IF decide execuţia unor specificaţii, funcţie de valoarea TRUE sau FALSE a unei
expresii logice şi are reprezentările:
IF condiţie THEN IF condiţie THEN IF condiţie_1 THEN
a. specificaţii b. specificaţii c. specificaţii
END IF; ELSE
...

specificaţii ELSIF condiţie_n THEN


END IF; specificaţii
ELSE
specificaţii
END IF;
CASE selectează execuţia unor specificaţii, funcţie de valoarea unei expresii date
şi este de forma:
CASE expresie IS
WHEN valoare =>
specificaţii
END CASE
LOOP repetă execuţia unor specificaţii realizând o buclă simplă şi are sintaxa:
152

etichetă_ buclă: LOOP


specificaţii
END LOOP etichetă_buclă;

FOR determină ieşirea din buclă după un număr de iteraţii, şi este de forma:
etichetă_buclă:
FOR variabilă_index IN domeniu_discret LOOP
Specificaţii
END LOOP etichetă_buclă;
WHILE determină ieşirea din buclă când condiţia booleană testată este falsă, iar
sintaxa este următoarea:
WHILE condiţii LOOP
specificaţii
END LOOP etichetă_buclă;
NEXT controlează trecerea la următoarea iteraţie din buclă, şi are forma:
NEXT etichetă_buclă WHEN condiţie
EXIT are ca efect ieşirea din buclă, forţat sau la realizarea unor condiţii, şi are
sintaxa:
EXIT etichetă_buclă WHEN condiţie
Aplicaţie
Se dă circuitul logic combinaţional reprezentat pe o diagramă V-K:

BIBLIOGRAFIE

1. TEXAS INSTRUMENTS INCORPORATED – TTL DATA B001C – SECOND


EDITION

2. Gh. TOACSE, D ICULA – ELECTRONICA DIGITALA, TEORA 1996

3. JOHN F WAKERLY – DIGITAL DEŞIGN, PRINCIPLES AND PRACTICES,


PRENTICE HALL – 1990

4. HERBERT TAUB – CIRCUITS AND MICROPORCESORS – MCGRAW HILL BOOK


– 1982

5. ZVI KOHAVI – SWITCHING AND FINITE AUTOMATA THEORY – MC GRAW


HILL BOOK – 1970

6. CRISTOPHER R. CLARE – DEŞIGN LOGIC SYSTEMS UŞING STATE MACHINES


– MC GRAW HILL BOOK – 1972

7. V. POP – CIRCUITE DE COMUTARE APLICATA IN CALCULATOARE


ELECTRONICE – 1976
153

8. FREDERICK J HILL, G R. PETERSON – CALCULATOARE NUMERICE,


HARDWARE, STRUCTURA ŞI PROIECTARE – ED. TEHNICA – 1978

9. SANDA MAICAN – ŞISTEME NUMERICE ŞI ŞISTEME DIGITALE – EDITURA


TEHNICA – 1980

10. GHEORGHE STEFAN – CIRCUITE ŞI ŞISTEME DIGITALE – ED. TEHNICA – 2000

11. A.S. TANENBAUM – STRUCTURED COMPUTER ORGANISATION, PRENTICE


HALL – 1990

12. JAH M. RABAEY – DIGITAL INTEGRATED CIRCUITS, A DEŞIGN PERSPECTIVE,


PRENTICE HALL - 1996

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