P. 1
Logica digitala (ASDN)

Logica digitala (ASDN)

4.63

|Views: 7,093|Likes:
Published by Amelia

More info:

Published by: Amelia on Jun 21, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

06/15/2013

pdf

text

original

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
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
2
• 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)
3
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.
4

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.
Dispozitivele programabile cu LEAPER-10 sunt următoarele: EPROM,
EEPROM, Flash EPROM, BPROM, Nonvolatile RAM, Serial EEPROM, Micro Chip
PLD, PLA, GAL, PPL, EPLD.
5
Fig. 3 Programatorul LEAPER-10
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.
6
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,
( ) ( ) A B C A B C · g g g g
A3. Operaţia SAU este comutativă
7
oricare ar fi A,B din B, A B B A + · +
A4. Operaţia ŞI este comutativa
oricare ar fi A,B din B A B B A · g g
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 0 A 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 1 A A · g
A7. Operaţia SAU este distributivă faţă de operaţia ŞI
oricare ar fi A,B,C din B
( ) ( ) ( ) A B C A B A C + · + + g g
A8. Operaţia ŞI este distributivă faţă de operaţia SAU
oricare ar fi A,B,C din B
( ) A B C A B A C + · + g g g
A9. Orice element A din mulţimea B are un complement, notat
A
astfel încât
0 A A · g
şi
1 A A + ·
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 A A A · g
2. Elemente absorbante pentru operaţiile SAU, ŞI
Teorema 2.1 A+1=1
Teorema 2.2 0 0 A · g
3. Legile absorbţiei
Teorema 3.1 A A B A + · g
Teorema 3.2
( ) A A B A + · g
Teorema 3.3
A A B A B + · + g
Teorema 3.4 ( ) A A B A B + · g g
Teorema 3.5
A B A B A + · g g
Teorema 3.6 ( ) ( ) A B A B A + + · g
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 A B + · g
Teorema 6.2
A B A B · + g
Î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,
8
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(X
0
,X
1
,.......,X
n-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 ( X
0
,X
1
,......X
n-1
) este prin urmare mulţimea
X={0,1}
n
=
0 1 1 0 1 1
{( , ,..., ) | {0,1}, {0,1},..., {0,1}}
n n
X X X X X X

e e e
ale cărei elemente
sunt n de 1 şi 0
0 1 1
{ , ,..., }
n
X X X

Exemple de funcţii de comutaţii:
0 1 2 3 0 1 2 0 1 2 3
( , , , ) ( )
( , , )
f X X X X X X X X X X X
f A B C A B C A B C A B C
· + +
· + +
g g g g
g g g g g g
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 A B C D A B C D A B C D A B C D · + + + g g g g g g g g g g g g
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ă: ( ) ( ) A B C D A B C D A B C D A B C D A A B C D B B A C D + + + · + + + g g g g g g g g g g g g g g g g g g
1 1 ( ) ( ) B C D A C D B C D A C D D D B C A C · + · + · + + · g g g g g g g g g g g g g
1 ( ) ( ) ( ) 1 ( ) B C A C B C A C C C A B A B A B · + · + · + + · + · + g g g g g g g
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:
1 0 1 2 0 1 2 0 1 2 1 2
2
3
4 0 1 2 3 3 2 1 0 3 2 1 0 3 2 1 0
3 2 1 0
5 0 1 1 0 1 0 1 0
( , , )
( , ) ( ) ( )
( , ) ( ) ( )
( , , , )
( , )
F X X X X X X X X X X X
F A B A A B A A B
F A B A B A B A
F X X X X X X X X X X X X X X X X
X X X X
F X X X X X X X X
· + +
· + + +
· + + +
· + + +
+
· + +
g g g g g
g g
g
g g g g g g g g g
g g g
g g g
3. Să se aplice teoremele DE MORGAN funcţiilor:
9
6 0 1 2 3 4 0 1 2 3 4
7 0 1 2 3 4 0 1 3 4 5
8
( , , , , )
( , , , , )
( , , , , , )
F X X X X X X X X X X
F X X X X X X X X X X
F A B C D E F A B C D E B F
· + +
· +
· + +
g g
g g g
g g g g
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:
0 0 0 1 n-1
1 1 0 1 n-1
m-1 m-1 0 1 n-1
Z =f (X ,X ,....,X )
Z =f (X ,X ,....,X )
:
:
Z =f (X ,X ,....,X )
Circuit de
comutatie
combinational
X
X
X
Z
Z
Z
0
1
0
1
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
0 1 1
...
n
X X X

şi apoi toate valorile funcţiei pentru
fiecare combinaţie binară, atribuită celor n variabile ale func iei. ț
Exemplu:
10
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 0
5 1 0 1 1
7 1 1 1 0
6 1 1 0 0
Fig 2.2 Reprezentarea funcţiei f(X
0
, X
1
, X
2
) prin tabel
Coloana E
z
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 X
0
fiind cel mai puţin
semnificativ.
2.2 Sumă logică de mintermi
Un minterm este o funcţie elementară de n variabile notată
n
i
m 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-
uplurile, ia aceeaşi valoare ca şi funcţia
n
i
m .
E
z
X
2
X
1
X
0
3
0
m
3
1
m
3
2
m
3
3
m
3
4
m
3
5
m
3
6
m
3
7
m
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
3
2
m are expresia
11
3
2
m
0 1 2 2 1 0
( , , ) X X X X X X · g g ,
2 1 0
X X X · g g 1 doar dacă X
2
= 0, X
1
=1 şi X
0
=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
0, 1 1
( ..... )
n
n i
i K
f X X X m

e
·
¿
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ă:
3
5
3
3
3
2 2 1 0
) , , ( m m m X X X f + + · ;
utilizând o notaţie simplificată în care se păstrează doar indicii inferiori se poate scrie:
¿
· ) 5 , 3 , 2 ( ) , , (
2 1 0
X X X f
Asociind fiecărei funcţii minterm, expresia logică corespunzătoare, rezultă:
0 1 2 2 1 0 2 1 0 2 1 0
( , , ) f X X X X X X X X X X X X · + + g g g g g g 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
n
i
n
i
m M · 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
aceeasi valoare ca si
n
i
M .
E
z
X
2
X
1
X
0
3
0
M
3
1
M
3
2
M
3
3
M
3
4
M
3
5
M
3
6
M
3
7
M
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
Funcţia maxterm
3
3
M de exemplu are expresia
0 1 2
3
3
X X X M + + · ;
0 1 2
X X X + + =0 pentru X
2
= 0, X
1
=1 şi X
0
=1, pentru celelalte atribuiri având valoarea
12
„1”. O funcţie de comutaţie de n variabile poate fi reprezentată printr-un produs de
maxtermi:
]

=
0
2 , 1
) ..... (
K i
n
i n
M X X X f
unde
0
K
este mulţimea indicilor echivalentului zecimal al
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:

= ) , , , , ( ) , (
3
7
3
6
3
4
3
1
3
0 2 1 , 0
M M M M M X X X f
sau intr-o forma simplificata,

= ) 7 , 6 , 4 , 1 , 0 ( ) , (
2 1 , 0
X X X f
Înlocuind expresiile logice ale funcţiilor maxtermi se obţine:
0, 1 2 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0
( , ) ( ) ( ) ( ) ( ) ( ) f X X X X X X X X X X X X X X X X X X = + + + + + + + + + + g g g g
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 2
n
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:
0 1 3 2
4 5 7 6
X1
X
0
X
2
0 0 1 1
0 1 0 0
00 01 11 10
0
1
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).
13
Exemplu:
E
z
X
2
X
1
X
0
f(X
0
, X
1
, X
2
)
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 f
1
(X
0
,X
1
,X
2
)=
0 1 2 0 2 1 0 1
( ) X X X X X X X X + + + g g g g
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ă:
0 1 2 0 2 1 0 1 0 1 2 0 2 0 1 0 1
( ) X X X X X X X X X X X X X X X X X + + + · + + + · g g g g g g g g g
0 1 2 0 2 1 1 0 1 2 2 0 1 2 2
( ) ( ) ( ) X X X X X X X X X X X X X X X + + + + + + · g g g g g g g g
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
X X X X X X X X X X X X X X X X X X + + + + + + g g g g g g g g g g g g
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
X X X X X X X X X X X X X X X + · + + + g g g g g g g g g g - formă canonică
disjunctivă (f.c.d.)
Reprezentarea funcţiei prin tabel de adevăr:
Ez X
2
X
1
X
0
f(X
0
, X
1
, X
2
)
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
14
6 1 1 0 0
7 1 1 1 1
Reprezentarea funcţiei prin diagrama V-K:
0 1 3 2
4 5 7 6
X1
X
0
X
2
0 1 1 0
0 1 1 0
00 01 11 10
0
1
Reprezentarea funcţiei în formă canonică conjunctivă:
1 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
( , , ) ( ) ( ) ( ) ( ) f X X X X X X X X X X X X X X X · + + + + + + + + g g g
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.
2 0 1 2 3 0 1 2 0 1 2 3 0 1 2 3
( , , , ) ( ) f X X X X X X X X X X X X X X X · + + + g g g g g g g
2.
4 0 1 2 3
( , , , ) : f X X X X
Ez X
3
X
2
X
1
X
0
f(X
0
, X
1
, X
2,
X
3
)
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
15
3.
3 0 1 2 3
( , , , ) f X X X X
:
0 1 3 2
4 5 7 6
12 13 15
8 9 11 10
0 1 0 0
0 x 0 1
0 0 1 1
0 0 x 1
X1
X
2
X
0
00 01 11 10
00
01
11
10
X
3
14
4.
5 0 1 2 3 0 1 2 0 1 2 3
( , , , ) ( ) ( ) f X X X X X X X X X X X · + + + + + g
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 T
1
, acoperă un termen produs T
2
notat T
1
.
T
2
dacă T
2
conţine pe
fiecare din variabilele care apar in T
1
în aceeaşi formă ( complementate sau necomplementate ).
Exemplu :
X Y X Y Z . g g g
Dacă un termen produs T
1
acoperă un termen produs T
2
atunci T
2
implică pe T
1
, deoarece când
T
2
ia valoarea ,, 1 ” T
1
care conţine o parte din variabilele din T
2
, ia şi el valoarea „1” . În
consecinţa dacă T
1
.
T
2
atunci T
1
+ T
2
= T
1 .
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 2
n
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
16
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:
0 1 3 2
4 5 7 6
12 13 15 14
8 9 11 10
1 0 0 1
0 1 x x
0 1 1 0
1 0 0 1
X1
X
2
X
0
X
3
00 01 11 10
00
01
11
10
f
minimă
=
X 0
g
X 2
+ X
0

g
X
2
= X
0

e
X
2
(funcţia coincidentă)
1
1 1
X
2
X3
X0
000 001 011 010
0
0
0
1
11
10
X
4
1
100 101 111 110
X
1
0 0
0
1 1
0 0
0 0
0 0
0 0
1 1 0 0
0 0
0 0
0
0
1
1 0 1
1
f
minimă
=
0 1 1 4
X X X X + g g
Observaţie importantă: obţinerea expresiilor logice a implicanţilor primi realizaţi
prin gruparea a 2
n
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
17
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. f
1
(
0 1 2 3
, , , X X X X
) =
X 0
g
X 1
g
X 2
g
X 3
+
X 0
g
X
1
g
X 2
g
X 3
+
X 0
g
X 1
g
X 2
g
X
3
+ +
X 0
g
X
1
g
X 2

g
X
3
+ X
0
g
X 1
g
X
2

g
X 3
+ X
0

g
X
1

g
X
2

g
X
3
+X
0

g
X
1

g
X
2

g
X 3
+ X
0
g
X 1

g
X
2
g
X
3
2. f
2
(
0 1 2 3
, , , X X X X
= ∑ (0,1,4,5,6,7,13,15) şi N (3,10)
3. f
3
(
0 1 2 3
, , , X X X X
) = ∑ (0,2,4,5,10,13,15)
4. f
4
(
0 1 2 3
, , , X X X X
) = ∑ (0,1,2,3,4,6,8,9,10,11,12,14)
5. f
5
(
0 1 2 3
, , , X X X X
) = ∑ (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. f
6
(
0 1 2 3 4 5
, , , , , X X X X X X
)=∑(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. f
7
(
0 1 2 3 4 5
, , , , , X X X X X X
) = ∑ (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. f
8
(
0 1 2
, , X X X
) =
X 0
g
X 1
g
X
2
+ X
1
g
X
2
18
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
b
a
b
a
b
a b
a b
a b
+
,,SI’’
,,SAU’’
SAU Exclusiv
a
b
a
b
a a
a b
a b +
,,SI - NU’’
,,SAU - NU’’
,,NU’’
a
b
c
d
a b c d +
,,SI - SAU - NU’’
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
19
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.

d
c
b
a
Fig. 4.1 Circuit logic combinaţional
Aplicând metoda menţionată, rezultă:

d
c
b
a
a
a b
c d
a b + ( ( ) ) c 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 :
2
0 1 2 0 1 1 2
f X X X X X X X X · × × + × × + ×
0 1 3 2
4 5 7 6
X1
X
0
X
2
0 0 1 0
0 0 1 1
00 01 11 10
0
1
min 0 1 1 2
f X X X X · × + ×
0 1 1 2 0 1 1 2 0 1 1 2
X X X X X X X X X X X X
×
× + × · × + × · × × ×
Rezultă următoarea schemă logică a circuitului combinaţional:
20
X
X
X
X
0
1
2
3
X X X X
3 2 1 0
= X X X X
3 2 1 0
+
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
b
a
b
a
b
1kΩ
+5V
a b a b +
a b
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
21
„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 (T
11
) 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, R
n,
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
I
A
E
A I E
0 0 0
0 1 1
1 0 înaltă impedanţă
1 1 înaltă impedanţă
Circuit 4126 – 4 porţi neinversoare trei stări

I
A
E
A I E
0 0 înaltă impedanţă
0 1 înaltă impedanţă
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
22
î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.
D D D D O O O O
0
3 3 2 2 1 1 0
DIEN
D
i
– date transmise pe magistrală
O
i
– 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

(
0 1 2
, , X X X
) = Σ(2,3,4,5)
Minimizăm negata funcţiei cu diagrama V-K, grupând compartimentele pentru
care funcţia ia valoarea „0”:
0 1 3 2
4 5 7 6
X1
X
0
X
2
0 0 1 1
1 1 0 0
00 01 11 10
0
1
min 1 2 1 2
f X X X X · × + ×
complementăm:
min min 1 2 1 2
f f X X X X · · × + ×
şi implementând cu porţi ŞI-SAU-NU se obţine schema logică:

23

X
X
X
X
1
2
X X X X
2 1 2 1
1
2
+
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ă:
1 0 1 2 3
( , , , ) (2, 3,8, 9,12,13) f X X X X ·
¿
Sinteza funcţiei cu porţi ŞI-NU:
0 1 3 2
4 5 7 6
12 13 15
8 9 11 10
0 0 1 1
0 0 0 0
1 1 0 0
1 1 0 0
X1
X
2
X
0
00 01 11 10
00
01
11
10
X
3
1min 1 2 3 1 3
f X X X X X · × × + ×
Schema logică cu porţi ŞI-NU:
1 2 3 1 3 1 2 3 1 3
X X X X X X X X X X × × + × · × × × ×
24
X
X
X
X
1
2
3
1
X
3
Dacă variabilele de la intrarea circuitului nu sunt disponibile în forma negată se
poate obţine următoarea implementare posibilă:
404
410
X
X
X
1
3
2
1 2
3 4
5 6
13
12
8
11
10
6
9
1
2
3
4
5
Sinteza funcţiei cu porţi ŞI-SAU-NU:
0 1 3 2
4 5 7 6
12 13 15
8 9 11 10
0 0 1 1
0 0 0 0
1 1 0 0
1 1 0 0
X1
X
2
X
0
00 01 11 10
00
01
11
10
X
3
14
1min 1 3 2 3 1 3
f X X X X X X · × + × + ×
Schema logică cu porţi ŞI-SAU-NU:

1min 1 3 2 3 1 3
f X X X X X X · × + × + ×
X
X
X
X
1
3
1
3
X
2
25
Nedispunând de variabile complementate, se poate obţine circuitul:
404
454
1
5 4
2 1
1
2
3
4
5
8
9
10
13
X
3
X
2
X
2 0 1 2 3
( , , , ) (0,1, 2, 3, 48, 9,10,11) f X X X X ·
¿
şi { } 5 N
3 0 1 2
( , , ) (0,1, 6, 7) f X X X ·
¿

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:
a
d c
b
1
10 9 8
6 5 4 3 2
11 12 13
Vcc
GND
14
7
f
e
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
26
• 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
g
B⊕A
g
C 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
g
B
g
C + A
g
B
g
C
+
A
g
B
g
C
+
A
g
B
g
C
27
0 1 3 2
4 5 7 6
B
A
C
0 1 0 1
1 0 1 0
00 01 11 10
0
1
Fig. 5.1 Reprezentarea pe diagrama V-K a funcţiei
f(A,B,C) – „tabla de şah”
A
g
B
g
C + A
g
B
g
C
+
A
g
B
g
C
+
A
g
B
g
C = A
g
(B
g
C +
B
g
C
) +
A
g
(B
g
C
+
B
g
C) =
= A
g
(
C B ⊕
) +
A
g
(B⊕C) = A ⊕ (B⊕C)
Schema logică :
A
C
B
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 2
n
intrări si n ieşiri. Fiecărei intrări îi corespunde un anumit cod binar de n cifre generat la ieşirea
circuitului.
Codificator
D
C D
D
C
C
0
1
0
1
2
n-1
n-1
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.
28
Codificator
D
C D
D C
0
1
0
1
2
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 D
0
prioritatea cea mai mică şi intrări D
2
prioritatea cea mai mare, iar codurile corespunzătoare intrărilor sunt de asemenea alese de
proiectant.
D
2
D
1
D
0
C
1
C
0
0
0
0
1
0
0
1
x
0
1
x
x
0 0 – nici o intrare activă
0 1 – codul intrării D
0
1 0 – codul intrării D
1
1 1 – codul intrării D
2
Practic acum sinteza circuitului codificator se reduce la sinteza cu porţi logice ŞI-NU a
funcţiilor C
0
(D
0
,D
1
,D
2
) , C
1
(D
0
,D
1
,D
2
)
0 1 3 2
4 5 7 6
D1
D
0
D
2
0 1 0 0
1 1 1 1
00 01 11 10
0
1
0 2 0 1 2 0 1
C D D D D D D · + · g g g
0 1 3 2
4 5 7 6
D1
D
0
D
2
0 0 1 1
1 1 1 1
00 01 11 10
0
1
1 1 2 1 2
C D D D D · + · g
C
D
D
D
1
0
0
2
1
C
29
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 2
n
ieşiri , din care la un moment dat una
singură este activă , cea corespunzătoare codului prezent în acel moment la intrări.
Decodificator
C
C
0
1
E
E
E
E
0
1
3
2
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
3
E
2
E
1
E
0
E
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
(C
0
,C
1
) ,
E 1
(C
0
,C
1
) ,
E
2
(C
0
,C
1
)
E 3
(C
0
,C
1
) se obţine schema logică a circuitului decodificator.
0 1 0
C C E · g
0 1 1
C C E · g
0 1 2
C C E · g
0 1 3
C C E · g
30
C
C
0
1
E
E
E
E
0
1
3
2
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(
0 1 2 3
, , , X X X X
) = ∑(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 D
0
,D
1
,D
2
intrarea D
0
având prioritatea cea mai mare iar intrarea D
2
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 :
DEC
442
A
D
C
B
2
2
2
2
0
1
2
3
9
8
7
6
5
4
3
2
1
0
31
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 2
n
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.
Starea ieşirii multiplexorului la un moment dat este
E=D
i
unde i este echivalentul zecimal al numărului binar
generat la intrările de selecţie (adresa)
Sinteza cu porţi SI-NU a unui circuit multiplexor se
realizează descriind funcţionarea circuitului prin tabel de
valori care cuprinde toate combinaţiile binare distincte
ale celor n intrări de selecţie si valoarea ieşirii
corespunzătoare fiecare combinaţii. Se va realiza apoi
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.
Tabelul de funcţionare a multiplexorului cu 2 intrări
de selecţie:

Fig. 6.2 Schema bloc a unui multiplexor cu 2
S
1
S
0
E
0
0
1
1
0
1
0
1
D
0
D
1
D
2
D
3
32
MUX E
D
D
D
D
S S S
2
1 0
2
1
0
2
n -1
2 2
n -1
0 1
n -1
MUX E
D
D
D
D
S S
3
1 0
2
1
0
2 2
0 1
intrări de selecţie
0 1 0 0 1 1 0 1 2 0 1 3
E S S D S S D S S D S S D · + + + g g g g g g g g
S
S
E
0
1
D
0
D
1
D
2
D
3
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 2
n
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 E
i
=I, unde
i este echivalentul zecimal al numărului binar generat la intrările de selecţie a
demultiplexorului.
DEMUX
E
2
0
E
0
1
I
E
S S S
0 1
n -1
n -1
2 2 2
1 n -1
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 2
n
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
cu 2 intrări de selecţie:
33
DEMUX
E
I
S S
1 0
2 2
0 1
E
E
E
3
2
1
0
S
1
S
0
E
3
E
2
E
1
E
0
0 0 0 0 0 I
0 1 0 0 I 0
1 0 0 I 0 0
1 1 I 0 0 0
Fig. 6.5 Schema bloc a circuitului demultiplexor cu 2 intrări de selecţie
Expresiile logice ale funcţiilor de ieşire sunt:
Schema logica cu porţi SI-NU:
S
S
I
0
1
E
E
E
E
2
1
0
3
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
34
0 0 1
1 0 1
2 0 1
3 0 1
E S S I
E S S I
E S S I
E S S I
·
·
·
·
g g
g g
g g
g g
MUX
D
D
S
0
1
0
2
0
DEMUX
E
2
0
E
0
1
I
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.
Y
Y
0
1
3
2
1
0
3
2
1
0
A
A
0
1
G
G
1
2
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
35
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:
0 1 2 0 1 2 0 1 2 0 1 0 2
( , , ) f X X X X X X X X X X X X X · × × + × × + × + ×
Se reprezintă funcţia pe diagrama V-K pentru a se obţine forma canonica disjunctiva
0 1 3 2
4 5 7 6
X1
X
0
X
2
1 0 0 1
0 1 1 1
00 01 11 10
0
1
2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0
) , , ( X X X X X X X X X X X X X X X X X X f + + + ·
(f.c.d.)
Schema logica a funcţiei
) , , (
2 1 0
X X X f
realizata cu decodificator 3 intrari/8 ieşiri negate
si porţi ŞI-NU este:
36
2
2
2
2
1
0
X
X
X
0
1
2
f ) ( x x x
1 2 0
, ,
DEC
E
E
E
E
E
E
E
E
7
6
5
4
3
2
1
0
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
x
0
x
1
x
2
x
0
x
1
x
2
Observaţie: se considera
0
X
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:
2 1 0 2 0 2 1 0 2 1 0
) , , ( X X X X X X X X X X X f + + ·
Reprezentarea funcţiei pe o diagrama V-K:
0 1 3 2
4 5 7 6
X1
X
0
X
2
0 1 1 0
1 0 1 0
00 01 11 10
0
1
2 1 0 2 1 0 2 1 0 2 1 0 2 1 0
) , , ( X X X X X X X X X X X X X X X f + + + · (f.c.d.) rel 7.1
Daca la intrările de selecţie (3 intrări) generam variabilele
0 2 1 0
, , , X X si X X

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:
37
+ + + + + ·
4 2 1 0 3 2 1 0 2 2 1 0 1 2 1 0 0 2 1 0
D X X X D X X X D X X X D X X X D X X X Z
7 2 1 0 6 2 1 0 5 2 1 0
D X X X D X X X D X X X ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + rel. 7.2
Ca relaţiile 7.1 si 7.2 sa fie identice trebuie ca
0
D
=”0”, " 0 "
2
= D ,
" 0 "
5
= D
,
" 0 "
6
= D
si " 1 "
1
= D ,
" 1 "
3
= D
, " 1 "
4
= D ,
" 1 "
7
= D
Rezulta schema logica realizata cu circuite multiplexor cu 3 intrări de selecţie a funcţiei f:
D0
D1
D
2
D
3
D
4
D
5
D6
D7
+ Vcc
1K
MUX
E
S
0
S
1
S
2
2
0
2
1
2
2
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:

= ) 14 , 10 , 8 , 5 , 1 , 0 ( ) , , , (
3 2 1 0
X X X X f
; reprezentam funcţia pe diagrama V-K:
2
X1
X
0 X
3
1 0
00 01 11 10
00
01
1
1 0
3
0
6
0 0
5
1 4
7
0
0 0 0
12
1
1
9
8
13 15 14
11 10
1
X
2
11
10
Condensăm după variabila
3
X
:
38
3
X1
X0
X
2
1 X 0
0
00 01 11 10
0
1
X
3
X
3
0 X
3
Condensăm după variabila
2
X :
3
X1
X
0
X X 0
00 01 11 10
X
3 2
Obţinem schema logica a funcţiei f, realizata cu circuit multiplexor cu 2 intrări de
selecţie.
0
2
1
3
X X
2 2
MUX
1 0
0 1
Z = f ) ( x x x
1 2 0
, ,
x
3
,
X
2
X
3
Obiectivul experimentului: Studiul implementării funcţiilor combinaţionale
utilizând circuite decodificator si multiplexor.
Desfăşurarea experimentului:
1. Să se realizeze sinteza functiei:
0 1 0 1 0 1
( , ) f X X X X X X · × + × 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.
39
2
2
2
2
1
0
DEC
Z
Z
Z
Z
Z
Z
Z
Z
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
G
S
H
B
C
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.
40
I
I
I
P P
P
F
F
0
15
1
0 1
47
0
7
Circuite
iesire
fusibil
S
S
0
47
I
0
I
15
I
0
Matrice SI
Conexiuni prin fusibili Ni - Cr
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 I
m
(m=0,1,...,15)
b) Termenul P
i
al funcţiei minimizate se va obţine la iesirea P
k
a matricei
ŞI; daca termenul P
i
conţine variabila
m
I
(m=0,1,...,15); se arde fuzibilul care conectează
linia
m
I la poarta ŞI (
k
P
); daca termenul P
i
conţine variabila
m
I , se arde fuzibilul care
conectează linia
m
I
la poarta ŞI (
k
P
); daca exista intrări
m
I
nefolosite pentru termenul
P
i
, se ard conexiunile liniilor
m
I
si
m
I (toate intrările nefolosite) la intrările porţii ŞI (Pk)
(k=0,1,...47)
c) Daca exista porţi ŞI (
k
P
) 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
m
I
si
m
I se lasă intacte, astfel încât ieşirile porţilor ŞI neprogramate sunt „0”, neutre pentru
intrările matricii SAU
d) Daca termenul
k
P
(k=0,1 ... 47) este programat in matricea ŞI, şi nu face parte din
termenii funcţiei F
j
(de realizat j=0,1 ... 7) se arde fuzibilul de conexiune a coloanei
k
P
la
linia S
j
(o intrare a porţii SAU, aleasa ca la ieşirea acesteia sa se obţină funcţia F
j
,
j=0,1...47); daca termenul
k
P
este programat in matricea ŞI, si face parte din termenii
funcţiei F
j
, respectiv daca termenul
k
P
este „0” (nefolosit), fuzibilul care conectează
coloana
k
P
la linia S
j
, rămâne intact.
41
Aplicaţie rezolvată: Folosind circuitul matrice programabila 82S100, sa se
realizeze sinteza funcţiei:
+ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ =
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
) , , , ( X X X X X X X X X X X X X X X X X X X X F
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
X X X X X X X X X X X X X X X X X X X X + × × × + × × × + × × × + × × × + × × ×
Minimizam funcţia F cu diagrama V-K:
2
X1
X
0 X
3
1 0
00 01 11 10
00
01
1
0
0 3
0
6
1 1
5
1
4 7
1
1 1 0
12
0
1
9 8
13 15 14
11 10
0
X
2
11
10
0 0
2 1 0 3 2 1 0 min
X X X X X X X F + + ·
Parcurgând etapele a,b,c,d, de programare a circuitului, se obţine schema logica de mai
jos:
I
I
I
F
1
15
2
I 0
P P P P
0 1 2
47
X
X
X
X
0
1
2
3
X
X
X
X
X
X
X
X
X
X
Conexiuni neprogramate
X X
0 1
X X
2 3
X X
1 2
X
0
,,0'’
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 F = ⊕1
, 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.
42
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
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 1
) , , , ( X X X X X X X X X X X X X X X X F ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ =
2 1 2 1 0 2 1 0 2 1 0 2
) , , ( X X X X X X X X X X X F ⋅ + ⋅ ⋅ + ⋅ ⋅ =
3 0 1 0 1 0 1
( , ) F X X X X X X = ⋅ + ⋅
2. Sa se studieze utilizarea programatorului LEAPER 10, la reconfigurarea unei arii
logice programabile selectata din biblioteca circuite a dispozitivului
43
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
2
/ cm UW , 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.
44
MATRICE MEMORIE
PROM
Multiplexor
coloan ă
DECODIFICATOR
RÂND
A0
A1
Am-1
Am
Am+ 1
An-1
D0 Db-2 Db-1
OE
CS
COD
ADRESĂ
memorie
con inut adresă selectată ț
CS
OE
- selectează circuitul
- validează ie irile ș
Fig.9.1 Modelul unei memorii PROM organizată bidimensional, de capacitate 2
n
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
14 0
A A −
, din care: biţii
14 6
A A −
decodificaţi, selectează rândul, iar
biţii
5 0
A A −
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 (
7 0
D D −
) se pot citi
cei 8 biţi memoraţi la adresa selectata.
45
DECODIFICATOR
9 / 512
512
X
64
512
X
64
512
X
64
512
X
64 ... ... ... ...
... ... ... ... ... MUX
64/1
MUX
64/1
MUX
64/1
ie iri ș :
A
0
A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
A
9
A
10
A
11
A
12
A
13
A
14
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
COD
adresă
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

= ) 7 , 5 , 1 , 0 ( ) , , (
2 1 0 1
X X X F
1 0 1 0 2 1 0 2
) , , ( X X X X X X X F ⋅ + ⋅ =

= ) 4 , 3 , 2 ( ) , , (
2 1 0 3
X X X F
Specificăm funcţiile în tabel de adevăr si acesta va reprezenta de fapt si conţinutul
memoriei utilizate la realizarea funcţiilor
3 2 1
, , F F F
46
COD
ADRESA
ADRESA
MEMORIE
(CONTINUT)
A
2
A
1
A
0
D
3
D
2
D
1
D
0
E
Z
X
2
X
1
X
0
F
1
F
2
F
3
F
4
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
0
D
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
4 0 1 2 3 4 5
5 0 1 2 3 4 5
( , , , , , ) (0, 2,8,16.40, 51, 63)
( , , , , , ) (1, 3, 7,19.22, 35, 47, 58)
F X X X X X X
F X X X X X X
=
=


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
m
b numere diferite si anume numerele naturale
cuprinse in domeniul (0,
m
b -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ă
47
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. Br
2
Br
1
Br
0
0
1
2
3
4
5
6
7
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
Fig. 10.1 Codul binar reflectat
Coduri zecimal-binare ponderate
La aceste coduri, o cifra zecimala d este codificata prin n cifre binare (
1 0
,...,
n
b b

)
iar valoarea lui d se obţine prin relaţia
1 1 0 0
...
n n
d b P b P

· × + + ×
unde
0 10, 0 2
j
d b s < s <
unde j=0,1,...,n-1 si
4iar
j
n P >
este ponderea cifrei
j
b
si poate fi
pozitiva sau negativa.
Pj
Nr
2 4 2 1 8 4 -2 -1
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
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
48
Nr
1
P
2
P
3
d
4
P
5
d
6
d
7
d
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Fig. 10.3 Cod Hamming
Cifrele de control se calculează cu relaţiile liniare:
1 3 5 7
2 3 6 7
4 5 6 7
P d d d
P d d d
P d d d
· O O
· O O
· O O
La recepţie se calculează cifrele de control:
0 1 3 5 7
1 2 3 6 7
2 1 5 6 7
C P d d d
C P d d d
C P d d d
· O O O
· O O O
· O O O
Daca nu a apărut o eroare detectabila atunci ( )
2 1 0
2
0 C C C ·
iar daca a apărut o
singura eroare, poziţia binara eronata este data de echivalentul zecimal al numărului binar
2 1 0
C C C
: ( )
2 1 0
2
i C CC ·
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.
49
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 b
2
b
1
b
0
Br
2
Br
1
Br
0
0
1
2
3
4
5
6
7
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
Minimizam funcţiile
0 0 1 2 1 0 1 2 2 0 1 2
( , , ), ( , , ) si ( , , ) Br b b b Br b b b Br b b b
0 1 3 2
4 5 7 6
b1
b
0
b
2
0 1 0 1
0 1 0 1
00 01 11 10
0
1
0 1 3 2
4 5 7 6
b
1
b0
b2
0 0 1 1
1 1 0 0
00 01 11 10
0
1
0 1 3 2
4 5 7 6
b
1
b0
b2
0 0 0 0
1 1 1 1
00 01 11 10
0
1
Br
0
Br
1
Br
2
Br
1
=b
2
+ b
1
Br
0
=b
0
+ b
1
Br
2
=b
2
schema logica a convertorului de cod cu porţi SAU-Exclusiv este:
b
0
b
1
b
2
Br
0
Br
1
Br
2
50
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
si
i i
A B
un bit de rang i al celor doua numere de comparat, se
realizează funcţia auxiliara
i i i
E A B · e
cu ajutorul căreia se pot scrie expresiile
funcţiilor de ieşire a comparatorului când
, si A B A B 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)
0 0 1
F E E · ×
, (A>B)
1 0 0 1 1 1
F A B E A B · + si
2 0 0 1 1 1
(A<B) F A B E A B · +
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
0 1 2
, , F F F
A
1
B
1
A
0
B
0
F
0
(A=B)
F
1
(A>B)
F
2
(A<B)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
51
Se obţine
0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0
1 1 0 0 1 0
( ) ( )
( ) ( )
F A B A B A B A B A B AB A B AB A B A B AB A B
A B A B E E
· + + + · + ·
· × · ×
e e
e e
0 0 0 1
0 0 0 0
0 0 0 1
1 1 1 1
A0
B
1
B
0
00 01 11 10
00
01
11
10
A
1
1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1
( ) F A B A B A B AB A B A B A B A B A B E A B · + + · + · + e
1
1 1 1 1
1
A0
B
1
B
0
00 01 11 10
00
01
11
10
A
1
0 0 0
0 0 0
0 0 0 0
0
2 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1
( )
A
F A B A B B A B A B A B A B A B A B E A B · + + · + · + e
Implementând aceste funcţii cu porţi logice se obţine schema logica a circuitului
comparator:
52
A
0
A
1
B
0
B
1
E
0
E
1
F
0
(A=B)
F
1
(A>B)
F
2
(A<B)
Sumatorul binar paralel este un circuit combinaţional care realizează suma
algebrica a doua numere binare cu n cifre binare,
0 1 1 2 0 1 1 2
( ... ) si ( ... )
n n
X X X Y Y Y

. ţinând
cont si de un eventual transport iniţial
0
T
. La ieşirea circuitului se generează un număr
binar de n cifre binare (
0 1 1
, ,...,
n
S S S

) reprezentând rezultatul însumării si cifra
transportului
n
T
.
T
0
Y
0
Y
1
Y
n-1
X
0
X
1
X
n-1
T
n
S
n-1
S
n
S
0
SUMATOR
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.
53
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:
1 1 0 0 0
2 2 1 1 0 0 0
3 3 2 2 1 1 0 0 0
4 4 3 3 2 2 1 1 0 0 0
( , , )
( , , , , )
( , , , , , , )
( , , , , , , , , )
T f x y T
T f x y x y T
T f x y x y x y T
T f x y x y x y x y T
·
·
·
·
Expresia transportului pentru un rang este:
1
( )
i i i i i i i i i
T x y T x y G T P
+
· + + · + ×
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:
1 0 0 0
2 1 1 0 1 0 0
3 2 2 2 2 1 0 2 1 0 0
4 3 3 3 3 2 1 3 2 1 0 3 2 1 0 0
T G P T
T G P G P P T
T G P G P P G P P P T
T G P G P P G P P P G P P P P T
· + ×
· + × + × ×
· + × + × × + × × ×
· + × + × × + × × × + × × × ×
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.
54
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

1
2
3
m
P
F
B
A
A
C
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
1 2 3
, si
p p p
t t t
timpi de propagare diferiţi ai porţilor logice: 1, 2 si 3, cu
relaţia
2 1 3 2 1
si
p p p p p
t t t t t > <
DIAGRAMA DE TIMP
`
,,0’’
,,1’’
A
m
P
F
t
p1
B=0
C=1
t
t
p2
t
p3 t
p3
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.
55
Se da circuitul logic din figura 11.2

1
2
5
4
3
A
D
A
E
C
B
Z
Y
X
W
F
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:
2 1 3 2 1 4 2 3
, ,
p p p p p p p p
t t t t t t t t > > > +
DIAGRAMA DE TIMP
C=1, D=0, E=1
A
B
X
Y
W
F
Z
t
t
t
t
t
t
t
p1
t
p2
t
p3
t
p4
t
p5
56
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
0 1 1
, ,...,
n
X X X

notata
0 1 1
( )
n
C C C

unde
{0,1}
i
C ·
pentru i=0,1,...,n-1 este acoperita de către un termen din forma disjunctiva a
funcţiei
0 1 1
( , ,..., )
n
f X X X

notat cu T daca termenul canonic P
j
al funcţiei corespondent
combinaţiei
0 1 1
( )
n
C C C

este inclus in termenul T,
j
P 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
A
1 1 0 0
0 1 1 0
00 01 11 10
0
1
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
57
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
C
B
C
F(A,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:

1
1 1
C
B
E
000 001 011 010
00
01
11
10
A
1
100 101 111 110
D
1
1 1
1
1 1
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
F(A,B, C, D, E)
A
D
C
A
D
B
A
E
C
A
E
B
B
D
E
58
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

59
Considerând timpii de propagare al porţii SAU-Exclusiv,
2 20
pLH pHL
t t ns · ·
, sa
se reprezinte formele de unda a semnalelor B si C si sa se evidenţieze utilitatea acestui
circuit.
Observaţie:
pLH
t
=timpul de propagare al circuitului când tensiunea de ieşire
comuta din „0” in „1” logic si
pHL
t
=timpul de propagare când tensiunea la ieşire comuta
din „1” in „0” logic.
Rezolvare:
DIAGRAMA DE TIMP
A
B
C
20 20
100ns
60ns
100ns
100ns
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
0 9
,..., I I
, utilizând un
codificator prioritar cu 8 intrări, circuitul integrat 74148 si porţi logice.
60
I
0
I
1
I
2 I
3
I
4
I
5
I
6
I
7
E
i
A
2
A
1
A
0
74148
Intrarea de autorizare
i
E este activa la „0” si autorizează funcţionarea
codificatorului prioritar, astfel încât
7
I are prioritatea maxima. Când
i
E este „1”,
indiferent de valorile intrărilor circuitului, ieşirile
0 1 2
A A si A sunt „1” logic.
Rezolvare: Extensia la 10 intrări a codificatorului prioritar se poate realiza
utilizând intrarea
i
E de autorizare care devine bitul
3
A
al codului generat la ieşire.
Se obţine schema logica:
I
0
I
1
I
7
E
i
I
8
I
9
A
2
A
1
A
0
A
2
A
0
A
1
A
3
61
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
F
2
3
2
2
2
1
2
0
MUX
B3 B2 B1 B0
2
3
2
2
2
1
2
0
DEC
A3
A
2
A1
A0
A
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
0 4
A A
, se selectează cate un cuvânt de 8 biţi din fiecare circuit de memorie, iar cu al 6-
lea bit de adresa,
5
A
, prin intermediul intrării de autorizare
i
E , se selectează cate un grup
62
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
5
A
= „0” se selectează ROM1 si ROM2, iar când
5
A
= „1” se
selectează circuitele ROM3 si ROM4.
A
0
- A
4
A
5
D
0
– D
7
D
8
- D
15
E
i
A
0
- A
4
D
0
– D
7
ROM 1
D
0
– D
7
D
0
– D
7
D
0
– D
7
A
0
- A
4
A
0
- A
4
A
0
- A
4
E
i
E
i
E
i
ROM 2
ROM 3
ROM 4
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,
63
devine automat stare prezentă la ieşirea liniei, după un timp At, 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:
) ,....., , , ,......, , (
) ,....., , , ,......, , (
) ,....., , , ,......, , (
) ,....., , , ,......, , (
2 1 2 1
2 1 2 1 1 1
2 1 2 1
2 1 2 1 1 1
t
p
t t t
n
t t
p
t t
p
t
p
t t t
n
t t t t
t
p
t t t
n
t t
m
t
m
t
p
t t t
n
t t t
y y y x x x f y
y y y x x x f y
y y y x x x f z
y y y x x x f z
·
·
·
·
∆ +
∆ +


În care
t
n
t t
x x x ,......, ,
2 1
reprezintă cele n intrări principale iar
t
p
t t
y y y ,......, ,
2 1

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
64
Î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:
) ,....., , , ,......, , (
) ,....., , , ,......, , (
) ,....., , , ,......, , (
) ,....., , , ,......, , (
2 1 2 1
1
2 1 2 1 1
1
1
2 1 2 1
2 1 2 1 1 1
n
p
n n n
n
n n
p
n
p
n
p
n n n
n
n n n
n
p
n n n
n
n n
m
n
m
n
p
n n n
n
n n n
y y y x x x f y
y y y x x x f y
y y y x x x f z
y y y x x x f z
=
=
=
=
+
+


Modelul matematic al circuitului secvenţial
Un circuit secvenţial cu n intrări binare X
1
, X
2
,...X
n
, m ieşiri binare Z
1
, Z
2
.....Z
m
si
p variabile binare de stare Y
1
, Y
2
.....Y
p
, poate avea o mulţime a intrărilor X={X
1
,
X
2
....X
2
n
} o mulţime a ieşirilor Z={Z
1
, Z
2
....Z
2
m
} şi o mulţime a stărilor Y ={Y
1
,
Y
2
....Y
2
p
} unde X
i
pentru i=1 până la 2
n
sunt n-uplurile de valori ale variabilelor de intrare
X
1
, X
2
....X
n
, Z
j
pentru j=1 până la 2
m
sunt m-uplurile de valori ale variabilelor de ieşire Z
1
,
Z
2
....Z
m
, iar Y
k
pentru k=1 până la 2
p
sunt p-uplurile de valori ale variabilelor de stare Y
1
,
Y
2
....Y
p
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 ,
65
Y
0
, 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ă Y
0
, 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
66
Exemplu:
Y
1 Y
0
Stare
initiala
x
0
/z
o
U x
1
/z
1
x
1
/z
0
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:
y
1
/z
1
y
2
/z
0
x
1
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
prezentă
Stare următoare/ieşire
X
0
X
1
Y
0
Y
0
/
1
Y
1
/
0
Y
1
Y
1
/
0
Y
0
/
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
prezentă
Stare următoare
X
0
X
1
Ieşire
Y
0
Y
0
Y
1
1
Y
1
Y
1
Y
0
0
67
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
prezentă
Stare următoare/ieşire
X
0
X
1
X
2
X
3
Y
0
Y
0
/
0
Y
0
/
1
Y
1
/
0
Y
2
/
0
Y
1
Y
2
/
1
Y
0
/
1
Y
1
/
0
Y
1
/
1
Y
2
Y
0
/
0
Y
1
/
1
Y
2
/
0
Y
2
/
1
3. Circuit Moore
Soluţie:
1.
X
2
/0
X
0
/0 U X
1
/1 X
2
/0 U x
3
/1
X
1
/1
Y
1
Y
0
X
3
/0
X
0
/0
X
2
/0 U X
3
/1
X
0
/1
X
1
/1
Y
2
Stare
prezentă
Stare următoare
X
0
X
1
Ieşire
Y
0
Y
2
Y
1
0
Y
1
Y
0
Y
1
0
Y
2
Y
2
Y
1
1
68
2.
Y
1
/0
Y
0
/0
X
0
Y
2
/1
X
1
X
0
X
1
X
1
X
0
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.
69
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)
Y
1
Y
0
Y
2 Y
3
X
1
/1 X
2
/0
X
3
/1
X
1
/1 U X
2
/0
X
1
/0
X
1
/1
X
2
/0
X
3
/0
X
1
/0
70
b)
Y
1
Y
0
/0
Y
2
/0 Y
3
/1
X
0
X
3
X
1
X
2
X
1
X
3
X
2
2. Să se experimenteze funcţionarea în modul fundamental şi sincron a circuitelor
secvenţiale:
a) b)
S
R
TACT
Q
Q
R
S
Q
Q
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
S
Q
Q

R
Q
S
Q

Fig 14.1 Bistabil R-S asincron
71
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 :
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 :
Dacă detaliem tabelul caracteristic al bistabilului R-S asincron din Fig 14.1b obţinem :
R S Q
t
Q
t+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 -
0 1 3 2
4 5 7 6
S
Q
t
R
0 1 1 1
0 0 X X
00 01 11 10
0
1

Minimizăm funcţia Q
t+1
(R,S,Q
t
) şi obţinem : Q
t+1
=
R
g
Q
t
+ S
R S
Q
t+1
0 0 interzis
0 1 0
1 0 1
1 1 Q
t
R S Q
t+1
0 0 Q
t
0 1 1
1 0 0
1 1 interzis
Q
t
Q
t+1 R S
0 0 x 1
0 1 1 0
1 0 0 1
1 1 1 x
Q
t
Q
t+1
R S
0 0 x 0
0 1 0 1
1 0 1 0
1 1 0 x
72
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
S
Q
Q
Tact
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
S Q
Q
R
S
Tact
Bistabilul R-S
asincron

Bistabilul R-S-R Tabel Caracteristic

R
S Q
Q
R
S
Tact
Bistabilul R-S
asincron


Bistabilul R-S-S Tabel Caracteristic

R
S Q
Q
R
S
Bistabilul R-S
asincron

R S Q
n+1
0 0 Q
n
0 1 1
1 0 0
1 1 Q
n
R S Q
n+1
0 0 Q
n
0 1 1
1 0 0
1 1 0
R S Q
n+1
0 0 Q
n
0 1 1
1 0 0
1 1 1
73
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.
M
J
K
S
Q
Q
clk
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
Impuls clock
1 4
3
2
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.

74
Tabelul caracteristic Tabelul excitaţiilor
Ecuaţia de stare : Q
n+1
=j
Q
n
+
k
Q
n
Ca bistabilul J-K M-S
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
Q
clk
Fig 14.5 Bistabilul D sincron
Tabelul caracteristic Tabelul excitaţiilor Ecuaţia de stare :


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
Q
clk
Fig 14.6 Bistabilul T sincron
Tabelul caracteristic Tabelul excitaţiilor Ecuaţia de stare :

Circuitele basculante bistabile
sincrone integrate au atât intrări sincrone (cele care pot realiza comutarea bistabilului dacă există
Q
n
Q
n+1
J K
0 0 0 X
0 1 1 X
1 0 x 1
1 1 x 0
J K Q
n+1
0 0 Q
n
0 1 0
1 0 1
1 1
n
Q
D Q
n+1
0 0
1 1
Q
n
Q
n+1
D
0 0 0
0 1 1
1 0 0
1 1 1
n
Q
1 n
Q
+
T
0 0 0
0 1 1
1 0 1
1 1 0
T
1 n
Q
+
0
n
Q
1
n
Q
75
Q
n+1
=D
Q
n+1
=
T
Q

n
+ TQ
n
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:
J
Q
Q
clk
K
R
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.
76
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 Q
1
şi Q
2
din schema logica de mai jos, ştiind ca
iniţial Q
1
=Q
2
=,,0”

J
1
Q1
clk
K
1
R
J2
Q2
Q
2
clk
K
2
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=2
3
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:
77
J0
Q
0
K0
R
J1 Q
1
K1
R
J3 Q
3
K3
R
Q
0
Q
1
Q
3
,,1’’
,,1’’
,,1’’
,,1’’
,,1’’
,,1’’
RESET
Intrare de
numarare
Fig 15.1 Numărător asincron sens crescător modulo M=2
3
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 :
Starea
Q
2
Q
1
Q
0
2
2
2
1
2
0
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.
DEC
Impuls de
numarare
I
N
0 7 2 1
Numarator
Q Q
2
Q
1
2 2 2
0 1 2
Fig 15.2 Decodificarea stărilor unui numărător asincron M = 2
3
78
Impuls
numarare
Q
0
Q
1
Q
2
Iesirea
,, 2” a DEC
,,2" • I
N
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1 1
0
1 0
1 0
1
1
0
1 1
0
Impuls parazit
0
t
j
t
i
t
i
1
Fig 15.3 Formele de undă a ieşirilor numărătorului asincron M=2
3
ş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 I
N
,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.
J0
Q0
K0
R
J1 Q1
K1
R
J3 Q3
K3
R
,,1’’
,,1’’
,,1’’
,,1’’
,,1’’
,,1’’
RESET
I
N
AN5
Fig 15.4 Numărător asincron sens crescător modulo M=5 cu memorarea semnalului de anulare
79
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
5 AN
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 I
N
, inversat comută bistabilul de memorare R-S în ,,1” şi dezactivează semnalul de
anulare
5 AN
. Secvenţa de stări şi diagramele de timp a semnalelor de la ieşirile circuitului sunt
reprezentate in fig 15.5.
Starea
Q
2
Q
1
Q
0
2
2
2
1
2
0
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 t
N
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ă t
N
<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=2
4
, cu circuite integrate
SN7476 (bistabile j-k) şi sa se verifice funcţionarea, vizualizând ieşirile numărătorului
80
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ă.
81
Starea Q
2
Q
1
Q
0
J
2
K
2
J
1
K
1
J
0
K
0
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
am utilizat tabelul excitaţiilor
bistabilului J-K M-S :
Minimizăm funcţiile j
i
(Q
0
,Q
1
,Q
2
) şi k
i
(Q
0
,Q
1
,Q
2
) considerând indiferente valorile acestor funcţii
pentru stările prin care nu trece numărătorul.
J
0
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 x x 0
0 x x 1
00 01 11 10
0
1
K
0

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
x x x x
x 1 0 x
00 01 11 10
0
1
J
0
=Q
2
∙Q
1
K
0
=Q1
J
1
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
1 x x x
0 0 x x
00 01 11 10
0
1
K
1

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
x x x 0
x x 1 0
00 01 11 10
0
1
J
1
=Q 2
K
1
=Q
0
J
2
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 x x 1
x x x x
00 01 11 10
0
1
K
2
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
x x x x
1 0 0 0
00 01 11 10
0
1
J
2
=Q
1
K
2
=Q0
∙ Q1
Implementând numărătorul cu bistabile j-k M-S şi porţi logice ŞI obţinem schema logică :
Q
n
Q
n+1
J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0
82
J2
Q2
K2
R
J1 Q1
K1
R
J0 Q3
K0
R
RESET
I
N
Q2 Q1 Q3
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.

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
1 1
00 01 11 10
0
1
Semnalul de eroare :
0 2
E Q Q · g
Numărătoare compuse
Prin conectarea în cascadă a unui numărător modulo M
1
cu un numărător modulo M
2
se
realizează un numărător compus modulo M unde M=M
1
x M
2
Aplicaţie rezolvată : Să se realizeze un numărător compus modulo M=12 utilizând un
numărător sincron modulo M
1
=3 şi un numărător sincron modulo M
2
=4 , implementat cu
bistabile sincrone de tip D şi porţi logice. Impulsul de numărare, comandă numărătorul M
2
.
Alegem secvenţa de numărare pentru numărătoarele M
1
şi M
2
:
Secvenţa de numărare pentru numărătorul compus fa fi :
83
Stare
M
1
M
2
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 M
2
şi M
1
presupune ca atunci când numărătorul
modulo M
2
a parcurs toată secvenţa sa de numărare (4 stări) să genereze un impuls de numărare
spre numărătorul modulo M
1
. 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.
84
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ă
Q
A
,Q
B
,Q
C
,Q
D
- 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.
85
Desfăşurarea experimentului :
1. Să se realizeze sinteza unui numărător compus modulo M = 15 , utilizând un
numărător asincron modulo M
1
=3 şi un numărător sincron modulo M
2
=5 , cu circuite
integrate SN7474 (bistabile D) şi porţi logice. Impulsul de numărare comandă numărătorul
modulo M
1
=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
,Q
A
,Q
B
,Q
C
,Q
D
,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 : A
i
n+1
=A
n
i-1
unde A
i
n+1
reprezintă starea bistabilului A
i
la momentul
următor iar A
n
i-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 A
0
.
b) deplasare dreapta : A
i
n+1
=A
n
i+1
unde A
n
i+1
reprezintă starea bistabilului de rang imediat
superior rangului A
i
, la momentul precedent. În bistabilul de rang cel mai semnificativ
A
n-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 A
n-1
cu intrarea bistabilului A
0
.
e) recirculare dreapta : configuraţia binară deplasată spre dreapta revine în registru prin
conectarea ieşirii bistabilului A
0
cu intrarea bistabilului A
n-1
.
86
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 :
E
z
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 D
i
n+1
a unui rang tipic A
i
pentru fiecare mod de funcţionare sunt :
D
i
n+1
=A
i
n
-1
g
I
g
D
g
R
- deplasare stânga
D
i
n+1
=A
i
n
+1
g
I
g
D
g
R - deplasare dreapta
D
i
n+1
=P
i
g
I
g
D
g
R
- încărcare, unde P
i
sunt intrările de încărcare (paralelă) a
unei configuraţii binare de 4 biţi
D
i
n+1
= A
i
n
-1
g
I
g
D
g
R

Şi - recirculare stânga
D
0
n+1
= A
3
n
g
I
g
D
g
R

D
i
n+1
= A
i
n
+1
g
I
g
D
g
R
Şi - recirculare dreapta
D
3
n+1
= A
0
n
g
I
g
D
g
R
87
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 A
3
A
2
A
1
A
0
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 :
88
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 = .
89
Două stări ale unui automat complet definit sunt evident echivalente, Yi Yk = dacă pentru
orice Xi eX au ieşiri identice: i(Yk,Xi)=i(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
prezentă
Intrări
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
90
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.

6 4
5 3
2 5
4 2
=
=
=
=

8 7
4 2
5 2
=
=
=
2 X
3 X X
4 X 8 7 ≡ X
5 X 5 4 ≡ 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:
, 8 7 ≡
5 4 ≡ , 4 2 ≡ , 5 2 ≡ . Obţinem clasele echivalente: {1},
{2, 4, 5}, {3}, {6}, {7, 8}. Dacă înlocuim fiecare clasă de echivalenţă cu stările
ir
Y

obţinem:
{1}

Y1r
{2, 4, 5}

Y2r
{3}

Y3r
{6}

Y4r
{7, 8}

Y5r
91
Tabelul tranziţiilor automatului cu număr redus de stări devine:
Stare
prezentă
Intrări
1 2 3 4
Y
1r
Y
1r
/0 Y
3r
/0 Y
2r
/0 Y
4r
/1
Y
2r
Y
2r
/1 Y
2r
/0 Y
2r
/0 Y
5r
/1
Y
3r
Y
2r
/0 Y
2r
/1 Y
3r
/0 Y
2r
/1
Y
4r
Y
2r
/0 Y
2r
/1 Y
2r
/0 Y
4r
/1
Y
5r
Y
1r
/0 Y
4r
/1 Y
5r
/1 Y
2r
/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
prezentă
Stare următoare/ieşire
X
1
X
2
X
3
X
4
Y
4
Y
1
/0 -/- Y
2
/0 -/1
Y
5
Y
1
/0 Y
4
/- -/- Y
4
/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
92
Stare
prezentă
Intrări
X
1
X
2
X
3
X
4
Y
1
Y
3
/0 -/- Y
4
/- Y
2
/-
Y
2
-/- Y
2
/1 Y
6
/- Y
3
/1
Y
3
Y
2
/0 Y
6
/1 -/- -/-
Y
4
-/- Y
3
/- Y
2
/0 Y
3
/-
Y
5
Y
1
/0 Y
6
/1 Y
4
/- -/0
Y
6
Y
3
/1 Y
2
/- -/0 Y
3
/1
Y
7
Y
2
/0 Y
4
/- -/1 Y
5
/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
prezentă
Intrări
X
1
X
2
X
3
X
4
Y
1r
Y
1r
/0 Y
2r
/1 Y
2r
/- Y
1r
/1
Y
2r
Y
1r
/1 Y
1r
/1 Y
2r
/0 Y
1r
/1
Y
3r
Y
1r
/0 Y
2r
/1 Y
2r
/1 Y
3r
/0
Unde:
} 7 , 5 , 3 { 3
} 6 , 4 , 2 { 2
} 3 , 2 , 1 { 1



r Y
r Y
r Y
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:
93
a)
Stare
prezentă
Intrări
X
1
X
2
X
3
X
4
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
prezentă
Intrări
X
1
X
2
X
3
X
4
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 p
N 2 2
1
≤ <


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
94
- elementul de stare fig. 19.1b
- elementul de ieşire fig. 19.1c
Y
PAS
STOP
1/
ADEVARAT
0/FALS
a
b
c
d
Q
2
Q
1
Q
0
000
e
f
g
h
i
j
k
l
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.
95
a) b) c)
Exemplu:
X
p
0
Q
2
Q
1
Q
0
000
m
W Z
Y
011
001
0
1
1
101
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ă
96
3. Codificarea stărilor automatului astfel încât pentru n stări stabile sunt
necesare p variabile astfel încât n
p
≥ 2
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 Q
i
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 Q
i
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:
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
PAS x LIN
1
0 x 0 1
00 01 11 10
0
1
=
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 x 0 1
0 x 0 1
00 01 11 10
0
1
+
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
PAS x 0 x
0 x 0 x
00 01 11 10
0
1
+
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 x LIN
x
0 x 0 x
00 01 11 10
0
1
=
97
0 1 2 0 2 1
Q Q PAS Q Q LIN Q Q = + + g g g g g
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
0
1
Y
5
Y
4
Y
3
Y
2
Y
1
Y
0
START
PAL
STOP
SIN
CAS
PAS
PAS
0
1 0
1 0
1
Stare suplimentar
introdus ă pentru
codificarea adiacentă
a tranziţiilor directe
100
110
111
011
001
98
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
Q
0
, Q
1
, Q
2
– variabile de stare; fiecăreia îi va corespunde un
bistabil J-K în registrul de stare
Diagrama stărilor la momentul t:
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
y
0
y
1
y
2 x
y
5 x y
3
y
4
00 01 11 10
0
1
Observaţie: compartimentele corespunzătoare stărilor prin care
automatul nu tranzitează se marchează indiferente (X)
Diagrama stărilor la momentul t+1:
0 1 3 2
4 5 7 6
Q
1
Q
0
Q
2
START
1 1
x
0
x
0 0
00
01 11
10
0
1
Q
0
t+1

0 1 3 2
4 5 7 6
Q
1
Q
0
Q
2
0
1 1
x
0
x
1
STOP
0
0
0
1
11
10
0
1
Q
1
t+1
0 1 3 2
4 5 7 6
Q
1
Q
0
Q
2
0 0
SIN•
•PAL
x
0 x 1 1
0
0
0
1
11
10
0
1
Q
1
t+1
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 Q
t+1
= J •
t
Q +
K
• Q
t
,
din care reiese că în diagramele stărilor următoare
t+1
i
Q se marchează
indiferent compartimentele ce corespund lui Q
i
=”1” si se determină expresia
intrării j
i
, iar pentru determinarea expresiei intrării k
i
se marchează
indiferent compartimentele corespunzătoare lui Q
i
=”0” şi conţinutul
celorlalte se complementează.
99
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
START x x x
0 x x 0
00 01 11 10
0
1

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
x 0 0 x
x x 1
x
00 01 11 10
0
1

0 2
J START Q · g
0 2
K Q ·

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 1 x x
0 x 1
x
00 01 11 10
0
1

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
x x 0 x
x x 0 STOP
00 01 11 10
0
1

1 0
J Q ·

1 0
K STOP Q · g

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 0
SIN
*PAL
x
x x x
00 01 11 10
0
1 x

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
x x x x
1 x 0
00 01 11 10
0
1 0

2 1
J SIN PAL Q · g g
2 1
K Q ·
Funcţiile de ieşire:
PAS
CAS

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 1 0 x
0 x 0
00 01 11 10
0
1 STOP

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 0 0 x
0 x 1
00 01 11 10
0
1 0

0 1 0 1
PAS Q Q STOP Q Q · + g g g
0 2
CAS Q Q · g
Schema logica a automatului proiectat:
100
Dacă implementarea registrului de stare a automatului secvenţial
sincron se realizează cu bistabile de tip D, expresiile logice ale intrărilor
D
i
devin
1 +
=
t
i i
Q D
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ă Y
i
în care se găseşte automatul este
evidenţiată printr-un semnal S
i
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 y
i
2. expresiile logice ale intrărilor registrului de stare al
automatului se determină astfel:
a) pentru bistabilele D, intrările D
i
sunt „1” logic de fiecare dată
când automatul se află într-o stare Y
i
(activat S
i
) şi indică prin
codul său binar că variabila de stare Q
i
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 Y
i
(activat S
i
), tranzitează într-o stare al cărei cod indică
modificarea variabilei de stare respective Q
i
: pentru tranziţiile din
„0” în „1” a variabilelor de stare Q
i
se obţin ecuaţiile J
i
, iar pentru
tranziţiile din „1” în „0” se obţin ecuaţiile K
i
Pentru automatul descris în fig. 19.3 avem de exemplu pentru
bistabilul Q
0
intrările:
-
0 0
J S START = g
101
-
0 3
K S =
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ă B
i
, asociat fiecărui
automat slave.
Automatul slave testează în starea iniţială starea bistabilului B
i
corespondent; dacă B
i
=”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 B
i
,
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.
102
A
0->B
1
B1
S
O
W
X
G
F
C
B
0->B
0
1->B
1
1->B
0
B0
B
1
B
0
0
1
1
1
1
0
0 0
MASTER SLAVE 0 SLAVE 1
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:
103
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 Y
i
este indicată în relaţia de transfer prin înscrierea unui
„1” în bistabilul B
i
asociat stării respective şi a unui „0” în bistabilul B
i-1
asociat stării
precedente.
Expresia logică a intrării D
i
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 B
i
:
1
i i
Bi
D Y conditie
÷
·
¿
g

Funcţiile de ieşire Z
i
se obţin la fel, prin suma logică a termenilor STARE
g
Condiţie
pentru cazurile în care se generează funcţia respectivă
(Z
i
= 1):
1
i i
pentruZi
Z Y conditie
·
·
¿
g

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ă:
104
y
0
y
2
y
4
y
1
y
3
START
CAS
RET SYNC
PRIM
PRIM, STOP
RON
Q2Q1Q0
RESET
100
001
000
010
011
0
0
0
1
1
1
Tabelul codurilor stărilor obţinut prin atribuirea fiecărei stări a unui bistabil D al
registrului de stare
B
0
B
1
B
2
B
3
B
4
Y
0
1 0 0 0 0
Y
1
0 1 0 0 0
Y
2
0 0 1 0 0
Y
3
0 0 0 1 0
Y
4
0 0 0 0 1
Relaţiile de transfer:
0 0
0 0 1
1 1
1 1 2
2 2 3
3 3
3 3 4
4 4 0
:1
: 0 ,1
:1 ,
: 0 ,1
: 0 ,1 ,
:1
: 0 ,1 , ,
: 0 ,1 ,
y START B
y START B B
y RET B PRIM
y RET B B
y B B SYNC
y CAS B
y CAS B B PRIM STOP
y B B RON
÷
÷ ÷
÷
÷ ÷
÷ ÷
÷
÷ ÷
÷ ÷
g
g
g
g
g
g
Expresiile logice ale intrărilor bistabilelor:
105
0 0 4
1 0 1
2 1
3 2 3
4 3
D y START y
D y START y RET
D y RET
D y y CAS
D y CAS
· +
· +
·
· +
·
g
g g
g
g
g
Expresiile logice ale funcţiilor de ieşire:
1 3
2
3
4
PRIM y RET y CAS
SYNC y
STOP y CAS
RON y
· +
·
·
·
g g
g
Înlocuind stările y
i
cu ieşirea bistabilelor corespondente B
i
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:
106
y0
y2
y
4
y1
y3
START
CAS
RET SYNC
PRIM
PRIM, STOP
RON
Q2Q1Q0
RESET
100
001
000
010
011
0
0
0
1
1
1
Relaţiile de transfer:
0
0
1
1
2
3
3
4
: 000 ( ... )
: 0 1
: 001 ,
: 1
: 1 ,
: 011
: 1 , ,
: 000 ,
y START RN reg numarator
y START RN
y RET RN PRIM
y RET RN
y RN SYNC
y CAS RN
y CAS RN PRIM STOP
y RN RON
× ÷
× ÷+
× ÷
× +
+
× ÷
× +
÷
Expresia logică a semnalului de incrementare a registrului de stare este dată de
suma logică a termenilor y
i
g
Condiţie când se generează semnalul +1RN:
+1RN=
1 "1"
i
cand RN
y conditie
+ ·
×
¿
1 2 3
1
o
RN y LOAD y RET y y CAS + · + + + g g g
Expresia logică a semnalului de încărcare paralelă LOAD se determină prin suma
logică a termenilor Stare
g
Condiţie când în relaţia de transfer este activată funcţia de
încărcare:
:
i
cand xxx RN
LOAD y conditie
÷
· ×
¿
cv
0 1 3 4
LOAD y START y RET y CAS y · × + × + × +
Semnalele y
i
se obţin prin decodificarea variabilelor de stare Q
0
, Q
1
şi Q
2
corespunzătoare codului fiecărei stări. Intrările de date de rang i, D
i
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,
( )
i
Q
egal cu „1”.
107
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
y
0
y
1
y
3 y
4
y
4 x x x
00 01 11 10
0
1
0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 RET CAS 0
0 x x x
00 01 11 10
0
1

0 1 3 2
4 5 7 6
Q1
Q
0
Q
2
0 0 CAS 0
0 x x x
00 01 11 10
0
1
0 0 1 0 1
D RET Q Q CAS Q Q · × × + × ×
1 0 1
D CAS Q Q · × ×
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:
DEC
2
2
2
0
1
2
MUX
2 2 2
0 1 2
7
6
5
4
3
2
1
0
CLC
CLC
CLC
CLC
PRIM
SYNC
STOP
RUN
START
RET
CAS
,,1’’
RET
CAS
RET
LOAD
CAS
RESET
Clk
RET
CAS
+1RN
SN74193
Q
0
Q
1
Q
2
D
0
D
1
D
2
D
3
CU
LD
CL y
y
y
y
0
1
2
3
y
y
y
y
1
2
3
4
Q
Q
Q
0
1
1
y
y
y
y
0
1
2
3
y
4
108
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
C
B
START
END
MIC
LIST
STOP, LIST
0
0
0
1
1
1
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ă
109
Î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 .
RS
LINK INSTRUCTIE
PROM Intrari
Codul starii
urmatoare
Spre unitatea
de executie
X
Y
A A -
A A -
j
0
j-1
n-1
λ
δ
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
110
Aplicaţie rezolvată: Să se implementeze cu memorie PROM prin metoda
adresării arcelor de legătură, automatul:
A
C B
X
1
Z
0
0
1
X
0
X
2
X
2
X
1
X
2
X
2
Z1
Z2
Z
1
, Z
3
Z
0
Z
5
Z
4
Z
4
Z
6
Z
1
, Z
5
Z
1
Z
5
Z
3
0 0
0 0
0
0
1 1
1
1
1
1
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.
111
A
C B
X
1
Q
1
Q
0
100 101 000 010 011
0
1
X
0
X
2
X
2
X
1
X
2
X
2
Z
0
, Z
1
, Z
2
, Z
3
Z
0
,Z
1
,Z
4
Z
0
, Z
2
, Z
5
Z
0
, Z
2
, Z
3
, Z
4
Z
0
, Z
1
, Z
6
Z
0
, Z
1
, Z
5
Z
0
,Z
1
,Z
2
,Z
3
Z
0,
Z
1,
Z
4,
Z
5
0 0
0 0
0
0
1 1 1
1
1
1
00
110 001 111
01
11
Harta memoriei ROM
Stare prez. Intrări LINK Z
6
Z
5
Z
4
Z
3
Z
2
Z
1
Z
0
Q
1
Q
0
X
2
X
1
X
0
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
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:
112
PROM
A
A
A
A
0
1
3
2
A
4
Z Z Z Z Z Z Z
D D D D D D D D D
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6
Link
X
X
X
0
1
2
Intrari
Iesiri
D
0
D
1
Q
0
Q
1
R
R
clk
clk
clk
reset
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)
113
RS
PROM
Y
A A -
0
n-1
λ δ
Test LF LT Instr.
MUX
MUX
Z
Clk
P
intrari
Y
X
X
t+1
p-1
0
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:
RS
PROM
Y
A A -
0
n-1
λ δ
Test
Instr .
MUX
Z
clk
P
intrari
X
X
p-1
0
Link True
reset
CU LD
SN74193
CU
LD
X
X clk
X clk =
=
CL
114
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
y
5
y
6
y
2
y3 y1
y0
Z
3
Z4
Z
1
z
2
Z
2
Z
1
Z0
X
2
X
1
X0
y
4
Q
0
Q
1
Q
2
000
111
110
001
101
011
010
0
1
0
0
1
1
Codificarea variabilelor de intrare x
0
, x
1
, x
2
:
INTRARE TEST
X
0
00
X
1
01
X
2
10
salt
necondiţionat
11
Harta memoriei PROM
Stare
prezentă
TEST LT LF
INSTRUCŢIE
Z
4
Z
3
Z
2
Z
1
Z
0
Q
2
Q
1
Q
0
D
12
D
11
D
10
D
9
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
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
115
Schema circuitului secvenţial sincron realizat:
PROM
A
A
A
0
1
2
D D D D D D D D
D
0 1 2 3 4 5 6 7 8
Test
D
0
D
1
Q
0
Q
1
R
R
clk
clk
clk
reset
D
2
Q
2
R
clk
Instructie
LF LT
MUX
D D D D
9 10 11 11
DUBLU MUX
0
3
2
1
0 1 2 0' 1' 2'
2 2
2
Z Iesiri
0 1
0
X
X
X
0
1
2
SN
S S S
0 1 2
La intrarile bistabilului Di
(SALT NECONDITIONAT)
b) Registrul de stare realizat cu circuit numărător reversibil. Stările din organigramă
vor fi necodificate:
y
5
y
6
y
2
y
3
y
1
y
0
Z
3
Z
4
Z
1
Z
2
Z
2
Z
1
Z
0
X
2
X
1
X
0
y
4
Q
0
Q
1
Q
2
000
111
110
001 101
011
100
0
1
0
0
1
1
116
Harta memoriei PROM
Stare prezentă TEST LT
INSTRUCŢIE
Z
4
Z
3
Z
2
Z
1
Z
0
Q
2
Q
1
Q
0
D
9
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
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:
RN
Z Iesiri
clk
reset
CU LD
SN74193
PROM
A
A
A
0
1
2
D D D D D D D D D
1 2 3 4 5 6 7 8 9
D
0
MUX
0
3
2
1
2 2
0
1
X
X
X
0
1
2
X
i
S
S
S
Q
Q
Q
2
1
0
0
1
2
SN
CL
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
117
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.
RN
PROM
Y
A A -
0
n-1
MUX
clk
P
intrari
X
X
p-1
0
reset
CU LD
SN74193
X
Instructie
Test
Link True
CLC
Z
M
CL
i
LD
CU
X clk
X clk =
= M
M M clk +
i
i
0
1
M
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:
118
A
Z
0
X
0
1
0
B X
1
Z
2
Z
1
1
0
Organigrama automatului se modifică astfel:
A
Z
0
X
0
1
0
E X
1
Z
2
Z
1
1
0
S
P
D C
B
N
000
001
111
101
100
011
010
110
Q
2
Q
1
Q
0
Se codifică variabilele de intrare x
0
, x
1
:
INTRARE TEST
X
0
00
X
1
01
Salt necondiţionat 11
119
Harta memoriei PROM
Stare
prezentă
Q
2
Q
1
Q
0
M
INSTRUCŢIE
Z
2
Z
1
Z
0
TEST LT
D
5
D
4
D
3
D
2
D
1
D
0
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:
RS
Z Iesiri clk
reset
CU LD
SN74193
PROM
A
A
A
0
1
2
D D D D D D
0 1 2 3 4 5
MUX
0
3
2
1
2 2
0 1
X
X
0
1
X
i
S
S
S
Q
Q
Q
2
1
0
0
1
2
SN
CLC
0
1 Instructie
Test
Link True
3
M
CL
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
120
A
RAS
POP
B
SUB
PAS
DOM
PIN
CAS
1
0
1
0
1
0
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ă.
121
Exemplu: Se consideră un circuit secvenţial cu două intrări x
0
şi x
1
ş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 x
1
=„1” şi x
0
=„0”după ce în momentul
precedent valoarea intrărilor a fost x
0
=„1” şi x
1
=„1”
X
1
X
0
Z
Y
0
Y
1
Y
2
Y
3
0 0 0 1
0 0 1
0
0
1 1 1
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 y
0
, considerată stare iniţială. Ea este
stabilă pentru valori ale intrărilor x
0
=„0” şi x
1
=„0”, dar modificând intrarea x
1
din x
1
=„0”
în x
1
=„1”, circuitul trece în starea y
1
care devine apoi stabilă în rândul doi din tabel. Din
starea stabilă y
1
, pentru x
0
=„1” şi x
1
=„1” circuitul trece în starea instabilă y
2
care devine
stabilă în rândul trei. Pentru x
1
=„1” şi x
0
=„0” circuitul trece în starea instabilă y
3
ce
devine stabilă în rândul patru şi apoi când x
0
=„0” şi x
1
=„0”, circuitul tranzitează în starea
y
0
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:
122
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:
x
1
x
0
00 01 11 10 00 01 11 10
0
X
X
X
X
X
X
X
X
X
X
X
X
0 X X X
X X
X
X
2
2
1
1
3
3
0
0
0
0
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.
Si se obtin clasele de compatibilitate maximă {0,1}, {2,3}.
Considerând: y
1r
_
{0,1}
y
2r
_
{2,3} obtinem tabelul redus al tranzitiilor si iesirilor:
x
1 x
o
00 01 11 10 00 01 11 10
y1r
y
1r
y
1r
y
2r
y
2r
y2r x
x
0
x
x
x
0
0
0
1
123
1
2
3
0 1 2
1~31~3
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 y
1r
si y
2r
si obtinem următorul
tabel:
Stare
prezent ă
Q0
Stare următoare Ie iri ș
Intrări Intrări
00 01 11 10 00 01 11 10
y1r
y2r
0
1
0
1
0
0
0
0
0
0
1
1
x
x
x
x
0
x
Variabila de stare la momentul t+1 si functia de iesire Z au expresia logică:
x
1
x
0
00 01 11 10
Q
0
0
1
x
x
0 0
0
1
1 1
t+1
0
Q
t+1 t
0 1 0 0
x x Q Q = + ⋅
x
1
x
0
00 01 11 10
Q
0
0
1
x
x
0 0
x
0
0 1
t
0
0
z = x Q ⋅
z
Utilizând porti logice, se obtine schema logică a automatului secvential asincron:
X
1
X0
Z
Q0
124
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:
t+1
0
Q
t
0
Q S R
0
0
1
1
0
1
0
1
1
0
1
X
0
1
0
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
.
x
1
x
0
00 01 11 10
Q
0
0
1
x
x
1 1
1
0
x x
1 0 S X X = +
S
x
1
x
0
00 01 11 10
Q
0
0
1
x
x
0 0
0
1
1 1
R
0 0 1
R X Q X = + ⋅
Func ia de ie ire Z are această valoare: ț ș
t
0
0
Z=X ×Q
Schemalogică a automatului asincron realizat cu bistabilele R-S are structura:
X
1
X
0
Z
S
R Q
0
Q
0
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.
125
Pentru aplicatia dată, avem:
X
0
X
0
X
1
A
B
C
D
Z
00
0
01
0
1
1
1
0
10
11
1
Q
1
Q
0
Pentru a realiza sinteza automatului asincron cu bistabile R-S asincroane, utilizăm
tabelul excitatiilor corespondent:
t
Q
t+1
Q S R
0
0
1
1
1
0
1
X
0
1
0
1
0
1
0
1
Q
0
Q
1
0 1
0
1
A B
D C
Diagrama stabil ă la
momentul t :
Diagrama intrărilor
S
si
R
la momentul t+1:
Q
0
Q
1
0 1
0
1
X
1
X
1 X
0
Q
0
Q
1
0 1
0
1
1 X0
1 X
Q
0
Q
1
0 1
0
1
0 X0
0 1
Q
0
Q
1
0 1
0
1
X
1
1
0 X
0
S
0
S
1
R
1
R0
126
1 0
0 1 0 1 0
1 1 0 0 1 0 0
0 1
0
1 0 1 0 0
0 1
S =Q Q +X Q +X Q
R =Q Q +X Q +X Q
S =Q +X
R =Q Q +X Q
Z=Q Q
× × ×
× × ×
× ×
×
Se obtine schema logică a automatului asincron cu bistabile R-S ansincrone:
INITIALIZARE
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q0
Q1
X
1
X
0
Q
1
X0
S
0
R
0
S
1
R
1
Q
1
Q1
X
1
X
0
Q
1
X
0
Q
1
Q
1
Z
LC
LC
LC
LC
LC
127
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
0 1 2 3 4
, , , , O O O O O ş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ă 0101
2
=5
10

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 2
3
a circuitului
decodificator SN7442.
Circuitul funcţionează astfel: iniţial semnalul de clock fiind „0”, decodificatorul
primeşte la intrare informaţia 1101
2
=13
10
, stare care nu este decodificată (decodificatorul
128
are 10 ieşiri negate) şi ca urmare toate ieşirile
9 0
...O O sunt la valoare „1”. La primul
impuls de numărare (CD) este activată („0”) ieşirea
4
O 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
O
4
O
3
O
2
O
1
O
0
B
r
2. Să se realizeze un numărător compus modulo M=12, prin conectarea în cascadă
a două numărătoare, unul asincron modulo M
1
=3 cu reţinerea semnalului de anulare,
realizat cu bistabile T şi unul sincron modulo M
2
=4 realizat cu bistabile J-K. Impulsul de
numărare, activ cu frontul descrescător, comandă numărătorul M
1
=3.
Se va reprezenta cronograma semnalelor la ieşirea numărătorului şi a semnalului
de anulare
3 AN
.
Rezolvare:
Numărătorul asincron cu reţinerea semnalului de anulare modulo M
1
=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:
129
Starea
M
2
M
1
Q
3
Q
2
Q
1
Q
0
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 M
2
=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.
Q
n
Q
n+1
j k
0
0
1
1
0
1
0
1
0
1
X
X
X
X
1
0
130
J
2
= „1” K
2
= „1”
J
3
K
3
J
3
=Q
2
K
3
=Q
2
Schema logică a numărătorului compus modulo M=3x4, realizat:
RESET
IMPULS
NUMARARE
˶1”
˶1”
˶1”
˶1”
˶1”
˶1”
CLK CLK CLK CLK
I
N
j0
k
0
Q
0 Q
1
Q
2
Q2 Q3
Q
3
j
1
j
2 j
3
AN3
k
1
k
2
k
3
R R R
R
Cronograma
I
N
Q0
Q
1
Q
3
Q
2
AN3
AN3
0 1 0 1 0 1 0 1 0 1
0 0 1 0 0 1 0 0 1 0 0 1 0 0
0 0 0
0 0 0
1 1 1
0 0 0
0 0 0
1 1 1
1 1 1
1 1 1
0 0
0 0
0 1 2 4 5 6 8 9 10 12 13 14 0 1 starea
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:
131
x
y
x
1
x
2
x
3
x
4
y
1
2/- 5/0 5/0 2/-
y
2
3/0 4/- -/- -/-
y
3
-/- 5/- 1/0 2/0
y
4
1/- 2/1 -/- -/-
y
5
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 } 2 , 1 {
1

r
y , } 3 , 2 {
2

r
y şi
} 5 , 4 {
3

r
y
şi se determină tabelul tranziţiilor
automatului cu număr redus de stări.
X
Y
X
1
X
2 X3 X4
Y1r
Y
2r
Y
3r
2r/0
2r/0
1r/1 2r/1
3r/-
3r/0
-/-
1r/0
3r/1
2r/0
3r/0 2r/-
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:
132
Cronograma
CLK
(intrare) X0
(iesire) Z
Se consideră intrarea X
0
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 X
0
este „1” după ce a parcurs tranziţia „0”→„1”, iar ieşirea z avea valoarea „0”.
Organigrama de funcţionare a circuitului:
Q
1
Q
0
00
A
D
C
B
X
0
X
0
Z
Z
Z
10
11
01
1
0
1
0
Diagrama V-K a automatului la momentul t:
133
Diagramele V-K ale variabilelor de stare Q
0
, Q
1
la momentul t+1:
1
0
+ t
Q
1
1
+ t
Q
1
0 0 1 0 1
1
0 0
t
t
Q Q Q X Q
D Q
+
+
· × + ×
·
1
1 0 1 0 1
1
1 1
t
t
Q Q Q X Q
D Q
+
+
· × + ×
·
Diagrama V-K a funcţiei de ieşire z:
1 0 0
z Q X Q · + ×
Schema logică a automatului secvenţial sincron implementat:
134
5. Se dă automatul secvenţial sincron:
C
B
A
PAL
SAL
START
POP TOP
RUT
1
0
1
0
1 0
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:
135
G
C
A
PAL
SAL
START
POP TOP
RUT
1
0
1
0
1 0
H
B
F E
D
Q2Q1Q0
000
101
110 100
011
010
001
111
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:
CLK X M LD ⋅ ⋅ =

- funcţia de incrementare:
CLK M CLK X M CU ⋅ + ⋅ ⋅ =
unde X reprezintă variabila de intrare testată.
136
Codificăm intrările şi renotăm ieşirile:
INTRARI C1 C0
START
SAL
PAL
SALT
neconditionat
(SN)
1 1
0 1
0 0
1 0
RUT : Z
0
POP : Z
1
TOP : Z
2
Harta memoriei PROM
STARE
PREZENTA
(cod adresă
memorie)
Conţinut adresă memorie
M
Z
2
Z
1
Z
0
C
1
C
0
LINK TRUE
Q
2
Q
1
Q
0
D
5
D
4
D
3
D
2
D
1
D
0
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:
137
RESET
D0
D1
D2
D3
Q0
Q1
Q2
Q3
CV LD
SN74193
A0
A1
A2
C0 C1
Z0 Z1 Z2
0
1 L T
PROM
2
1 2
0
0
1
2
3
MUX
M X CLK
X
M
CLC
CIC
Z
IESIRI
START
SAL
PAL
˶1”
SN
X CLC
M
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
1 + = Y Y
.
Se folosesc două registre A, B şi anume: în registrul A se înscrie operandul 1
(OP
1
) şi rezultatul operaţiei efectuate (REZ), iar in registrul B se înscrie operandul 2
(OP
2
) ş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 C
0
,C
1
:
C
0
C
1
Operaţia
0 0 Adunare
0 1 Scădere
1 1
Deplasare
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ă;
138
(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;
C
0
,C
1
: 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;
PmOP
1
A: comandă înscrierea OP
1
în registrul A;
PmOP
2
B: comandă înscrierea OP
2
în registrul B;
PmCB: comandă înscrierea contorului de deplasare în registrul B;
PmOP2NB: comandă înscrierea în registrul B a operandului 2 negat (
2
OP );
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:
Unitate
de
executie
UE
Unitate
de
executie
UC
DATE:
operanzi sau
contor de
deplasare
utilizator
PmREZA
PMOP
1
A
PmCB
PmOP2B
PmOP2NB
+1B
-1B
DDRA
INA
INB
(B)=0
C
0
C
1
ACK
RDY
utilizator
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:
139
Pentru a realiza funcţiile necesare, registrul B este implementat cu un circuit
numărător reversibil SN74193.
140
Operaţia de însumare binară este implementată cu un circuit sumator SN7483.
0
Funcţionarea Unităţii de comandă (UC) a dispozitivului aritmetic, utilizează
semnalele de dialog enunţate anterior şi este descris prin organigrama:
141
ACK
y
0
PmOP
1
A
y1
INA
y
2
C
1
y
3
y
4
PmCB
INB
DDRA
y
5
Br
y
6
C
0
y
7
y
10
PmOP
2
B PmOP
2
NB
INB INB
y
8
y
11
AD +1B
y
9
PmREZA
y
12
RDY
ACK
-1B
Q
3
Q
2
Q
1
Q
0
0 0 0 0
0
1
0001
0
1
0010
0 1
0011
0
0100
1
0101
1 0 0 1
1100
1001
1000 1011
0
0
1 1
0111
1010
0 1
0110
142
Codificarea variabilelor de intrare a automatului sincron:
Intrări
TEST
A2 A1 A0
INA 0 0 0
INB 0 0 1
BR
0 1 0
C
0
0 1 1
C
1
1 0 0
ACK 1 0 1
Salt
necondiţionat
SN
1 1 1
Pentru ieşiri
folosim notaţiile:
PmOP
1
A : Z
0
PmOP
2
B : Z
1
PmOP
2
NB : Z
2
PmCB : Z
3
DDRA (-1B) : Z
4
+1B : Z
5
AD : Z
6
RDY : Z
7
PmREZA : Z
8
Harta memoriei PROM
Stare
prezentă
TEST
A
0
A
1
A
2
LINK TRUE LINK FALSE
8
Z
7
Z
6
Z
5
Z
4
Z
3
Z
2
Z
1
Z
0
Z
Q
3
Q
2
Q
1
Q
0
D
19
D
18
D
17
D
16
D
15
D
14
D
13
D
12
D
11
D
10
D
9
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D
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.
143
2
3
2
2
2
1
2
0
4Y 3Y 2Y 1Y
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DEC
SN74154
PROM
TEST LT LF
INSTRUCTIUNE
Z
7 Z6 Z0
Z1 Z
2
Z3 Z
4
Z5
D
0
D
1
D
2
D3 D
4
D5 D6 D7 D
8
D9 D
10
D11 D
12
D13 D14 D15 D16 D
17
D
18
Z
spre U.E.
1A 2A 3A 4A 1B 2B 3B 4B
MUX
SN74257
0
1
2
3
4
5
6
7
MUX
SN74251
INA
INB
BR
C0
C1
ANK
SN ,,1”
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:
144
Bloc selectie
a pasilor din
secventa
Dispozitiv
de
comanda
1
2
3
4
5
6
START
STOP
Bloc selectie
secventa
UE
PROM
X Y Z
CN/A CN/A CN/ A
CN/A
UE
- creator numeric analogic
- unitate de executie
VCC
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
X
Y
Z
W
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, S
0
pentru extrema dreaptă
şi S
1
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 S
0
comandă prin semnalul D
0
deschiderea porţii galeriei şi vagonetul poate să
treacă atunci când limitatorul L
0
indică deschiderea completă a uşii.
După ce un vagonet a intrat în galerie, sesizorul L
1
comandă închiderea porţii
galeriei, dacă sesizorul L
0
nu a detectat existenţa unui alt vagonet la intrare.
145
VAGONET
L
0
L
1 S0
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, F
0
, sau de 1000 lei, F
1

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, L
0
,
10m, L
1
, 15m, L
2
;
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 F
0
;
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.
146
magazie
L O
pachete
S
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 2
28
prin
„0” respectiv „1” iar numărul sudurii în câmpul format din biţii 2
24
-2
27
. Pornirea, oprirea
şi reproducerea sudării este iniţiată de operator, unei suduri fiindu-i alocate 256 adrese de
memorie.
Nr. sudurii I/S
UE
unitate de executie
Dispozitiv
comanda
CA/N CN/A CA/N
CN/A
CA/N CN/A
I U V
8 8 8
memeorie ROM
scriere
citire
adresa
P/O
inregistrare/
redare
insotita de
un numar :
0÷15
147
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:
SN
2
SN
1
SN
0
Senzor nivel (SNJ)
0
0
0
A
2
S2
N
J
2
E
2
E
1
E
0
A1
A
0
S
1
N
J
1
S
0
N
J
0
Senzor intrare casa liftului (SI
i
)
Releu blocare / deblocare intrare casa liftului
Senzor podea SP
lift
Senzor u ă lift ș (SU)
Afisaj direc ie de deplasare lift ț
Afi ează nivelul la care se află liftul ș
S
i
– sus
J
i
- jos
1. Situarea liftului la un anumit nivel, atât în timpul deplasǎrii cât şi în repaus este
sesizatǎ de senzorii de nivel SN
j
(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 E
i
sau din exterior prin intermediul selectoarelor A
i
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 S
i
sau I
j.
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.
148
10. Sǎ se realizeze un sistem automat de găurire a unor piese mecanice identice
transportate de o bandǎ rulantǎ.
PORNIT
OPRIT
LIMz
1
LIMz2
PIESA
LIMx
1 LIMx
2
LIMy
2
LIMy
1
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 LIMX
2
. Sistemul de gǎurire aflat în stare de repaus şi poziţionat de senzorii
LIMY
1
şi LIMZ
1
se va deplasa pe axa y pânǎ la limitatorul LIMY
2,
se produce gǎurirea pe
axa z pânǎ la limitatorul LIMZ
2,
se revine în starea de repaus (LIMY
1
, LIMZ
1
), banda este
repornitǎ şi sesizorul LIMX
1
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.
149
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:
150
adunare
scadere
inmultire
impartire
modulo
rest
exponent
valoare absoluta
+
-
*
/
mod
rem
**
abs
aritmetica
binara
egal
diferit
mai mic
mai mare
mai mic sau egal
mai mare sau egal
=
/=
<
>
<=
>=
operatori
relationali
SI logic
SAU logic
SI -NU logic
SAU-NU logic
SAU-EXCLUSIVE logic
complementare
concatenare
and
or
nand
nor
xor
not
&
logica
binara
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
specificaţii
END IF;
a.
IF condiţie THEN
specificaţii
END IF;
b.
ELSE
specificaţii
IF condiţie_1 THEN
specificaţii
END IF;
c.
ELSE
specificaţii
.

.

.
ELSIF condiţie_n THEN
specificaţii
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:
151
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
152
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
153

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->