Dan NICULA
ELECTRONIC
˘
A DIGITAL
˘
A
Carte de ˆınat¸˘atur˘a 2.0
Editura Universit˘at¸ii TRANSILVANIA din Bra¸sov
ISBN 978-606-19-0563-8
2015
Lect¸ia 16
Sinteza circuitelor logice secvent¸iale
16.1 Not¸iuni teoretice
Metodologia de sintez˘a a automatelor presupune parcurgerea urm˘atoarelor etap e:
1. Din descrierea existent˘a, se deduce funct¸ionalitatea automatului ¸si se descrie ˆın una din formele de reprezentare:
organigram˘a sau graf de tranzit¸ii.
2. Dac˘a este posibil, se reduc st˘arile redundante. St˘arile redundante sunt st˘arile din care automatul evoluez˘a identic
¸si ˆın care se activeaz˘a acelea¸si ie¸siri.
3. Se codific˘a st˘arile prin asocierea acestora cu coduri binare unice, proiectate cu anumite constrˆangeri (num˘ar
minim de bit¸i, cu dependent¸˘a redus˘a, cu variat¸ie minim˘a, one-hot).
4. Se alege tipul de bistabile folosite pentru implementare (D, T sau JK).
5. Se completeaz˘a tabelul de tranzit¸ii cu toate st˘arile ¸si toate combinat¸iile intr˘arilor.
6. Se completeaz˘a tabelul de tranzit¸ii cu st˘arile urm˘atoare ¸si ie¸sirile. Dac˘a implementarea se face cu bistabile T
sau JK, se completeaz˘a tabelul de tranzit¸ii cu coloanele asociate stimulilor bistabilelor.
7. Se minimizeaz˘a funct¸iile st˘arii urm˘atoare (sau ale stimulilor pentru determinarea st˘arilor urm˘atoare) ¸si ale
ie¸sirilor.
8. Se deduc ecuat¸iile st˘arii urm˘atoare (sau ale stimulilor pentru determinarea st˘arilor urm˘atoare) ¸si ale ie¸sirilor.
9. Se deseneaz˘a schema de implementare cu bistabilele alese ¸si logica determinat˘a de ecuat¸iile deduse anterior.
Tabelele urm˘atoare prezina modul ˆın care se determin˘a ecuat¸iile stimulilor pentru bistabile, pe baza st˘arii curente
¸si a celei viitoare:
D Q
+
Q Q
+
D = Q
+
0 0 0 0 0
1 1 0 1 1
1 0 0
1 1 1
T Q
+
Q Q
+
T = Q Q
+
0 Q 0 0 0
1 Q 0 1 1
1 0 1
1 1 0
210 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
J K Q
+
Q Q
+
J = Q
+
K = Q
+
0 0 Q 0 0 0 X
0 1 0 0 1 1 X
1 0 1 1 0 X 1
1 1 Q 1 1 X 0
a)
b)
c)
d)
Figura 16.1 Transformarea simbolurilor din orgranigram˘a ˆıntr-o implementare de automat cu st˘ari codificate ”one-hot: a)
simbol de stare, b) simbol de decizie, c) jonct¸iune, d) simbol de ie¸sire imediat˘a.
Implementarea unui automat ”one-hot” presupune codificarea st˘arilor cu ate un bit pentru fiecare stare, astfel
ˆıncˆat starea curent˘a a fie determinat˘a de valoarea 1 a bistabilului ce corespunde st˘arii. La un moment dat, un singur
bistabil de stare este 1, celelalte bistabile fiind 0.
Pornind de la organigrama automatului, se poate realiza direct o implementare cu codificarea st˘arilor ”one-hot” pe
baza urm˘atoarelor aso cieri:
- simbolurile de stare se ˆınlocuiesc cu bistabile D;
- simbolurile de decizie se ˆınlocuiesc cu un demultiplexor 1:2;
- jonct¸iunile (mai multe ai de intrare ˆıntr-o stare) se ˆınlocuiesc cu port¸i OR;
- ie¸sirile condit¸ionate (ˆın cazul automatelor Mealy) se obt¸in de la ie¸sirile demultiplexorului de decizie.
Fiecare simbol de stare este ˆınlocuit cu un bistabil D, ca ˆın figura 16.1-a astfel:
- punctul de intrare ˆın stare este conectat la intrarea D;
- punctul de ie¸sire din stare este conectat la ie¸sirea Q;
- ceasul bistabilului este conectat la portul de ceas al automatului.
Fiecare simbol de decizie este ˆınlocuit cu un demutiplexor 1:2, ca ˆın figura 16.1-b astfel:
- punctul de intrare ˆın simbolul de decizie se conecteaz˘a pe intrarea de date a demultiplexorului;
- condit¸ia deciziei se conecteaz˘a pe intrarea de select¸ie a demultiplexorului;
- punctele de ie¸sire din simbolul de decizie sunt asociate cu ie¸sirile demultiplexorului.
Dac˘a ˆıntr-o stare se ajunge din dou˘a sau mai multe cauze (st˘ari sau condit¸ii diferite) ˆın organigram˘a apare o
junct¸iune. Intr˘arile ˆın jonct¸iune se transform˘a ˆın intrari ˆıntr-o poart˘a OR, sa ca ˆın figura 16.1-c. Ie¸sirea port¸ii OR
reprezina ie¸sirea din jonct¸iune care se conecteaz˘a pe intrarea simbolului ce ˆıi succede.
Intrarea ˆın simbolurile de ie¸sire condit¸ionat˘a provine ˆıntotdeauna de la ie¸sirea unui simbol de decizie. Ie¸sirea
condit¸ionat˘a se obt¸ine de la ie¸sirea corespunz˘atoare a demultiplexorului ce corespunde simbolului de decizie precedent,
sa ca in figura 16.1-d. Dac˘a ˆın organigram˘a apar mai multe simboluri de ie¸siri imediate asociate aceleia¸si ie¸siri, se
16.2. Pentru cei ce vor doar a promoveze examenul 211
adaug˘a o poart˘a OR ˆın care intr˘a semnalele provenite de la ie¸sirile demultiplexoarelor. Ie¸sirea port¸ii OR va semnalul
de ie¸sire imediat˘a.
Ie¸sirile de stare (ale automatelor Moore) se obt¸in printr-o poart˘a OR ˆın care intr˘a ie¸sirile Q asociate bistabilelor
st˘arilor ˆın care ie¸sirea este activ˘a.
16.2 Pentru cei ce vor doar a promoveze examenul
1. Implementat¸i cu bistabile D ¸si un num˘ar minim de port¸i NAND automatele secvent¸iale sincrone cu funct¸ionarea
descris˘a prin organigramele prezentate ˆın figura 16.2.
a) c)
b) d)
Figura 16.2 Organigrame pentru problema 1.
2. Proiectat¸i un automat cu bistabile D care are o intrare de validare EN.
Dac˘a EN = 0 automatul ˆı¸si astreaz˘a starea.
Dac˘a EN = 1, automatul cicleaz˘a ˆıntre st˘arile 00, 10, 01, 11.
212 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
16.3 Pentru cei ce vor a ˆınvet¸e
1. Implementat¸i cu bistabile T ¸si un num˘ar minim de port¸i NAND automatele secvent¸iale sincrone avˆand funct¸ionarea
descris˘a prin organigramele prezentate ˆın figura 16.3.
a) b)
c) d) e)
Figura 16.3 Organigrame pentru problema 1.
Solut¸ie
d) Circuitul are dou˘a intr˘ari (A ¸si B) ¸si dou˘a ie¸siri (X ¸si Z). Este un automat Mealy (deoarece cont¸ine un
simbol de ie¸sire imediat˘a Z). Cele 4 st˘ari pot codificate cu un num˘ar minim de 2 bit¸i. Tabelul de tranzit¸ii
cont¸ine coloane pentru dou˘a intr˘ari, starea curena (2 bit¸i), starea viitoare (2 bit¸i) ¸si dou˘a ie¸siri.
ˆ
In plus, se
ata¸seaz˘a dou˘a coloane pentru stimulii bistabilelor T.
Pe baza organigramei, ˆın prima etap˘a se completeaz˘a coloana st˘arii viitoare. Ulterior, se deduc coloanele aferente
intr˘arilor bistabilelor, prin referire la comportamentul bistabilelor T descris de tabelul:
16.3. Pentru cei ce vor a ˆınvet¸e 213
Q Q
+
T
0 0 0
0 1 1
1 0 1
1 1 0
Tabelul de tranzit¸ii este:
Linia Intr˘ari Stare prezent˘a Stare viitoare Ie¸siri Stimuli T
A B Q
1
Q
0
Q
+
1
Q
+
0
X Z T
1
T
0
1 0 - 0 0 1 0 0 0 1 0
2 1 - 0 0 0 1 0 0 0 1
3 - 0 0 1 1 1 1 0 1 0
4 - 1 0 1 0 0 1 0 0 1
5 - 0 1 0 1 0 0 1 0 0
6 - 1 1 0 1 1 0 1 0 1
7 0 - 1 1 1 0 1 1 0 1
8 1 - 1 1 0 0 1 0 1 1
Analogia dintre liniile din tabelul de tranzit¸ii ¸si asut¸ele din diagrama V-K este prezentat˘a ˆın figura 16.4, al˘aturi
de diagrame V-K asociate funct¸iilor T
1
, T
0
, X, Z dependente de (A, B, Q
1
, Q
0
).
Linii T
1
T
0
X Z
Figura 16.4 Diagrame V-K, pentru problema 1-d.
Dup˘a minimizare, rezult˘a ecuat¸iile:
T
1
= Q
1
· Q
0
· A + Q
0
· A · B + Q
1
· A · B + Q
1
· Q
0
· A
T
0
= Q
1
· B + Q
1
· Q
0
+ Q
0
· B + Q
1
· Q
0
· A
X = Q
0
Z = Q
1
· A + Q
1
· Q
0
Implementarea automatului este prezentat˘a ˆın figura 16.5.
2. Un automat cu 3 st˘ari ¸si dou˘a intr˘ari funct¸ionez˘a conform grafului de tranzit¸ii prezentat ˆın figura 16.6, (”-”
desemneaz˘a o intrare indiferent˘a).
214 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
Figura 16.5 Implementarea automatului cu bistabile T, problema 1-d.
a) Implementat¸i automatul cu port¸i logice NAND ¸si bistabile D, cu codificare cu num˘ar minim de bit¸i.
b) Implementat¸i automatul cu codificarea st˘arilor ”one-hot”.
Solut¸ie
a) Pentru codificarea cu num˘ar minim de bit¸i, pentru cele 3 st˘ari se folosesc 2 bit¸i (Q
1
, Q
0
). Se propune
codificarea: A = 00, B = 01, C = 10.
Tabelul de tranzit¸ii este:
Intr˘ari Stare prezena Stare viitoare
X Y Nume Q
1
Q
0
Nume D
1
D
0
0 - A 0 0 A 0 0
1 - A 0 0 B 0 1
- 1 B 0 1 C 1 0
0 0 B 0 1 A 0 0
1 0 B 0 1 B 0 1
- 0 C 1 0 A 0 0
- 1 C 1 0 C 1 0
Pe baza acestui tabel de tranzit¸ii se construiesc diagramele V-K prezentate ˆın figura 16.6. Dup˘a minimizare, se
obt¸in funct¸iile:
D
1
= Y · Q
1
· Q
0
+ Y · Q
1
· Q
0
D
0
= X · Y · Q
1
+ X · Q
1
· Q
0
b) Codificarea ”one-hot” const˘a ˆın asocierea fiec˘arei st˘ari cu un bistabil. La un moment dat, un singur bistabil
are starea egal˘a cu 1, semnificˆand faptul a automatul se afl˘a ˆın acea stare. Se noteaz˘a ie¸sirile bistabilelor
asociate celor 3 st˘ari cu Q
A
, Q
B
¸si Q
C
.
Ecuat¸iile intr˘arilor bistabilelor se pot deduce din graful de tranzit¸ii. Condit¸iile de activare a unei st˘ari sunt
determinate de arcele care se termin˘a pe nodul asociat acelei st˘ari.
D
A
= Q
A
· X + Q
B
· X · Y + Q
C
· Y
D
B
= Q
A
· X + Q
B
· X · Y
D
C
= Q
B
· Y + Q
C
· Y
16.3. Pentru cei ce vor a ˆınvet¸e 215
Figura 16.6 Graf de tranzit¸ie ¸si diagrame V-K pentru problema 2.
3. Realizat¸i tabelul de tranzit¸ii al automatului caracterizat de graful de tranzit¸ii prezentat ˆın figura 16.7.
Minimizat¸i funct¸iile ¸si implementat¸i automatul cu port¸i NAND ¸si bistabile D. Notat¸i bit¸ii st˘arii curente Q
1
¸si
Q
0
.
O alternativ˘a de codare a st˘arilor ”one-hot” este: S
A
= 0001, S
B
= 1000, S
C
= 0010, S
D
= 0100. Notat¸i bit¸ii
de stare curena (Q
D
, Q
C
, Q
B
, Q
A
). Implementat¸i automatul cu codificarea propus˘a.
Figura 16.7 Graf de tranzit¸ii pentru problema 3.
4. Proiectat¸i automatele descrise de grafurile de tranzit¸ii din figura 16.8 cu bistabile D ¸si un num˘ar minim de port¸i
logice. Cu ”X” a fost marcat˘a o valoare indiferent˘a a intr˘arii.
Proiectat¸i automatele descrise de acelea¸si grafuri de tranzit¸ii cu bistabile JK sau bistabile T.
Pentru graful de tranzit¸ii a), determinat¸i secvent¸a st˘arilor ¸si valorile ie¸sirilor ˆın cazul aplic˘arii pe intrare a
secvent¸ei 11001100110101010111100001111110000 (presupunet¸i starea init¸ial˘a 00).
5. Proiectat¸i cu bistabile T un automat care num˘ar˘a ˆın secvent¸a binar˘a 0, 2, 3, 6, 7.
Solut¸ie
Automatul are 5 st˘ari. Sunt necesari 3 bit¸i pentru a codifica st˘arile. Automatul nu are intr˘ari. Se codific˘a st˘arile
astfel ˆıncˆat ie¸sirile a provin˘a de la bit¸ii de stare, ar˘a logic˘a adit¸ional˘a. Fiec˘arui bit de stare i se va aso cia un
bistabil T. Tabelul de tranzit¸ii al automatului este:
216 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
a) b) c)
d) e) f)
Figura 16.8 Grafuri de tranzit¸ii pentru problema 4.
Stare prezent˘a Stare viitoare Stimuli T
Nume Q
2
Q
1
Q
0
Nume Q
+
2
Q
+
1
Q
+
0
T
2
T
1
T
0
0 0 0 0 2 0 1 0 0 1 0
2 0 1 0 3 0 1 1 0 0 1
3 0 1 1 6 1 1 0 1 0 1
6 1 1 0 7 1 1 1 0 0 1
7 1 1 1 0 0 0 0 1 1 1
1 0 0 1 0 0 0 0 0 0 1
4 1 0 0 0 0 0 0 1 0 0
5 1 0 1 0 0 0 0 1 0 1
Stimulii T
i
se determin˘a p e baz˘a st˘arii prezente Q
i
¸si a st˘arii viitoare Q
+
i
dup˘a algoritmul:
- dac˘a starea viitoare este identic˘a cu starea prezent˘a (Q
i
= Q
+
i
) atunci T
i
= 0;
- dac˘a starea viitoare este diferit˘a de starea prezena (Q
i
̸= Q
+
i
) atunci T
i
= 1.
St˘arile care nu apar ˆın secvent¸˘a trebuie considerate ca indiferente sau, pentru sigurant¸˘a, se poate proiecta
automatul a revin˘a ˆın secvent¸a de num˘arare.
Diagramele V-K asociate funct¸iilor T
i
, i {2, 1, 0} ¸si implementarea automatului cu bistabile T sunt prezentate
ˆın figura 16.9.
T
2
= Q
2
· Q
1
+ Q
1
· Q
0
T
1
= Q
2
· Q
1
· Q
0
+ Q
2
· Q
1
· Q
0
T
0
= Q
1
+ Q
0
6. Pentru automatele descrise la problema 5 ad˘augat¸i o intrare de validare activ˘a ˆın 1:
- dac˘a intrarea este egal˘a cu 1 automatul funct¸ioneaz˘a ca ¸si cel init¸ial,
- dac˘a intrarea este egal˘a cu 0, automatul ˆı¸si astreaz˘a starea.
Prezentat¸i grafurile de tranzit¸ie ale automatelor cu ¸si ar˘a intrare de validare. Implementat¸i modificarea ˆın dou˘a
variante:
a) prin metodologia clasic˘a de implementare a unui automat;
b) ad˘augˆand fiec˘arui bistabil un multiplexor 2:1 care a implementeze facilitatea de astrare a st˘arii curente.
7. Proiectat¸i cu bistabile D/T/JK automatul care num˘ar˘a ˆın secvent¸ele binare:
a) 0, 1, 3, 4, 5, 6;
b) 0, 6, 4, 3, 2;
c) 0, 7, 6, 1, 3, 4;
16.3. Pentru cei ce vor a ˆınvet¸e 217
T
2
T
1
T
0
Figura 16.9 Diagrame V-K ¸si implementare cu bistabile T a automatului descris la problema 5.
d) 0, 4, 5, 6, 1, 2, 3, 7;
e) 0, 1, 2, 3, 5, 6.
Propunet¸i circuite pentru init¸ializare ˆın starea 0 ¸si revenire ˆın aceast˘a stare din st˘arile ce nu apart¸in ciclurilor.
8. Proiectat¸i cu bistabile D/JK/T un num˘ar˘ator ˆın cod BCD.
9. Proiectat¸i cu bistabile D/JK/T un num˘ar˘ator ˆın cod Gray pe 2, 3 ¸si 4 bit¸i.
10. Proiectat¸i un num˘ar˘ator de 4 bit¸i ˆın secvent¸a 0, 1, 2, 3, 2, 4, 5, 6, 7. Se observ˘a a starea 2 are dou˘a aparit¸ii ˆın
cadrul acestui ciclu.
Solut¸ie
De¸si automatul are 8 seturi distincte de ie¸siri (posibil de codat cu 3 bit¸i) automatul are 9 st˘ari diferite. St˘arile
ˆın care ie¸sirea este egal˘a cu 2 sunt diferite: ˆın prima se ajunge ˆın succesiunea 1, 2, 3, ˆın cealalt˘a se ajunge ˆın
succesiunea 3, 2, 4. Se noteaz˘a cele 3 ie¸siri O
2
, O
1
, O
0
. Automatul are 9 st˘ari codificate cu un num˘ar minim de 4
bit¸i. Bit¸ii st˘arii curente se denumesc Q
3
, Q
2
, Q
1
, Q
0
. Automatul nu are intr˘ari, graful de tranzit¸ii al automatului
fiind sub forma unui inel de 9 st˘ari cu tranzit¸ii necondit¸ionate dintr-o stare ˆın alta. Pentru a minimiza circuitul
combinat¸ional al ie¸sirilor se pot codifica st˘arile astfel ˆıncˆat 3 bit¸i de stare a coincid˘a cu bit¸ii de ie¸sire. Ideea
este ca st˘arile ˆın care ie¸sirea este 2 a difere printr-un singur bit, iar cei mai put¸in semnificativi bit¸i a fie 010.
Deci, se for codifica st˘arile cu ie¸sirea egal˘a cu 2 astfel: S
2
= 0010 ¸si S
10
= 1010. Codificarea este prezentat˘a ˆın
tabelul de tranzit¸ii:
218 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
Stare prezent˘a Stare viitoare Ie¸siri
Nume Q
3
Q
2
Q
1
Q
0
Nume Q
+
3
Q
+
2
Q
+
1
Q
+
0
Num˘ar O
2
O
1
O
0
S
0
0 0 0 0 S
1
0 0 0 1 0 0 0 0
S
1
0 0 0 1 S
2
0 0 1 0 1 0 0 1
S
2
0 0 1 0 S
3
0 0 1 1 2 0 1 0
S
3
0 0 1 1 S
10
1 0 1 0 3 0 1 1
S
10
1 0 1 0 S
4
0 1 0 0 2 0 1 0
S
4
0 1 0 0 S
5
0 1 0 1 4 1 0 0
S
5
0 1 0 1 S
6
0 1 1 0 5 1 0 1
S
6
0 1 1 0 S
7
0 1 1 1 6 1 1 0
S
7
0 1 1 1 S
0
0 0 0 1 7 1 1 1
11. Se consider˘a organigrama din figura 16.10.
a) a se implementeze automatul descris de organigram˘a cu bistabile D ¸si codificarea st˘arilor:
S
1
= 00, S
2
= 01, S
3
= 10, S
4
= 11.
b) a se implementeze automatul descris de organigram˘a cu bistabile D ¸si codificarea st˘arilor:
S
1
= 00, S
2
= 11, S
3
= 10, S
4
= 01. a se compare implementarea cu cea realizat˘a la punctul a).
c) a se implementeze automatul descris de organigram˘a cu bistabile T ¸si codificarea st˘arilor:
S
1
= 00, S
2
= 11, S
3
= 10, S
4
= 01.
d) a se implementeze automatul descris de organigram˘a cu bistabile D ¸si codificarea st˘arilor ”one=hot”:
S
1
= 0001, S
2
= 0010, S
3
= 0100, S
4
= 1000.
Studiat¸i comportamentul circutului ˆın cazul aparit¸iei unor st˘ari interzise 0011, 0000, 0111. Propunet¸i un circuit
combinat¸ional pentru semnalarea posibilelor erori de stare.
e) a se implementeze automatul convertind direct organigrama ˆın circuit, prin asocierea fiec˘arei st˘ari cu un
bistabil D.
Figura 16.10 Organigram˘a pentru problema 11.
12. a se implementeze un automat a arui funct¸ionare este descris˘a de formele de und˘a ale ie¸sirilor, prezentate ˆın
figura 16.11-a.
Solut¸ie
Se observ˘a a automatul prezina 3 st˘ari (a, b, c), nu are intr˘ari ¸si se reseteaz˘a ˆın starea a.
ˆ
In cazul co dific˘arii
st˘arilor cu 2 bit¸i (Q
1
, Q
0
): a = 00, b = 01, c = 10 rezult˘a tabelul de tranzit¸ii:
16.3. Pentru cei ce vor a ˆınvet¸e 219
a) b)
Figura 16.11 a) Forme de und˘a, b) Automatul pentru problema 12.
Stare prezent˘a Stare viitoare Ie¸siri
Nume Q
1
Q
0
Nume Q
+
1
Q
+
0
Y
2
Y
1
Y
0
a 0 0 b 0 1 1 0 0
b 0 1 c 1 0 0 1 1
c 1 0 a 0 0 0 0 1
- 1 1 - - - - - -
ˆ
In tabel s-a inclus ¸si starea neprezentat˘a ˆın formele de und˘a (11) din care s-a proiectat o tranzit¸ie ˆıntr-o stare
indiferena ¸si ie¸siri indiferente.
Rezult˘a ecuat¸iile st˘arii viitoare ¸si ale ie¸sirilor:
D
1
= Q
0
D
0
= Q
1
· Q
0
Y
2
= Q
1
· Q
0
= D
0
Y
1
= Q
0
= D
1
Y
0
= Q
1
+ Q
0
Starea care urmeaz˘a st˘arii prezente 11 este c = 10, iar ie¸sirile ˆın aceast˘a stare sunt Y
2,1,0
= 011.
Structura automatului implementat cu bistabile D este prezentat˘a ˆın figura 16.11-b.
13. a se implementeze un automat cu o intrare X a arui funct¸ionare este descris˘a de formele de und˘a ale ie¸sirilor,
prezentate ˆın figura 16.12-a.
Solut¸ie
Pe baza formelor de und˘a se deduce organigrama prezentat˘a ˆın figura 16.12-b.
14. Proiectat¸i un automat care prezina la ie¸sire un puls de at¸ime 8 perioade de ceas la fiecare puls de o perioad˘a
de ceas primit pe intrare. Prezentat¸i condit¸iile de funct¸ionare ale circuitului.
Solut¸ie
Automatul are o intrare, denumit˘a X ¸si o ie¸sire denumit˘a Y .
ˆ
In cazul unei implemenari ca automat Mo ore (ie¸sirea depinde doar de starea curent˘a), este nevoie de 9 st˘ari: o
stare de repaus, unde se a¸steapt˘a aparit¸ia pulsului de declan¸sare ¸si 8 st˘ari pe durata arora ie¸sirea este activat˘a
1. Num˘arul minim de bit¸i pentru codificarea st˘arilor este 4.
ˆ
In cazul implement˘arii ca automat Mealy, exist˘a o stare de repaus ˆın care se steapt˘a pulsul de declan¸sare, dar
ie¸sirea va activat˘a 1 exact ˆın momentul aparit¸iei pulsului la intrare (combinat¸ional), urmˆand ca automatul a
parcurg˘a alte 7 st˘ari pe durata arora ie¸sirea a fie 1. Aceast˘a variant˘a are doar 8 st˘ari ¸si poate implementat˘a
cu codificarea st˘arilor cu un num˘ar minim de 3 bit¸i. Schema bloc a automatului este prezentat˘a ˆın figura 16.13-a.
Graful de graful de tranzit¸ii al automatului Mealy este prezentat ˆın figura 16.13-b.
Pe baza grafului de tranzit¸ii, se determin˘a tabelul de tranzit¸ii (s-au notat cu Q
A
, Q
B
, Q
C
bit¸ii st˘arii curente):
220 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
a) b)
Figura 16.12 a) Forme de und˘a, b) Organigram˘a dedus˘a din formele de und˘a, problema 13.
Intrare Stare curent˘a Stare viitoare Ie¸sire
X Q
C
Q
B
Q
A
Q
+
C
Q
+
B
Q
+
A
Y
0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1
- 0 0 1 0 1 0 1
- 0 1 0 0 1 1 1
- 0 1 1 1 0 0 1
- 1 0 0 1 0 1 1
- 1 0 1 1 1 0 1
- 1 1 0 1 1 1 1
- 1 1 1 0 0 0 1
Cu ajutorul diagramelor Veitch-Karnaugh se determin˘a expresiile minime ale intr˘arilor bistabilelor de stare ¸si a
ie¸sirii.
Q
+
A
= Q
A
· X + Q
A
· Q
B
+ Q
A
· Q
C
Q
+
B
= Q
A
· Q
B
+ Q
A
· Q
B
Q
+
C
= Q
A
· Q
C
+ Q
B
· Q
C
· Q
B
· Q
C
Y = Q
A
+ X + Q
B
+ Q
C
Pe baza acestor funct¸ii se obt¸ine implementarea cu port¸i ¸si bistabile D prezentat˘a ˆın figura 16.14.
Circuitul funct¸ioneaz˘a corect dac˘a ˆıntre dou˘a pulsuri consecutive exist˘a o pauz˘a de minimum 8 perioade de tact
(X = 0).
Se remarc˘a faptul a, ˆın cazul acestei probleme, o implementare cu detector de front pozitiv (implementat cu
un bistabil ¸si o poart˘a cu dou˘a intr˘ari) urmat de un registru de deplasare de 7 bit¸i (care a ˆıntˆarzie pulsul) ¸si
apoi o poart˘a OR cu 8 intr˘ari, ar fost o solut¸ie mai eficiena ¸si ca timp de proiectare ¸si ca frecvent¸˘a maxim˘a
de operare (figura 16.15).
15. Proiectat¸i automatele care funct¸ioneaz˘a pe baza organigramelor prezentate ˆın figurile 16.16-a,b. Implementat¸i
automatele cu codificarea st˘arilor ”one-hot”.
Solut¸ie
a) Pe baza algoritmului prezentat ˆın partea teoretic˘a a lect¸iei, automatul se implementeaz˘a cu circuitul din
figura 16.17, determinat prin transformarea direct˘a a organigramei. De remarcat faptul a bistabilele trebuie
init¸ializate ˆın starea a = 1, b = c = d = 0.
16. a se implementeze automatele care funct¸ioneaz˘a conform grafurilor de tranzit¸ie prezentateˆın figura 16.18-a,b,c,d
cu bistabile D / bistabile T / bistabile JK.
16.3. Pentru cei ce vor a ˆınvet¸e 221
a) b)
Figura 16.13 a) Schema bloc ¸si b) graful de tranzit¸ii pentru problema 14.
Solut¸ie
a) Automatul este de tip Mealy, are o intrare, o ie¸sire ¸si 4 st˘ari codificate cu 2 bit¸i. Dac˘a intrarea este egal˘a cu 1,
automatul se comport˘a ca un num˘ar˘ator modulo 4 ˆın sens cresc˘ator. Dac˘a intrarea este egal˘a cu 0, automatul se
comport˘a ca un num˘ar˘ator modulo 4 ˆın sens descresc˘ator. Ie¸sirea semnalizeaz˘a dep˘a¸sirea la num˘arare (tranzit¸ie
din 11 ˆın 00 ˆın sens cresc˘ator, sau din 00 ˆın 11 ˆın sens descresc˘ator). Tabelul de tranzit¸ii pentru implementarea
cu bistabile D este:
Intrare Stare curent˘a Stare viitoare Ie¸sire
Up Q
1
Q
0
D
1
D
0
Y
0 0 0 1 1 1
1 0 0 0 1 0
0 0 1 0 0 0
1 0 1 1 0 0
0 1 0 0 1 0
1 1 0 1 1 0
0 1 1 1 0 0
1 1 1 0 0 1
Rezult˘a ecuat¸iile:
D
1
= Up Q
1
Q
0
D
0
= Q
0
Y = U p · Q
1
· Q
0
+ Up + Q
1
+ Q
0
b) Automatul este de tip Mealy, are dou˘a intr˘ari, o ie¸sire ¸si 4 st˘ari codificate cu 2 bit¸i. Prima intrare este
prioritar˘a ¸si are o funct¸ie de validare a comut˘arii (dac˘a aceast˘a intrare este egal˘a cu 0, automatul ˆı¸si astreaz˘a
starea). A doua intrare, este relevana doar and intrarea de validare este egal˘a cu 1 ¸si determin˘a sensul
de num˘arare pentru num˘ar˘atorul modulo 4 (ˆın sens cresc˘ator sau ˆın sens descresc˘ator). Ie¸sirea semnalizeaz˘a
dep˘a¸sirea la num˘arare (tranzit¸ie din 11 ˆın 00 ˆın sens cresc˘ator, sau din 00 ˆın 11 ˆın sens descresc˘ator). Tabelul
de tranzit¸ii pentru implementarea cu bistabile T este:
222 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
Figura 16.14 Implementarea automatului Mealy pentru problema 14.
Figura 16.15 Implementarea alternativ˘a a automatului de la problema 14.
Intr˘ari Stare curena Stare viitoare Stimuli bistabile Ie¸sire
En Up Q
1
Q
0
Q
+
1
Q
+
0
T
1
T
0
Y
0 - 0 0 0 0 0 0 0
1 0 0 0 1 1 1 1 1
1 1 0 0 0 1 0 1 0
0 - 0 1 0 1 0 0 0
1 0 0 1 0 0 0 1 0
1 1 0 1 1 0 1 1 0
0 - 1 0 1 0 0 0 0
1 0 1 0 0 1 1 1 0
1 1 1 0 1 1 0 1 0
0 - 1 1 1 1 0 0 0
1 0 1 1 1 0 0 1 0
1 1 1 1 0 0 1 1 1
Rezult˘a ecuat¸iile:
T
1
= En · U p Q
0
T
0
= En
Y = En · (Up · Q
1
· Q
0
+ Up · Q
1
· Q
0
)
c) Automatul este de tip Mealy, are dou˘a intr˘ari, o ie¸sire ¸si 4 st˘ari codificate cu 2 bit¸i. Prima intrare este
16.3. Pentru cei ce vor a ˆınvet¸e 223
a) b)
Figura 16.16 Organigrame pentru problema 15.
prioritar˘a ¸si are o funct¸ie de validare a comut˘arii (dac˘a aceast˘a intrare este egal˘a cu 0, automatul ˆı¸si astreaz˘a
starea). A dou˘a intrare, este relevana doar and intrarea de validare este egal˘a cu 1 ¸si determin˘a sensul de
num˘arare p entru num˘ar˘atorul modulo 3 (ˆın sens cresc˘ator sau ˆın sens descresc˘ator) ˆın succesiunea 00, 01, 11.
Ie¸sirea semnalizeaz˘a dep˘sirea la num˘arare (tranzit¸ie din 11 ˆın 00 ˆın sens cresc˘ator, sau din 00 ˆın 11 ˆın sens
descresc˘ator). Din cea de-a patra stare, codificat˘a 10, se tranziteaz˘a ˆın starea 11, indiferent de starea intr˘arilor.
Tabelul de tranzit¸ii pentru implementarea cu bistabile JK este:
Intr˘ari Stare curena Stare viitoare Stimuli bistabile Ie¸sire
En Up Q
1
Q
0
Q
+
1
Q
+
0
J
1
K
1
J
0
K
0
Y
0 - 0 0 0 0 0 - 0 - 0
1 0 0 0 1 1 1 - 1 - 1
1 1 0 0 0 1 0 - 1 - 0
0 - 0 1 0 1 0 - - 0 0
1 0 0 1 0 0 0 - - 1 0
1 1 0 1 1 1 1 - - 0 0
- - 1 0 1 1 - 0 1 - 0
0 - 1 1 1 1 - 0 - 0 0
1 0 1 1 0 1 1 - - 0 0
1 1 1 1 0 0 - 1 - 1 1
Rezult˘a ecuat¸iile:
J
1
= En · U p · Q
0
+ En · Q
1
+ En · U p · Q
0
K
1
= En · Q
0
J
0
= En + Q
1
K
0
= En · U p · Q
1
+ En · U p · Q
1
Y = En · Up · Q
1
· Q
0
+ En · U p · Q
1
· Q
0
d) Graful de tranzit¸ii prezina un semi-automat (f˘ar˘a ie¸siri). Se poate considera a bit¸ii de stare sunt ¸si ie¸siri.
ˆ
In acest caz se poate considera a este un automat de tip Moore cu dou˘a intr˘ari ¸si 4 st˘ari codificate cu 2 bit¸i.
Cele dou˘a intr˘ari determin˘a funct¸ionalitatea automatului conform tabelului:
I
1
I
0
Act¸iune
0 0 Reseteaz˘a automatul ˆın starea 00
0 1 astreaz˘a starea, nu comut˘a
1 0 Num˘ar˘a mo dulo 3 ˆın secvent¸a 00, 01, 11
1 1 Num˘ar˘a mo dulo 4 ˆın secvent¸a 00, 01, 10, 11
Tabelul de tranzit¸ii pentru implementarea cu bistabile JK este:
224 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
Figura 16.17 Implementarea automatului descris prin organigrama de la problema 15-a, prin transformarea direct˘a a organi-
gramei ˆıntr-o structur˘a, cu codificarea st˘arilor ”one-hot”.
Intr˘ari Stare curena Stare viitoare Stimuli bistabile
I
1
I
0
Q
1
Q
0
Q
+
1
Q
+
0
J
1
K
1
J
0
K
0
0 - 0 0 0 0 0 - 0 -
1 - 0 0 0 1 0 - 1 -
0 0 0 1 0 0 0 - - 1
0 1 0 1 0 1 0 - - 0
1 0 0 1 1 1 1 - - 0
1 1 0 1 1 0 1 - - 1
0 0 1 0 0 0 - 1 0 -
0 1 1 0 1 0 - 0 0 -
1 - 1 0 1 1 - 0 1 -
- 0 1 1 0 0 - 1 - 1
0 1 1 1 1 1 - 0 - 0
1 1 1 1 0 0 - 1 - 1
Rezult˘a ecuat¸iile:
J
1
= I
1
· Q
0
K
1
= I
1
· Q
0
+ I
1
· I
0
J
0
= I
1
K
0
= I
1
· I
0
+ I
1
· I
0
+ I
1
· Q
1
16.4. Pentru cei ce vor a devin˘a profesioni¸sti 225
a) b)
c) d)
Figura 16.18 Grafuri de tranzit¸ii, problema 16.
16.4 Pentru cei ce vor a devin˘a profesioni¸sti
1. a se implementeze automatul al arui comportament este descris de organigrama din figura 16.19-a, utilizˆand
doar dou˘a bistabile.
Solut¸ie
Se observ˘a a st˘arile b ¸si e sunt redundante: ie¸sirea Z este activ˘a ˆın ambele st˘ari iar evolut¸ia automatului este
identic˘a din cele dou˘a st˘ari (dac˘a X = 0, starea urm˘atoare este a, iar dac˘a X = 1, starea urm˘atoare este c).
Deci, una din st˘arile b sau e pot eliminate. Organigrama modificat˘a este prezentat˘a ˆın figura 16.19-b.
Av˘and doar 4 st˘ari, automatul se poate implementa cu 2 bit¸i de cod pentru stare, deci, doar dou˘a bistabile.
2. Proiectat¸i un automat avˆand dou˘a intr˘ari X ¸si Y ¸si o ie¸sire Z. Ecuat¸iile intr˘arilor ˆın bistabile sunt:
J
A
= A · (B X), K
A
= B + Y ,
J
B
= B X Y , K
B
= A + X,
Z = A · B · X · Y .
Realizat¸i graful de tranzit¸ii al automatului.
226 LECT¸ IA 16. Sinteza circuitelor logice secvent¸iale
a b
Figura 16.19 Organigrame pentru problema 1: a original˘a, b cu st˘ari reduse.