Documente Academic
Documente Profesional
Documente Cultură
CAPITOLUL 1.
CIRCUITE SECVENŢIALE ELEMENTARE
CAPITOLUL 2.
NUMĂRĂTOARE
CAPITOLUL 3.
CIRCUITE SECVENŢIALE CU INTRĂRI DE COMANDĂ
CAPITOLUL 4.
SINTEZA CIRCUITELOR SECVENŢIALE
CAPITOLUL 5.
LOGICĂ PROGRAMABILĂ
2
CIRCUITE SECVENŢIALE ELEMENTARE
3
starea ieşirilor circuitelor secvenţiale nu depinde doar de intrările
acestuia ci şi de aşa numita stare a circuitului (iesirile si intrările
anterioare momentului considerat)
intrari secundare
iesiri secundare
4
Pentru a preciza comportarea circuitului, pe lângă ecuaţiile ieşirilor
trebuie specificată şi comportarea sa internă, - adică trebuie indicată
corespondenţa dintre starea intrărilor principale şi secundare,
denumită şi starea totală a circuitului
se vor specifica: stare
◦ ecuaţiile ieşirilor z1 = f1 (x1 , x2 ,...,xn , y1 , y2 ,..., yr )
z = f (x , x ,...,x , y , y ,..., y )
2 2 1 2 n 1 2 r
.
.
zm = f m (x1 , x2 ,...,xn , y1 , y2 ,..., yr )
.
circuite secvenţiale
◦ ecuaţiile stării următoare (tranziţiile) de tip Mealy
y 1, = 1 (x1 , x2 ,...,xn , y1 , y2 ,..., yr )
,
y2 = 2 (x1 , x2 ,...,xn , y1 , y2 ,..., yr )
.
.
yr = r (x1 , x2 ,...,xn , y1 , y2 ,..., yr )
.
,
5
Dacă pentru o anumită stare a intrărilor, sau pentru anumite
intrări, starea următoare a circuitului diferă de starea prezentă,
spunem că circuitul se află într-o stare instabilă.
Dacă pentru anumite intrări, starea prezentă a circuitului şi cea
următoare coincid circuitul se află într-o stare stabilă.
Pentru ca un circuit secvenţial să se comporte într-un mod bine
precizat, trebuie ca pentru fiecare stare a intrărilor să existe cel
puţin o stare stabilă
Modelul matematic al circuitelor secventiale se numeşte automat
Întâlnim în practică circuite secvenţiale ale căror ieşiri nu depind
de stările intrărilor principale ci doar de stările intrărilor
secundare, adică de starea circuitului.
6
z1 = f 1' ( y ,y , ..., y )
1 2 r
z m = f m' ( y1 ,y2 , ..., yr )
circuite secvenţiale
y 1, = 1 (x1 , x2 ,...,xn , y1 , y2 ,..., yr ) de tip Moore
,
y2 = 2 (x1 , x2 ,...,xn , y1 , y2 ,..., yr )
yr, = r (x1 , x2 ,...,xn , y1 , y2 ,..., yr )
7
Un element al tabelului
reprezintă în cazul
automatului de tip Mealy
starea următoare/starea
ieşirii, notate simbolic
sau codificate binar.
8
Tabelul tranziţiilor şi al ieşirilor poate fi completat dacă se
cunoaşte structura circuitului, determinând valoarea fiecărei
funcţii de ieşire: z1,z2,...,zm,, pentru toate valorile posibile ale
variabilelor de intrare principale şi secundare.
OBSERVATIE:
În realitate, întârzierea cu care se obţine starea următoare este
distribuită în interiorul circuitului secvenţial.
Pentru studiu – se consideră că întârzierile caracteristice
legăturilor inverse sub forma unor elemente de întârziere în
care se înscrie valoarea întârzierii cumulate un circuit
combinaţional care execută funcţiile de transfer ale ieşirilor şi
tranziţiilor şi o parte de memorie care memorează pentru un
anumit timp starea următoare a circuitului.
9
După modul de funcţionare:
◦ circuite secvenţiale asincrone - starea următoare devine stare
prezentă după un timp care este determinat de întârzierile
interne circuitului.
Pentru o funcţionare determinista, se impune ca pe fiecare
coloană din tabelul tranziţiilor (fiecare stare a intrărilor) să
existe cel puţin o stare stabilă.
Acest lucru este greu de realizat deoarece modificarea
intrărilor nu se poate face simultan ⇒ se impune ca la un
moment dat să nu se modifice mai mult decât o variabilă de
intrare (secvenţa intrării principale, sub formă binară, să
formeze un cod ciclic)
10
◦ circuite secvenţiale sincrone - starea următoare devine stare prezentă
numai în anumite momente de timp bine determinate, marcate prin
impulsuri de tact date de către un generator de impulsuri (“orologiu”)
Elementele de memorie sunt circuite basculante bistabile .
legăturile inverse (intrările la CBB) sunt întrerupte în lipsa
impulsurilor de tact, fiind stabile numai în prezenţa tactului
◦ d ≪ tr
d- durata impulsului de tact
tr - timpul de reacţie al schemei
tr < T
pe durata cât este conectată legătura
inversă nu se obţine încă noua stare
următoare
când apare un impuls de tact care
modifică şi valorile intrărilor, starea
tuturor ieşirilor este stabilă,
corespondentă funcţiilor z1,z2,...,zm,
respectiv , de variabile
x1,x2,...,xn,y1,y2,...,yr. Acesta este
momentul în care la circuitele
sincrone se iau decizii. 11
Pentru realizarea elementelor de memorie 1,..., r se folosesc circuite
secvenţiale elementare numite şi circuite basculante bistabile (CBB)
12
y1' = x1 + y2 = x1 y2
din figura ⇒
y2' = x2 + y1 = x2 y1
13
Pentru a înlătura cursa critică se elimină condiţiile de apariţie ale acesteia
- se impune condiţia ca intrările să nu fie niciodată simultan în starea 1
x1 x2 = 0
rămân în circuit doar 2 stări stabile, iar ieşirile sunt complementare
tabelul tranziţiilor va fi:
14
Intrarea x2 se notează cu S (SET) - are rolul de a aduce circuitul în
starea stabilă 1, atunci când S se aduce un anumit timp în starea 1,
intrarea x1 se notează cu R (RESET) - are rolul de a aduce circuitul în
starea stabilă 0, atunci când R se aduce un anumit timp în starea 0.
Timpul cât R, respectiv S, trebuie să stea în starea 1 pentru ca circuitul
să fie adus, indiferent în ce stare s-ar afla, în starea 0, respectiv 1,
este limitat doar inferior - trebuie să fie cel puţin egal cu suma 1+2.
Dacă la intrare comenzile sunt neschimbate circuitul va rămâne în una
din stările 1 sau 0, cât timp nu se schimbă comenzile de la intrare.
ECUAŢIA DE STARE - exprimă starea următoare în funcţie de starea
prezentă şi de intrări
y ' = S + R y
ecuaţia de stare
R S = 0
15
altă posibilitate de descriere a funcţionării circuitului basculant -
graful tranziţiilor
16
se poate realiza un CBB de tip R-S cu elemente logice ŞI-NU
18
Aplicatii:
la eliminarea oscilaţiilor care apar în contactele mecanice
ca element de memorie, adică poate memora starea unei
anumite variabile de stare. El poate fi folosit în circuitul
secvenţial pentru memorarea stării următoare.
elemente de memorie în circuitele secvenţiale sincrone . -
memorarea stării următoare trebuie să se facă la apariţia
impulsului de tact, chiar dacă la intrările bistabilului există
semnale şi înainte de apariţia tactului. Circuitul basculant care
îşi modifică starea numai la apariţia tactului se numeşte
circuit basculant sincron.
19
semnalul de comandă care se aplică la borna S a CBB este S=AB
presupunem că apare următoarea situaţie:
Qt=0, Rt=0, At=1, Bt=0 ⇒ St=0
trecerea din starea At=1, Bt=0 în starea At+1=0, Bt+1=1 se poate face
fie prin comutarea semnalului de pe intrarea A t înaintea celui de pe
intrarea Bt, fie prin comutarea semnalului de pe intrarea B t înaintea
celui de pe intrarea A t ⇒
În primul caz: Qt=Qt+1
În al doilea caz: apare un impuls parazit si Qt+1=1
20
În practică este greu de controlat succesiunea tranziţiilor şi de aceea
este necesar să existe un circuit care execută comenzile numai după
ce acestea s-au stabilizat la valorile lor corecte: - CBB R-S sincron
H - impulsul de orologiu
SH = S H respectiv SH = S H
RH = R H respectiv RH = R H
Schema:
21
Comenzile se vor executa sincron cu impulsul de tact
22
admite comenzi simultane la ambele intrări, circuitul fiind astfel
conceput încât atunci când apare un asemenea caz, el să-şi modifice
starea
nu poate funcţiona decât în mod sincron
Tabelul 1.6
J K Qt Qt+1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
23
CBB se poate construi pornind de la un bistabil de tip R-S sincron:
ecuaţia de stare a bistabilului J-K devine ecuaţie de aplicare
pentru bistabilul R-S
cu ajutorul tabelului şi a diagramelor din figura 1.15, se determină
ecuaţiile intrărilor:
S = f1(J, K, Q) şi R = f2(J, K, Q)
24
CBB se poate construi pornind de la un bistabil de tip R-S sincron:
ecuaţia de stare a bistabilului J-K devine ecuaţie de aplicare
pentru bistabilul R-S
cu ajutorul tabelului şi a diagramelor din figura 1.15, se determină
ecuaţiile intrărilor:
S = f1(J, K, Q) şi R = f2(J, K, Q)
25
CBB se poate construi pornind de la un bistabil de tip R-S sincron:
ecuaţia de stare a bistabilului J-K devine ecuaţie de aplicare
pentru bistabilul R-S
cu ajutorul tabelului şi a diagramelor din figura 1.15, se determină
ecuaţiile intrărilor:
S = f1(J, K, Q) şi R = f2(J, K, Q)
26
Să analizăm acest circuit, la început, cu ajutorul tabelului tranziţiilor:
27
are o singură intrare (notată cu T), care atunci când trece din starea
0 în starea 1 determină schimbarea stării interne a bistabilului
Tabelul 1.7. Tabelul 1.8.
T Q t+1 Qt Q t+1 T
0 Qt 0 0 0
1 Qt 0 1 1
1 0 1
1 1 0
tabelul caracteristic tabelul excitaţiilor
28
La acelaşi rezultat se poate ajunge dacă se porneşte de la ecuaţia de
stare a bistabilului T, care se impune să fie ecuaţia de aplicare
pentru bistabilul J-K.
Utilizând metoda tabelară şi minimizând funcţia T din tabelul 1.9,
expresia intrării va fi:
Tabelul 1.9
J K Qt Qt+1 T
T = QK + Q J 0 0 0 0 0
0 0 1 0 1
0 1 0 1 1
0 1 1 0 1
1 0 0 0 0
1 0 1 1 0
1 1 0 1 1
1 1 1 1 0
29
are o intrare, notată cu D
starea următoare este aceeaşi cu a intrării D, independent de starea
prezentă a bistabilului
de obicei intrarea D este sincronizată
este folosit ca element de memorie, cu rolul de a păstra starea
intrării de comandă D în timpul dintre două impulsuri de tact
30
Pentru realizarea unui bistabil de tip D se poate folosi un bistabil de
tipul R-S sau un circuit bistabil de tipul J-K.
Q ' = D (ecuatia de aplicare)
'
Q = S + R Q (ecuatia de stare)
S R = 0
Tabelul 1.10
D Qt Qt+1 S R
0 0 0 0 x S=D şi R=D
0 1 0 0 1
1 0 1 1 0
1 1 1 x 0
Tabelul 1.11
D Qt Qt+1 J K
0 0 0 0 x
J=D şi K=D
0 1 0 x 1
1 0 1 1 x
1 1 1 x 0
31
Sinteza bistabilului D folosind: a.-bistabilul R-S; b.-bistabilul J-K
32
este format din două circuite basculante bistabile:
primul, denumit “Master”, memorează în momentul apariţiei
impulsului de sincronizare starea următoare a bistabilului,
al doilea, denumit “Slave”, memorează pe toată durata
impulsului de sincronizare starea prezentă, urmând ca abia
după dispariţia impulsului de sincronizare să treacă în starea
în care se găseşte bistabilul “Master” care îl comandă
⇒se asigură o funcţionare corectă a bistabilului independent de
viteza de reacţie respectiv de durata impulsului de sincronizare
34
Schema logică de principiu a unui bistabil J-K “Master Slave” având în componenţa CBB R-S
Schema logică a unui circuit bistabil J-K “Master Slave” realizat cu elemente logice ŞI-NU
36
NUMĂRĂTOARE
37
sunt circuite secvenţiale sincrone a căror stare următoare depinde
numai de starea prezentă, în funcţionare neintervenind variabile de
intrare de comandă sau de intrare
se numesc şi automate autonome
După modul de funcţionare:
număratoare asincrone - elementele de memorie nu comută sincron
număratoare sincrone - primesc impulsul de sincronizare în acelaşi
moment şi comută, cel puţin teoretic, simultan
38
Cel mai simplu numărător - CBB de tip T: cât timp T=1, bistabilul va
bascula la fiecare impuls de tact -face numărarea cu 1 poziţie (modulo 2)
39
TACT
1 2 3 4 5 6
t
C
t
B
t
A
t
0 1 2 3 4 5
40
Dacă se decodifică conţinutul numărătorului utilizând un decodificator
binar zecimal, în fiecare interval de timp se obţine un semnal la ieşirea
corespondentă cifrei binare codificate în acel interval.
Tact
Numărător
Decodificator
z0 z1 z7
0 1 ... 7
Tact 1 2 3 4 5 6 7 3 8
Figura 2.3. Decodificarea stărilor numărătorului asincron modulo 2 t
z0
t
z1
t
z7
t
Tact
C t
B t1 t
A t2 t
t3 t
0 0 1 10 2 2 3 320 4 4 ...
• Se observă că există erori (0) care apar în mai multe porţiuni ale
diagramei
42
Erorile de decodificare pot să conducă la funcţionarea eronată a
întregului sistem.
Înlăturarea erorilor de decodificare în cazul numărătoarelor asincrone
se poate face
pe cale electronică - se face uz de faptul că impulsul
eronat este de durată mică ⇒ se transformă circuitul care
se comandă astfel încât să devină insensibil la acest impuls
sau se integrează răspunsul limitându-i amplitudinea.
O altă soluţie posibilă este aceea în care se intercalează un
condensator C la ieşirea z 0, care va integra semnalul şi va
transforma amplitudinea erorii într-un ciot mic (sub 0,8 V):
43
pe cale logică - se bazează pe căutarea unui impuls pe durata
impulsului de orologiu în care semnalul de la decodificator este
corect.
Se observă că semnalul este întotdeauna corect pe durata
semiperioadei de tact ⇒ semnalul de la ieşirea decodificatorului poate
fi autorizat pe durata impulsului de tact ⇒ se va utiliza o poartă ŞI la
ale cărei intrări se leagă z0 şi tactul.
z0
t
z0 z0* Tact
Tact
t
z0*
a. b. t
la decodificator
Intrucat 22<6<23 ⇒ 3 bistabile
1 J 1 J 1 J
C B A
1 K 1 K K
1
R R R INIT
45
⇒ semnalul de anulare, notat RM, este condiţionat de:
R M = AB C
R N = INIT + AB
46
1 J 1 J 1 J RN
C B A INIT
1 K 1 K 1 K
TACT
Dezavantaj:
O astfel de schemă este foarte puţin sigură în funcţionare
deoarece semnalul de anulare RM este foarte îngust, şi
anume egal cu timpul de răspuns al celui mai rapid
bistabil aflat în starea 1 în momentul în care s-a format
starea modulului.
47
Pentru a înlătura dezavantajul schemei anterioare trebuiesc luate
măsuri de anulare a bistabilelor în timp suficient pentru a acţiona
toate bistabilele - se poate realiza cu ajutorul unui alt circuit bistabil:
Exemplu: numărător modulo 5
semnalul de anulare are următoarea expresie:
R M = ABC + ABC = AC
48
1 J 1 J 1 J 1
C B A
AC
1 K 1 K 1 K
R R R INIT
SM QM
RM QM
M
49
Intrare de
numărare
1 2 3 4 5 6
t
0 1 2 3 4 0
C
t
B
t
A
t
AC
t
QM
t
50
Ieşirea QM a bistabilului M determină anularea bistabilelor C şi A
⇒ AC=0 ⇒ M ⇨ 0.
QM trebuie readus în 1 la reînceperea ciclului de numărare.
Acest lucru se poate realiza prin negarea impulsului de tact la
intrarea SM .
⇒ frontul crescător al următorului impuls de numărare va
determina M ⇨ 1.
51
Avantaj: sunt mai rapide
Dezavantaj: conţin mai multe elemente logice
se proiectează astfel încât toate bistabilele să primească comanda
de basculare simultan, şi anume în momentul apariţiei impulsului
de tact
52
Exemplu: numărător sincron cu trei ranguri si secvenţă de
numărare in codul binar natural realizat cu CBB J-K
Tabelul 2.2.
A B C A’ B’ C’ JA KA JB KB JC KC
0 0 0 0 0 1 0 x 0 x 1 x
Secventa de numarare
0 0 1 0 1 0 0 x 1 x x 1
0 1 0 0 1 1 0 x x 0 1 x
0 1 1 1 0 0 1 x x 1 x 1
1 0 0 1 0 1 x 0 0 x 1 x
1 0 1 1 1 0 x 0 1 x x 1
1 1 0 1 1 1 x 0 x 0 1 x
1 1 1 0 0 0 x 1 x 1 x 1
0 X X 0 X 0 0 X
JB = C KB = C
C 1 X X 1 C X 1 1 X
1
B B1
A A
0 0 X X X X 0 0
JA=B*C KA = B*C
C 0 1 X X C X X 1 0
B B
trebuie analizată problema erorilor de decodificare
Avantajul oferit de libertatea de alegere a secvenţei de numărare ne
oferă o modalitate simplă de eliminare totală a eroriilor,
- se va impune condiţia ca tranziţia de la un cuvânt
din secvenţa de numărare la cel următor să se facă
prin modificarea unei singure variabile de stare
54
Exemplu: numărător sincron cu 3 ranguri care funcţioneaza
fără erori, realizat cu CBB de tip J-K
Tabelul 2.3.
A B C JA KA JB KB JC KC
0 0 0 0 x 0 x 1 x
0 0 1 0 x 1 x x 0
0 1 1 0 x x 0 x 1
0 1 0 1 x x 0 0 x
1 1 0 x 0 x 0 1 x
1 1 1 x 0 x 1 x 0
1 0 1 x 0 0 x x 1
1 0 0 x 1 0 x 0 x
0 0 0
Atentie! – la completarea diagramei
A
1 0 1 0
JC = A B + A B
C X X X X
B
55
O altă posibilitate de determinare a expresiilor funcţiilor:
se scriu din tabel expresiile stării următoare ca funcţii de
variabile A,B,C şi apoi prin identificare cu ecuatiile de stare
ale CBB se determină expresiile intrărilor CBB A, B şi C
A
0 0 1 1
A' = A B C + A B C
C 0 1 0 1
A*B
B B
dar:
A' = J A A + K A A
JA = KA = B C
56
se cere ca decodificarea stărilor să se facă fără erori
57
Tabelul 2.4.
CD\AB 00 01 11 10
00 0 4 12 8
01 1 5 13 9
11 3 7 15 11
10 2 6 14 10
58
Etapa a II-a: - determinarea ecuaţiilor intrărilor bistabilelor
Alegem CBB de tip J-K "Master-Slave“
Tabelul 2.7.
ABCD JA KA JB KB JC KC JD KD E
Tabelul 2.6. 0000 0 x 1 x 0 x 0 x 0
Q Q’ J K 0100 1 x x 0 0 x 0 x 0
0 0 0 x 1100 x 0 x 1 0 x 0 x 0
0 1 1 x 1000 x 0 0 x 1 x 0 x 0
1 0 x 1
1010 x 0 1 x x 0 0 x 0
1 1 x 0
1110 x 1 x 0 x 0 0 x 0
0110 0 x x 1 x 0 0 x 0
0010 0 x 0 x x 0 1 x 0
0011 0 x 0 x x 1 x 0 0
0001 0 x 0 x 0 x x 1 0
0101 x x x x x x x x 1
1101 x x x x x x x x 1
1001 x x x x x x x x 1
0111 x x x x x x x x 1
1111 x x x x x x x x 1
1011 x x x x x x x x 1
59
Etapa a III-a: - determinarea FMD ale funcţiilor JA, KA, JB, KB,
JC, KC, JD, KD
CD\ AB 00 01 11 10 CD\ AB 00 01 11 10
0 0 0 1 x x 0 0 1 x x 0
0 1 0 x x x 0 1 0 x x x
1 1 0 x x x 1 1 0 x x x
1 0 0 0 x x 1 0 0 x x 1
JA = B C (2.10)JB = A C + A C D
CD\ AB 00 01 11 10 CD\AB 00 01 11 10
0 0 x x 0 0 0 0 x 0 1 x
0 1 x x x x 0 1 x x x x
1 1 x x x x 1 1 x x x x
1 0 x x 1 0 1 0 x 1 0 x
KA = B C (2.11)
KB = A C + A C
60
CD\ AB 00 01 11 10 CD\ AB 00 01 11 10
0 0 0 0 0 1 0 0 0 0 0 0
0 1 0 x x x 0 1 x x x x
1 1 x x x x 1 1 x x x x
1 0 x x x x 1 0 1 0 0 0
JC = A B (2.14) J = C B A
D
CD\ AB 00 01 11 10 CD\ AB 00 01 11 10
0 0 x x x x 0 0 x x x x
0 1 x x x x 0 1 1 x x x
1 1 1 x x x 1 1 0 x x x
1 0 0 0 0 0 1 0 x x x x
KC = D (2.15) K D = C
61
Deci, s-au obţinut următoarele ecuaţii:
JA = B C KA = B C
JB = A C + A C D KB = A C + A C
JC = A B KC = D (2.18)
JD = C B A KD = C
Dacă dintr-o eroare apare vreuna dintre ultimele 6 secvenţe de
numarare (nefolosite aici) trebuiesc luate măsuri de blocare a
numărătorului sau de semnalizare a apariţiei erorii (a unei
combinaţii nepermise)
expresia funcţiei care semnalizează eroarea (E) şi care are rolul
de a inhiba decodificarea şi a iniţializa numărătorul:
CD\ AB 00 01 11 10
E = A D + BD 0 0 0 0 0 0
0 1 0 1 1 1
1 1 0 1 1 1
1 0 0 0 0 0
62
Se determină expresiile ieşirilor decodificatorului, z0, z1, ..., z9,
utilizând diagrame de minimizare
CD\ AB 00 01 11 10
0 0 1 0 0 0
0 1 0 x x x
1 1 0 x x x
1 0 0 0 0 0
Z0 = A B C D E Z5 = A B C E
Z1 = A B C E Z6 = A B C E
Z2 = A B C E Z7 = A B C D E (2.21)
Z3 = A B C E Z8 = C D E
Z4 = A B C E Z9 = C D E
Observatie: secvenţa de numărare are importanţă numai
atunci când se cere decodificarea fără erori. În restul
cazurilor, ea poate fi arbitrară.
În exemplele care urmează, pentru o mai uşoară urmărire
a expunerii, vom alege secvenţe de numărare binar
naturale.
63
Exemplu: numărător binar modulo 12, utilizând circuite
basculante bistabile de tip D
Tabelul 2.8.
ABCD DA DB DC DD E
0 0000 0 0 0 1 0
1 0001 0 0 1 0 0
2 0010 0 0 1 1 0
3 0011 0 1 0 0 0
4 0100 0 1 0 1 0
5 0101 0 1 1 0 0
6 0110 0 1 1 1 0
7 0111 1 0 0 0 0
8 1000 1 0 0 1 0
9 1001 1 0 1 0 0
10 1010 1 0 1 1 0
11 1011 0 0 0 0 0
1100 x x x x 1
1101 x x x x 1
1110 x x x x 1
1111 x x x x 1
64
CD\ AB 00 01 11 10 CD\ AB 0 0 0 1 1 1 1 0
0 0 0 0 x 1 0 0 0 0 x 0
0 1 0 0 x 1 0 1 1 1 x 1
1 1 0 1 x 0 1 1 0 0 x 0
1 0 0 0 x 1 1 0 1 1 x 1
DA = A C + B C D + A D (2.23) DC = C D + C D
CD\ AB 0 0 0 1 1 1 1 0 CD\ AB 0 0 0 1 1 1 1 0
0 0 0 1 x 0 0 0 1 1 x 1
0 1 0 1 x 0 0 1 0 0 x 0
1 1 1 0 x 0 1 1 0 0 x 0
1 0 0 1 x 0 1 0 1 1 x 1
DB = B C + B D + A B C D (2.24) DD = D
65
Schema numărătorului binar modulo 12
66
face parte din categoria numărătoarelor neautonome
funcţie de comanda dată numărătorul reversibil parcurge
secvenţa de numărare (în mod obişnuit binar-naturală) fie în
sens crescător fie în sens descrescător
Exemplu: numărător sincron reversibil cu 4 poziţii, care
numără în cod binar-natural, şi este construit cu circuite
basculante bistabile de tip T
Tabelul 2.9.
tabelul caracteristic al bistabilului T Q Q’ T
0 0 0
0 1 1
1 0 1
1 1 0
67
Tabelul 2.10.
ABCD TA TB TC TD
0000 0 0 0 1
0001 0 0 1 1
0010 0 0 0 1
0011 0 1 1 1
0100 0 0 0 1
0101 0 0 1 1
0110 0 0 0 1
0111 1 1 1 1
1000 0 0 0 1
1001 0 0 1 1
1010 0 0 0 1
1011 0 1 1 1
1100 0 0 0 1
1101 0 0 1 1
1110 0 0 0 1
1111 1 1 1 1
68
A A A
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1
D D D
0 1 1 0 1 1 1 1 1 1 1 1
C C C
B B B
0 0 0 0 0 0 0 0 0 0 0 0
B B B
69
Tabelul 2.11. se determină si ecuaţiile
ABCD T’’A T’’B T’’C T’’D intrărilor (atentie la
1111 0 0 0 1 completatrea diagramei!)
1110 0 0 1 1
1101 0 0 0 1 TD" = 1 TB" = C D
1100 0 1 1 1 TC" = D TA" = B C D
1011 0 0 0 1
1010 0 0 1 1
1001 0 0 0 1 la un moment dat se execută
1000 1 1 1 1 fie operaţia de incrementare,
0111 0 0 0 1 fie cea de decrementare
0110 0 0 1 1 INC DEC = 0
0101 0 0 0 1
0100 0 1 1 1 TA = INC TA' + DEC TA"
0011 0 0 0 1
0010 0 0 1 1
TB = INC TB' + DEC TB"
0001 0 0 0 1 TC = INC TC' + DEC TC"
0000 1 1 1 1
şi TD = INC + DEC = 1
70
în cazul în care are loc o decrementare numărătorul trebuie adus în
starea 1111 şi trebuie activat semnalul INIT”
în cazul în care are loc o incrementare se activează INIT’
71
Exemplu: Se cere să se proiecteze un numărător sincron cu
patru ranguri, prevăzut pe lângă posibilitatea de numărare cu
posibilităţi de anulare şi de încărcare. În toate cazurile se vor
folosi doar intrările sincrone.
I - intrare de numărare
Ai Di - intrări de încărcare
E, F - semnal de comandă a
modului de funcţionare.
72
Stabilim intrările pentru aceste condiţii. Semnificaţiile celor
patru situaţii care pot să apară la intrările de comandă,
corespunzătoare operaţiilor:
E F Semnificaţia comenzii
0 0 numărare N
1 1 ştergere AN
1 0 numărare N
0 1 încărcare IN
n n n n n n n n
Pt. operatia de numarare se determina: J A , K A , JB , K B , JC , K C , JD , K D
Pentru operaţia de încărcare se determină un nou set de
ecuaţii:
JiA = Ai K iA = Ai Pentru ca fiecare bistabil să
preia valorile corespondente
JiB = Bi K iB= Bi (2.32)
intrărilor Ai, Bi, Ci, Di, se
JiC = Ci K iC = Ci transformă CBB de tip J-K
JiD = Di K iD = Di "Master-Slave" în bistabil de
tip D
73
Pentru operaţia de anulare ar trebui ca intrarea J să aibă
valoarea 0 iar intrarea K să fie egală cu 1:
J aA = 0 K aA = 1
JBa = 0 K Ba = 1
J Ca = 0 K Ca = 1 (2.33)
JDa = 0 K Da = 1
( )
J A = E F + E F JnA + E F JiA + E F JaA
J A = F JnA + E F A i + E F 0
J A = F JnA + E F A i
74
K A = N K nA + IN K iA + AN K aA
K A = F K nA + E F A i + E F (2.36)
Observaţie:
Acest numărător se poate realiza cu o funcţionare în mod de
lucru asincron, caz în care s-ar putea folosi intrarea de tact ca
intrare de numărare, iar intrările J şi K pentru efectuarea
celorlalte operaţii de încărcare, respectiv de anulare.
75
Capitolul 3
CIRCUITE SECVENŢIALE CU INTRĂRI DE
COMANDĂ
MODELE DE REPREZENTARE ALE CIRCUITELOR
SECVENŢIALE
Modelul MEALY
Q = {q1, q2, q3} - mulţimea stărilor unui sistem
I = {i1, i2} - mulţimea intrărilor
W = {w1, w2} - mulţimea ieşirilor sistemului
- aplicaţia tranziţiilor - precizează pentru fiecare pereche (q, i)
starea tranziţiilor
- aplicaţia tranziţiilor - precizează ieşirea circuitului pentru
oricare pereche stare-intrare (q, i)
(q1, i1) = q2 (q1, i1) = w1
(q2, i1) = q3 (q2, i1) = w1
(q3, i1) = q1 (q3, i1)(3.1)
= w2
(q1, i2) = q2 (q1, i2) = w2
(q2, i2) = q2 (q2, i2) = w1
(q3, i2) = q3 (q3, i23) = w2
77
Un automat care este complet definit atât din punct de
vedere al tranziţiilor cât şi din punct de vedere al ieşirilor,
se numeşte automat complet definit.
Reprezentarea grafica:
graf orientat ale cărui noduri simbolizează stările, iar
arcele simbolizează tranziţiile
q1 i1i2/w
/w22
(q1, i1) = q2 q3 i2/w2
(q2, i1) = q3 i1/w1
(q3, i1) = q1 (3.1)
(q1, i2) = q2 i2/w2
(q2, i2) = q2
i1/w1
(q3, i2) = q3 q2
(q1, i1 ) = w1
(q2, i1 ) = w1
automat de tip (q3, i1 ) = w2
Mealy complet (q1, i2 ) = w2
i2/w1 (q2, i2 ) = w1
definit
(q3, i3 ) = w2
i
78 2
Figura 3.1. Graful tranziţiilor pentru automatul A
Modelul MOORE
automatul A* : Q* = {q1, q2, q3};
I* = {i1, i2};
* (q1, i1 ) = q2 W* = {w1, w2}
* (q2 , i1 ) = q1
* (q3 , i1 ) = q2 (3.3)
* (q1, i 2 ) = q3
* (q2 , i 2 ) = q2
* (q3 , i 2 ) = q1
* (q1 ) = w 1
* (q 2 ) = w 2 (3.4)
* (q3 ) = w1
79
când într-un automat nu este definită tranziţia sau ieşirea,
în graf lipsesc arcul respectiv ieşirea corespondentă
ik / - qj
qi / -
qi
ik
ik / w 1 qi/w2
qi
a. b.
q1 q2 q3
q1 0 i1 / w1 i2 / w 2 0
CA1 : q2 i 2 / w 2 0 i1 / − (3.6)
q3 i1 / w1 i 2 / w1 0
81
Moore :
◦ elementele - reuniunea intrărilor
◦ matricea conexiunilor este însoţită de o matrice coloană a
ieşirilor w - număr de elemente = numărul de stări ale
automatului, fiecare element wi reprezentând ieşirea
corespunzătoare stării qi.
q1 q2 q3
q1 0 i1 i2 w1
CA2 : q2 i
1 0 i2 ; W A2 : − (3
q3
0 i1 i2 0 w2
82
MATRICEA TRANZIŢIILOR
0 1 0 w1
Ti11 : 0 0 1 căreia i se asociazã Wi11 : – (3.8)
1 0 0 w1
0 1 0 w1
Ti11 : 1 0 0 căreia i se asociazã Wi11 : −
0 1 0 w2
Observaţii:
trecerea de la un tip de automat la alt tip de automat
este dictată de aplicaţia automatului
dacă ieşirile circuitului trebuie să fie stabile pe durata de
timp dintre tranziţii se impune folosirea unui automat
de tip Moore
automatul de tip Mealy are un caracter mai general şi
este realizabil la un preţ mai mic – are un număr mai
mic de stări
proiectarea unui automat Moore cu o anumită
comportare este mai simplă decât a unui automat Mealy
echivalent
CUITE SECVENTIALE CU INTRARI DE COMANDA 86
TRANSFORMAREA MODELULUI MOORE ÎN MEALY
q1 q2
i1/w1
i2/- i1/-
q3
A *
: I * = i1 , i2 şi W * = w1 , w2
Mulţimea Q*:
◦ se formează pentru fiecare stare qs din mulţimea Q ale
automatului A,, o mulţime PS a perechilor (qj, ik) din A,
pentru care tranziţia şi aplicaţia sunt definite
CUITE SECVENTIALE CU INTRARI DE COMANDA 90
(q j , ik ) = qS , qS Q şi
(q j , ik ) = w r sunt definite.
92
CUITE SECVENTIALE CU INTRARI DE COMANDA
Pentru automatul din exemplu:
Q = {q1, q2, q3};
I = {i1, i2};
W = {w1, w2}
(q1, i1 ) = q2 (q1, i1 ) = w 2
(q
1 2 , i ) = nedefinitã (q1, i2 ) = nedefinitã
(q2 , i1 ) = q3
(q2 , i1 ) = nedefinitã
: :
(q2 , i2 ) = nedefinitã (q2 , i2 ) = nedefinitã
(q3 , i1 ) = q2 (q3 , i1 ) = w 1
(q3 , i2 ) = q1
(q3 , i2 ) = nedefinitã
⇒
Q * = q10
*
, q*21, q*22 , q30
*
Aplicaţia * :
dacă PS = atunci * este nedefinită
⇒
*
q ( )
10 = nedefinită
*
* *
( )
q30 = nedefinită
CUITE SECVENTIALE CU INTRARI DE COMANDA 94
Dacă PS ≠ , ieşirile corespondente stărilor se obţin
din mulţimea WS corespondentă
( )
⇒ * q*22 = w 2
* *
( )
q21 = w 1
Tranziţia *
1. dacă în modelul Mealy (qj,ik) este nedefinită ⇒
tranziţiile din stările corespondente lui qj, pentru aceeaşi
intrare vor fi nedefinite
2. dacă în automatul Mealy tranziţia şi aplicaţia sunt
definite, adică:
Pentru automatul (
* q10
*
)
, i1 = q*22
din exemplu ⇒ (q
* *
10 , i ) = nedefinit
2
(q
* *
21 1 ,i ) = q
*
30
(q
* *
21 , i ) = nedefinit
2
(q
* *
22 ,i ) = q
1
*
30
(q
* *
22 , i ) = nedefinit
2
(q
* *
30 ,i ) = q
1
*
21
(q
* *
30 ,i ) = q
2
*
10
96
Graful automatului Moore echivalent
( )
a) Dacă (qS , ik ) = nedefinit * q*s t ,ik = nedefinit,
automatul Moore.
( )
b) Dacã (qS , ik ) = qS şi (qS , ik ) = w1 q j t ,ik = qS1
* *
( )
c) Dacã (qS , ik ) = qS şi (qS , ik ) = nedefinit q j t,ik = qS* 0
* *
10
CUITE SECVENTIALE CU INTRARI DE COMANDA 1
lacircuitele secvenţiale sincrone secvenţele de intrări
se modifică la intervale bine definite de timp, marcate prin
impulsuri de orologiu ⇒ o simplificare în raţionament
în
secvenţele de intrări sincrone o anumită intrare se
poate repeta de mai multe ori
Tact
t
x1
t
x2
t
X1X2 i1 i2 i2 i0 i3 i2 i0 i2
10
CUITE SECVENTIALE CU INTRARI DE COMANDA 2
la circuitele secventiale asincrone secvenţa de intrări
se obţine considerând starea intrărilor în intervalul
dintre 2 modificări succesive ale intrărilor
se consideră că modificarea stării intrărilor se face la
intervale de timp care nu depăşesc o anumită limită
inferioară, funcţie de vitezele de reacţie ale circuitelor
folosite.
se impune condiţia ca la un moment dat să nu se modifice
starea decât a cel mult uneia dintre intrări
10
CUITE SECVENTIALE CU INTRARI DE COMANDA 3
deosebirea în ceea ce priveşte forma celor 2 tipuri de
secvenţe constă în faptul că în secvenţele de intrări
sincrone o anumită intrare se poate repeta de mai
multe ori, în timp ce în secvenţele de intrări asincrone,
intrările trebuie să alterneze
10
CUITE SECVENTIALE CU INTRARI DE COMANDA 4
Exemplu: Fie un circuit secvenţial de tipul Moore,
complet definit, cu 2 ieşiri, W = {0, 1}, aflat în starea
iniţială q1.
spunem că un circuit secvenţial acceptă o secvenţă
de intrări oarecare i1, i2, ..., ip, dacă toate tranziţiile
condiţionate de aceste intrări sunt definite şi ieşirea
corespunzătoare stării în care ajunge circuitul în urma secvenţei
este 1 :
(q j ,i j ) = q j + 1 ,
(q j+1 ) = 1 .
dacă secvenţa de intrări aleasă nu acceptă condiţiile de mai
sus (adică (q j+1 ) = 0 ), spunem că secvenţa este respinsă
10
CUITE SECVENTIALE CU INTRARI DE COMANDA 5
mulţimea secvenţelor de intrări acceptate de un circuit
secvenţial constituie secvenţele de intrări recunoscute
o mulţime finită de secvenţe de intrări se numeşte
eveniment
evenimentele care pot fi descrise prin expresii formale,
numite expresii regulate, se numesc evenimente regulate
⇒ expresiile regulate oferă o modalitate de descriere a
evenimentelor recunoscute de circuitele secvenţiale
10
CUITE SECVENTIALE CU INTRARI DE COMANDA 6
Expresii regulate
DEFINIŢIE:
O expresie se numeste expresie regulată dacă
ea poate fi scrisă sau formată prin aplicarea de
un număr finit de ori a următoarelor reguli:
( )
6. 1* *2 = (1 2 ) = 1* *2
*
( )
*
(3.35)
7. * = (3.36)
8. 1 = 1 = (3.37)
9. 1 = 1 = 1 (3.3
10
CUITE SECVENTIALE CU INTRARI DE COMANDA 9
Exemplul 3.5. Se consideră expresia regulată
(i1i2 i3 ) (i3 i2i4 )
Aceasta reprezintă mulţimea de secvenţe de intrări:
(i1i2 i3 ) (i3 i2i4 ) = i1i2i3 i1i2i2i4 i3i3 i3i2i4
Exemplul 3.6. Expresia regulată (i1 i2 ) ,
*
reprezintă mulţimea infinită de secvenţe de intrări:
(i
1 )
*
i2 = , i1, i2, i1i1, i1i2, i2i1, i2i2, i1i1i1,…
,
11
CUITE SECVENTIALE CU INTRARI DE COMANDA 0
Exemplul 3.8. Expresia regulată
( i1 i2 )* i3 ( i1 i2 )*
reprezintă mulţimea de secvenţe de intrări:
(i1 i2 )* i3 (i1 i2 )* = i3, i1i3, i2 i3, i1i1i3, i1i2 i3,
…, i i , i i ,
3 1 3 2
i3 i1 i1, i3 i1 i2 ,
… , i1 i3 i1, i2 i3 i1,....
11
CUITE SECVENTIALE CU INTRARI DE COMANDA 1
Pentru obţinerea automatului care recunoaşte secvenţa
descrisă prin expresia regulată se procedează astfel:
1. Fiecărei apariţii a simbolului de intrare în expresia
regulată i se asociază o "poziţie", care se
numerotează începând de la stânga, spre dreapta.
Denumim poziţia astfel introdusă, "poziţie iniţială",
dacă vreuna dintre secvenţele de intrări descrise de
expresia regulată respectivă începe cu simbolul
asociat acestei poziţii.
Denumim o poziţie drept "poziţie finală" dacă
vreuna din secvenţele expresiei regulate se termină
cu simbolul asociat poziţiei respective.
11
CUITE SECVENTIALE CU INTRARI DE COMANDA 2
2. Numim "tranziţie" o pereche ordonată de poziţii
corespondente la 2 simboluri de intrare care formează
un segment iniţial al unei secvenţe de intrări conţinute
în mulţimea secvenţelor descrise de expresia regulată
3. O secvenţă admisă de poziţii este o secvenţă finită,
începând cu o poziţie iniţială şi terminând cu o poziţie
finală, astfel alcătuită încât orice pereche adiacentă de
poziţii din secvenţă este o tranziţie
4. Automatul care recunoaşte mulţimea secvenţelor de
intrări descrise de o expresie regulată are (2p+1) stări,
unde p este numărul de poziţii asociat expresiei iar +1
provine de la starea iniţială
= (i1 i2 )* i2 (3.
poziţia: 1 2 3
q1 (1) q5 (1,3)
q2 ( 2 ) q6 ( 2,3 )
q3 ( 3 ) q7 ( 1, 2,3 )
q 4 ( 1, 2 ) q8
poziţiile iniţiale: 1, 2 şi 3,
poziţie finală: 3 pentru că toate secvenţele expresiei
regulate se termină cu i2
Deci: I = i1,i2
W = 0,1
Q = q0 , q1,
… ,q
8
11
CUITE SECVENTIALE CU INTRARI DE COMANDA 6
5. determinarea aplicaţiei :
(q1 ) = (q2 ) = (q4 ) = (q8 ) = 0
11
CUITE SECVENTIALE CU INTRARI DE COMANDA 7
◦ Intrarea i1 corespunde poziţiei 1 căreia îi este asociată
q1 iar intrării i2 îi sunt asociate poziţiile 2 şi 3
◦ ⇒ tranziţia din starea iniţială q0 pentru intrarea i1 are
ca ţintă starea q1, iar pentru intrarea i2 are ca ţintă
starea q6
11
CUITE SECVENTIALE CU INTRARI DE COMANDA 8
Graful tranziţiilor corespunzător expresiei regulate = (i1 i2 )* i2
Observaţii:
în stările q2, q3, q4, q5, q7, q8 nu se ajunge niciodată, dacă
se plecă din starea iniţială q0
metoda devine greu de aplicat dacă numărul de poziţii
este mare.
11
CUITE SECVENTIALE CU INTRARI DE COMANDA 9
GRAFUL DE TRANZIŢIE NEDETERMINIST
reprezintă un caz mai general al diagramelor de stări (DS)
rezultă în urma eliminării restricţiilor impuse asupra (DS)
12
CUITE SECVENTIALE CU INTRARI DE COMANDA 0
DS versus GTN
DS: - fiecare stare are pentru o intrare i un singur
succesor
- pentru a determina în mod unic comportarea unui
automat se admite o singură stare iniţială
Observaţii:
Cu toate că un GTN nu poate fi folosit pentru descrierea
unui automat finit, el este util în proiectarea acestora
deoarece permite descrierea unor evenimente
Avantajul important oferit de GTN faţă de DS - se
întocmeşte mult mai uşor şi există posibilitatea transformării
GTN în DS
12
CUITE SECVENTIALE CU INTRARI DE COMANDA 3
Deoarece nici nodul 1, nici nodul 2, care alcătuiesc nodul 12,
nu au succesori pentru i2, intrarea i2 ne va conduce în nodul .
12
CUITE SECVENTIALE CU INTRARI DE COMANDA 4
REDUCEREA NUMĂRULUI DE STĂRI ALE
CIRCUITELOR SECVENŢIALE COMPLET DEFINITE
12
CUITE SECVENTIALE CU INTRARI DE COMANDA 5
două stări ale unui automat complet definit, sau făcând
parte din două automate diferite, sunt echivalente (q1q2),
dacă pentru orice secvenţă de intrări de lungime arbitrară
aplicată automatului aflat în starea q1 se obţine aceeaşi
secvenţă de ieşiri ca şi în cazul aplicării aceleaşi secvenţe
de intrări automatului aflat în starea q2
Relaţia de echivalenţă este:
reflexivă,
simetrică
tranzitivă
împarte mulţimea stărilor circuitului în clase de
echivalenţă disjuncte
Două circuite secvenţiale A1 şi A 2 sunt echivalente, notăm
A 1 A2, dacă pentru fiecare stare qi din A1 există cel puţin
o stare echivalentă qj în A2 şi invers.
12
CUITE SECVENTIALE CU INTRARI DE COMANDA 6
Exemplul 3.12. Circuitele descrise prin tabelele stărilor
şi al ieşirilor de mai jos sunt echivalente deoarece fiecărei
stări qi (i=1,2,3) din primul circuit îi corespunde o stare
echivalentă pj (j=1,2) din cel de-al doilea circuit
12
CUITE SECVENTIALE CU INTRARI DE COMANDA 7
Stare iniţială Stare iniţială
Stare q1 q3 q1 q2 q2 q1 Stare q3 q1 q3 q2 q2 q1
Intrare 0 0 1 1 0 Intrare 0 0 1 1 0
Ieşire 0 0 1 0 1 Ieşire 0 0 1 0 1
Intrare 1 1 1 0 Intrare 1 1 1 0
Ieşire 1 0 0 1 Ieşire 1 0 0 1
12
CUITE SECVENTIALE CU INTRARI DE COMANDA 9
DETERMINAREA CLASELOR DE ECHIVALENŢĂ
13
CUITE SECVENTIALE CU INTRARI DE COMANDA 0
Observaţie: Minimizarea numărului de stări se face
pentru modelul Mealy pentru că acesta are în general un
număr mai mic de stări decât modelul Moore.
În multe cazuri de echivalenţă a stărilor nu este
respectată decât condiţia:
(ii , qi ) = (ii , q j )
13
CUITE SECVENTIALE CU INTRARI DE COMANDA 2
Tabelul 3.3.
Intrare
Starea 1 2 3 4
prezentă
1 2/0 3/0 2/0 4/0 a
2 3/0 7/1 6/0 1/0 b
3 2/1 1/0 7/1 8/1 c
4 3/0 10/1 3/0 1/0 b
5 2/0 6/0 2/0 8/0 a
6 2/1 1/0 1011/1 4/1 c
7 1/1 4/1 3/1 5/1 d
8 6/0 1011/1 6/0 5/0 b
9 2/1 5/0 1011/1 4/1 c
10 1/1 2/1 6/1 5/1 d
11 1/1 2/1 6/1 5/1 d
12 1/1 3/1 2/1 1/1 d
13
CUITE SECVENTIALE CU INTRARI DE COMANDA 5
Dacă pentru oricare dintre intrări succesorii unei clase de
stări 1-echivalente fac parte din aceeaşi clasă de stări 1-
echivalente, atunci stările respective devin stări 2-
echivalente.
Dacă pentru cel puţin una dintre intrări succesorii stărilor
1-echivalente fac parte din clase de stări 1-echivalente
diferite, atunci clasa respectivă de stări 1-echivalente se
divide în mai multe clase de stări 2-echivalente, astfel încât
fiecare clasă de stări 2-echivalente să conţină stările ale
căror succesori fac parte din aceleaşi clasă de stări 1-
echivalente.
În clasa (a) stările 1 şi 5 sunt şi stări 2-echivalente, ş.a.m.d.
Pentru clasa d: din cele 3 stări 1-echivalente numai două
sunt şi stări 2-echivalente clasa se separă în alte două
calse, notate d şi e.
13
CUITE SECVENTIALE CU INTRARI DE COMANDA 6
Tabelul 3.5.
Intrare
Clasa Stare 1 2 3 4
prezentă
1 2b 3c 2b 4b
a
5 2b 6c 2b 8b
2 3c 7d 6c 1a
b 4 3c 10d 3c 1a
8 6c 10d 6c 5a
3 2b 1a 7d 8b
c 6 2b 1a 10d 4b
9 2b 5a 10d 4b
7 1a 4b 3c 5a
d
10 1a 2b 6c 5a
e 12 1a 3c 2b 1e
13
CUITE SECVENTIALE CU INTRARI DE COMANDA 7
Se repetă procedura pentru determinarea stărilor 3-
echivalente ş.a.m.d.
Dacă nu există stări echivalente se obţine în final o
partiţie formată din clase cu câte un singur element
Pentru fiecare clasă se va alege un reprezentant, de
exemplu stările 1, 2, 3, 7 şi 12, şi se copiază din tabelul
iniţial numai rândurile corespunzătoare acestor stări
Observaţie: în noul tabel, care va conţine reprezentanţii
claselor de echivalenţă, toate stările echivalente trebuie să
fie notate cu acelaşi simbol - simbolul reprezentantului ales
13
CUITE SECVENTIALE CU INTRARI DE COMANDA 8
Tabelul 3.6.
Intrare
Stare 1 2 3 4
prezentă
1 2/0 3/0 2/0 2/0
2 3/0 7/1 3/0 1/0
3 2/1 1/0 7/1 2/1
7 1/1 2/1 3/1 1/1
12 1/1 3/1 2/1 1/1
Observaţie:
Această metodă de reducere a numărului de stări este
puţin aplicată, în primul rând pentru că automatele
complet definite sunt mai rare şi în plus metoda
presupune un volum mare de muncă
13
CUITE SECVENTIALE CU INTRARI DE COMANDA 9
METODA TABELULUI IMPLICAŢIILOR
14
CUITE SECVENTIALE CU INTRARI DE COMANDA 0
Exemplul 3.13. Se cere să se reducă numărul de stări ale
automatului definit de tabelul tranziţiilor şi al ieşirilor 3.3
Tabelul 3.3.
Intrare
Starea 1 2 3 4
prezentă
1 2/0 3/0 2/0 4/0 a
2 3/0 7/1 6/0 1/0 b
3 2/1 1/0 7/1 8/1 c
4 3/0 10/1 3/0 1/0 b
5 2/0 6/0 2/0 8/0 a
6 2/1 1/0 11/1 4/1 c
7 1/1 4/1 3/1 5/1 d
8 6/0 11/1 6/0 5/0 b
9 2/1 5/0 11/1 4/1 c
10 1/1 2/1 6/1 5/1 d
11 1/1 2/1 6/1 5/1 d
12 1/1 3/1 2/1 1/1 d
14
CUITE SECVENTIALE CU INTRARI DE COMANDA 2
✓
14
CUITE SECVENTIALE CU INTRARI DE COMANDA 3
4. Se urmăreşte stabilirea faptului dacă implicaţiile cerute
pentru echivalenţa unei perechi de stări sunt sau nu
satisfăcute: se inspectează tabelul implicaţiilor începând
cu celula din colţul din dreapta jos pentru a găsi
perechile de stări incompatibile şi implicaţiile lor
Prima celulă marcată cu X apare pe coloana 9 şi ei îi
corespunde perechea de stări (9,12). Deoarece aceste
perechi de stări nu pot fi echivalente, rezultă că oricare
altă pereche de stări care pentru a fi echivalente
implică echivalenţa stărilor 9 şi 12 devine
incompatibilă, prin urmare celulele corespondente
trebuiesc tăiate cu 2 linii oblice
14
CUITE SECVENTIALE CU INTRARI DE COMANDA 4
◦ Pentru a marca faptul că o incompatibilitate a fost luată
în considerare se încercuieşte celula respectivă.
5. După terminarea inspecţiei se reia procedura pentru a
lua în considerare eventualele incompatibilităţi apărute
şi de care nu s-a ţinut cont (nu sunt încercuite)
14
CUITE SECVENTIALE CU INTRARI DE COMANDA 6
REDUCEREA NUMĂRULUI DE STĂRI ÎN
CIRCUITELE SECVENŢIALE INCOMPLET
DEFINITE
Pentru a face posibilă reducerea numărului de stări se caută
stările care în condiţiile restrictive date (nu este definită fie
tranziţia fie ieşirea) şi pentru secvenţele de intrări care apar
în realitate se comportă identic
2 stări care respectă condiţia de echivalenţă în toate
cazurile în care sunt specificate ieşirile şi stările următoare
se numesc stări compatibile
Numim i1, i2, ..., ip secvenţă de intrări aplicabilă
circuitului aflat într-o anumită stare q1, dacă în urma
aplicării secvenţei se obţine o ieşire definită
14
CUITE SECVENTIALE CU INTRARI DE COMANDA 7
Exemplul 3.14. În tabel stările 5 şi 6 sunt stări compatibile.
Tabelul 3.8.
Intrare
Stare 00 01 11 10
prezentă
… …
5 1/– –/– –/1 5/0
6 1/0 4/1 –/– –/–
… …
14
CUITE SECVENTIALE CU INTRARI DE COMANDA 9
Pentru determinarea perechilor de stări compatibile în
tabelul implicaţilor - se consideră stările care nu respectă
condiţia de compatibilitate ca fiind 2 stări incompatibile.
Pentru stările a căror compatibilitate este condiţionată se
înscriu în tabel implicaţile necesare.
Formarea claselor de compatibilităţi:
definim drept clasă de compatibilităţi o mulţime de stări
pt. care fiecare pereche de stări din mulţimea respectivă este
o pereche de stări compatibile
Numim compatibilitate maximă acea clasă de
compatibilităţi care nu mai rămâne clasă de compatibilităţi
atunci când se mai adaugă o stare care nu face parte din clasa
respectivă.
15
CUITE SECVENTIALE CU INTRARI DE COMANDA 0
În acord cu definiţia, o stare care nu este compatibilă cu nici
o altă stare este o compatibilitate maximă.
Selectarea mulţimii minime de clase de compatibilităţi
1~ 2
1~ 3
1~ 5
2~3
2~4
4~5
15
CUITE SECVENTIALE CU INTRARI DE COMANDA 2
Pentru stabilirea claselor de compatibilităţi se grupează
numărul maxim de perechi reciproc compatibile
{1,2,3}
Pentru a verifica dacă această compatibilitate este maximă,
încercăm să mai adăugăm o stare
De exemplu dacă s-ar încerca adăugarea stării 5, având în
vedere că 1 5, ar trebui ca şi 3 5, ceea ce însă nu este
adevărat. Deci starea 5 nu poate face parte din această clasă
de compatibilităţi.
În final se obţin următoarele clasele de compatibilităţi, care
se observă că nu sunt disjuncte:
{1,2,3} {1,5}
{2,4} {4,5}
15
CUITE SECVENTIALE CU INTRARI DE COMANDA 3
Operaţia de găsire a claselor de compatibilităţi maxime din
tabelul implicaţiilor poate fi formalizată prin inspecţia pe
coloane de la dreapta spre stânga a tabelului.
Tabelul 3.11.
Coloana Compatibilităţi
4 {4, 5}
3 {4, 5}
2 {4, 5} {2, 4} {2, 3}
1 {4, 5} {2, 4} {1, 2, 3} {1, 5}
15
CUITE SECVENTIALE CU INTRARI DE COMANDA 9
În general, pentru a codifica n stări cu r cifre binare, unde r
depinde de numărul de stări al tabelului stărilor, există
r
2! posibilitati
(2 − n ) !
r
16
CUITE SECVENTIALE CU INTRARI DE COMANDA 0
3.10.1. METODE APROXIMATIVE DE CODIFICARE
A STĂRILOR
Exemplul 3.16. Se dă automatul definit prin tabelul
tranziţiilor şi al ieşirilor 3.15, în care intrările şi ieşirile
sunt deja codificate.
Tabelul 3.15.
Intrare
Stare 00 01 11 10
prezentă
1 1/0 2/0 3/1 2/1
2 2/0 3/1 1/0 3/1
3 3/0 1/1 1/1 1/1
16
CUITE SECVENTIALE CU INTRARI DE COMANDA 2
Tabelul 3.16.
Intrare
Stare 00 01 11 10
prezentă
a1b1 a1b1/0 a2b2/0 a3b3/1 a2b21
a2b2 a2b2/0 a3b3/1 a1b1/0 a3b3/1
a3b3 a3b3/0 a1b1/1 a1b1/0 a1b1/1
E1
Y1 ' = a1{X1 X 2 Y1a1 Y2b1 + X1X 2 Y1a 3 Y2b3 + X1X 2 (Y1a 2 Y2b 2 + Y1a 3 Y2b3 ) +
E1 E2
+ X1 X 2 Y1a 3 Y2b3 } + a 2 (X1 X 2 Y1a 2 Y2b 2 + X1X 2 Y1a1 Y2b1 + X1 X 2 Y1a1 Y2b1 )
E3
+ a 3 (X1 X 2 Y1a 3 Y2b3 + X1X 2 Y1a 2 Y2b 2 + X1X 2 Y1a1 Y2b1 + X1 X 2 Y1a 2 Y2b 2 )
Y2 ' = b1 (E1 ) + b 2 (E 2 ) + b 3 (E 3 )
Tabelul 3.17.
Y1 Y2
1 a1 0 b1 0 01 E1’ E1’’ particulari-
2 a2 0 b2 1 10 E2’ E2’’ zare pentru
3 a3 1 b3 0 11 E3’ E3’’ codul I şi II
Cod I Cod II
ai bi ai bi
16
CUITE SECVENTIALE CU INTRARI DE COMANDA 4
Făcând notaţiile de mai sus, pentru cele două coduri se poate scrie:
100 100
3 2 101 101
3 2
110 1 110 1
5 4 001 6 4 001
010 6 5
011 010
011
a. b.
17
CUITE SECVENTIALE CU INTRARI DE COMANDA 1
Dificultatea metodei:determinarea tuturor partiţiilor închise pentru
mulţimea stărilor unui circuit secvenţial dat.
O partiţie închisă poate fi obţinută sistematic plecând de la o anumită
pereche de stări şi determinând pe baza tabelului stărilor succesorii
acesteia, respectiv a tuturor perechilor de stări astfel obţinute, pentru
toate intrările posibile.
Mulţimea perechilor astfel obţinute reprezintă în cazul în care include
toate stările o partiţie închisă, deoarece fiecare din perechile de stări
astfel obţinute are proprietatea că succesorii ambelor stări, pentru
aceaşi intrare, sunt incluşi în acelaşi bloc al partiţiei.
Deoarece această proprietate este tranzitivă, perechile pot fi grupate
obţinându-se o partiţie cu blocuri formate din mai mult decât 2 stări
a. b. c.
17
CUITE SECVENTIALE CU INTRARI DE COMANDA 6
Dacă se alege pentru codificare partiţia P2, se obţin codificările:
1 110 5 001
2 000 6 101
3 010 7 011
4 100
17
CUITE SECVENTIALE CU INTRARI DE COMANDA 8
Pentru Y2 '
Pentru Y1'
Y1' = Y3 Y2 + ( X 1 X 2 + X 1X 2 )Y2 Y2
17
CUITE SECVENTIALE CU INTRARI DE COMANDA 9
Dacă notăm C = X1 X 2 + X1 X 2
atunci:
Y3 ' = Y3
Y2 ' = Y3Y1 + C Y1 + C Y3Y2
Y1 ' = Y3 Y2 + C Y2 Y1
18
CUITE SECVENTIALE CU INTRARI DE COMANDA 0