Sunteți pe pagina 1din 30

Proiectare logică

Curs 11

Titular: Cristian Vancea


Cuprins

• Sinteza unui automat (circuit secvențial sincron)


de răspuns la telefon
 cu bistabile
 porți logice
 decodificatoare
 multiplexoare
 memorii

 cu numărătoare

2
Sinteza unui automat de răspuns la telefon
Enunțul problemei
Să se realizeze un automat (circuit secvențial sincron) de răspuns la telefon cu
următoarele facilități:
• permite configurarea numărului de apeluri sonore după care se pornește
automatul;
• comandă redarea unui mesaj înregistrat;
• comandă înregistrarea mesajului apelantului;
• își încheie funcționalitatea în următoarele condiții:
 după înregistrarea mesajului apelantului;
 când apelantul închide;
 când destinatarul răspunde la telefon.

3
Sinteza unui automat de răspuns la telefon
Schema bloc
Este stabilită de proiectant și conține automatul împreună cu periferice necesare.
D3 D2 D1 D0 Tel (Telephone) – telefon
• Ring (sonerie) – indicator apel sonor (1 – activ, 0
PL D3 D2 D1 D0 – inactiv) – va decrementa CNT;
CNT CLK Ring
Zero Tel • EC (End Call) – indicator apelantul a închis;
EC PU • PU (Pick Up) – indicator destinatarul a răspuns;
CNT (Counter) – numărător binar invers
Start EC
Init PU • Zero – indicator valoare 0000 în numărător;
Automat SR
SP • PL (Parallel Load) – încărcare valoare D3D2D1D0;
EP REC ER
Player – unitate de redare audio
• SP (Start Play) – comandă pornire redare mesaj;
SP EP REC SR ER • EP (End Play) – indicator finalizare redare mesaj;
Player EC Recorder EC • dacă EC = 1 SAU PU = 1 => oprire imediată
PU PU
redare.

Recorder – unitate de înregistrare audio


• REC (recording) – indicator dacă aparatul înregistrează (inițial REC = 0, nu se înregistrează)
• SR (Start Record) – comandă pornire înregistrare, REC devine 1
• ER (End Record) – indicator finalizare înregistrare când EC = 1, REC devine 0
• dacă PU = 1 => oprire imediată înregistrare 4
Sinteza unui automat de răspuns la telefon
Schema bloc
Este stabilită de proiectant și conține automatul împreună cu periferice necesare.
Automat – circuit secvențial sincron
D3 D2 D1 D0
• Start – [IN] indicator asincron de pornire
PL D3 D2 D1 D0
• Init – [OUT] comandă de inițializare a
CNT CLK Ring numărătorului
Zero Tel • SP (Start Play) [OUT] – comandă pornire redare
EC PU mesaj
Start EC • EP (End Play) [IN] – indicator asincron finalizare
Init PU redare mesaj
Automat SR
SP • SR (Start Record) [OUT] – comandă pornire
EP REC ER
înregistrare
• ER (End Record) [IN] – indicator asincron
SP EP REC SR ER finalizare înregistrare
Player EC Recorder EC
• EC (End Call) [IN] – indicator asincron apelantul
PU PU
a închis
• PU (Pick Up) [IN] – indicator asincron
destinatarul a răspuns
• REC (Recording) [IN] – indicator asincron
înregistrare mesaj apelant în desfășurare
• Dacă (EC = 1 ȘI REC = 0) SAU PU = 1 automatul
5
se resetează.
Sinteza unui automat de răspuns la telefon
1. Descrierea funcționării Organigrama
A
• Start – [IN] indicator asincron de pornire Init
• Init – [OUT] comandă de inițializare a B
numărătorului invers la o valoare
• SP (Start Play) [OUT] – comandă pornire 1 Start 0
redare mesaj
• EP (End Play) [IN] – indicator asincron
C
finalizare redare mesaj
• SR (Start Record) [OUT] – comandă pornire SP
înregistrare
D
• ER (End Record) [IN] – indicator asincron
finalizare înregistrare 1 0
EP

E
SR
F
Reset: (EC = 1 ȘI REC = 0) SAU PU = 1 1 0
ER 6
Intrări asincrone vs. sincrone
Exemplu de caz
01
01 01 y CLC1 D 1 Q1
1 0 1 0
y y CLC0 D 0 Q0 Registru de stări
11 00 11 00 01
• Intrare sincronă: se modifică imediat după frontul ascendent al CLK.
• Intrare asincronă: se poate modifica la orice moment de timp T.
• Efectul la bistabile apare la T0=T+Δ0, T1=T+Δ1, unde Δ0, Δ1 = întârzieri pe circuit.
• Dacă T0 după front și T1 înainte de front => stare greșită (eroare).
Sincron Asincron
T
CLK CLK

y y
x x
D1 Δ1 D1 Δ1 Δ1
x x
x Δ x x Δ Δ0
D0 0 D0 0
x
Q1Q0 XX 01 11 corect Q1Q0 XX 01 10 eroare
Intrări asincrone vs. sincrone
Soluție - codificarea adiacentă a stărilor
• Se codifică stările de după decizie cu coduri adiacente (diferă prin 1 bit) =>
intrarea asincronă va afecta cel mult 1 bistabil (bit) de stare.
Asincron
T
CLK
01
y
1 0
y x
D1 Δ1 Δ1
10 00 x
x
D0 Δ0 Δ0
x
codificare adiacentă Q1Q0 XX 01 10 corect

Metoda: Când apar intrări asincrone calea de ieșire a acestora trebuie să


conțină maxim 2 stări care se vor codifica adiacent.
*Dacă >2 stări => se introduc stări noi pentru a satisface constrângerea.

8
Intrări asincrone vs. sincrone
Introducerea unei stări noi – exemplu de caz
A
A
1 0
1 y1
y1 0
B B’
B 1 0 adiacență
y2
z1 1 y2 0
z2
z1
z2
C
D
C
D

Obs: Variabila asincronă y1 are 3 Soluție: Se introduce o stare


stări pe calea de ieșire: B, C, D. adițională B’ => B și B’ vor avea
Regula: maxim 2 stări. codificare adiacentă.

9
Intrări asincrone vs. sincrone
Alte soluții
• Implementarea cu memorie (ROM are ieșirile sincronizate).

D 1 Q1
y MUX Adr ROM Data
D 0 Q0 Registru de stări

• Implementarea cu numărător sincron (are intrările Di independente de y).

MUX

y MUX Load D1 D0 Q
1
En CNT
Q0
CLK

Obs: Aceste 2 soluții nu impun regula de codificare adiacentă. 10


Sinteza unui automat de răspuns la telefon
2. Codificarea stărilor
A
• Există 6 stări A, …, F => codificare pe 3 biți:
Init Q2, Q1, Q0 – variabile de stare
B • A este starea de reset => A = 000
1 Start 0 • Când apar intrări asincrone stările pe calea de ieșire se
codifică adiacent:
C  Se poate folosi diagrama Karnaugh a variabilelor de
stare pentru a asocia coduri adiacente stărilor;
SP
 Stările adiacente se asociază celulelor vecine pe axe.
D
Intrare Calea de
1 0
EP asincronă ieșire Q1 Q 0
Q2 00 01 11 10
Start B, C
E 0 A B C D
EP D, E 1 F E
SR ER F, A
F  Codul unei stări este dat de Q2Q1Q0 =>
1
ER
0 A=000, B=001, C=011, D=010, E=110, F=100 11
Sinteza unui automat de răspuns la telefon
2. Codificarea stărilor, 3. Reducerea numărului de stări A
A 000
Init Init
B
B 001
1 Start 0 1 Start 0
A=000 B=001 C=011
C
C D=010 E=110 F=100 011
SP SP
D
D 010
1 0 1 0
EP EP
E
E 110
SR SR
Obs: Reducerea numărului de F
F stări afectează funcționalitatea 100
1
ER
0 => nu este posibilă. 1
ER
0
12
Sinteza unui automat de răspuns la telefon
4. Implementarea registrului de stări interne

• Registrul de stări se implementează cu bistabile D flip-flop.


• Se realizează Diagrama Karnaugh pentru variabilele de stare viitoare Q𝑡𝑡+1
𝑖𝑖
în funcție de variabilele secundare curente Q𝑡𝑡𝑖𝑖
-> se obțin funcțiile de excitație secundară: D𝑖𝑖 = Q𝑡𝑡+1
𝑖𝑖

13
Sinteza unui automat de răspuns la telefon
5. Determinarea funcțiilor de excitație secundară
A
000 Metodă de realizare a Diagramei Karnaugh pentru stări pe
Init baza organigramei
B • Fiecare celulă a diagramei corespunde unei stări –> codul
001
stării dă poziția în diagramă.
1 Start 0
• În interiorul fiecărei celule se introduc:
C  X-uri – dacă starea nu apare în organigramă;
011
 Valoarea stărilor următoare stării curente astfel:
SP 1. Un bit care nu variază în toate stările următoare
D
010 celei curente se păstrează cu valoarea respectivă;
1 0 2. Un bit care variază se înlocuiește cu variabila
EP
nenegată dacă valorile sale sunt identice cu ale variabilei,
E în caz contrar se înlocuiește cu variabila negată.
110
𝑡𝑡 𝑡𝑡
SR Q1 Q 0 00 01 11 10
F Q𝑡𝑡2
100 (Q 2 Q1 Q 0 )𝑡𝑡+1 : 0 001 0Start1 010 EP10 !Verificare!
1 0 1 ER00 XXX XXX 100
ER 14
Sinteza unui automat de răspuns la telefon
5. Determinarea funcțiilor de excitație secundară
1. Se descompune Diagrama Karnaugh în diagrame pentru fiecare intrare D𝑖𝑖 .
2. Se minimizează fiecare diagramă => funcțiile de excitație secundară.
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
(Q 2 Q1 Q 0 )𝑡𝑡+1 : 0 001 0Start1 010 EP10
1 ER00 XXX XXX 100
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
D2 : 0 0 0 0 EP
1 ER X X 1
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
D1 : 0 0 Start 1 1
1 0 X X 0
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
D0 : 0 1 1 0 0
15
1 0 X X 0
Sinteza unui automat de răspuns la telefon
5. Determinarea funcțiilor de excitație secundară
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
D2 :
0 0 0 0 EP
1 ER X X 1
Minimizarea funcțiilor cu expresii înglobate 𝑡𝑡
Q1 Q 0
𝑡𝑡

1. Se înlocuiesc expresiile înglobate cu 0 în diagramă. Se Q𝑡𝑡2 00 01 11 10


fac grupări maximale de 1 și se rețin termenii rezultați. 0 0 0 0 0
1 0 X X 1
2. Se înlocuiește 1 cu X în diagramă. Se fac grupări Q𝑡𝑡2 � Q𝑡𝑡1
maximale, care să conțină toate expresiile înglobate cel
puțin o dată. O grupare nu are voie să conțină 2 𝑡𝑡 𝑡𝑡
Q1 Q 0
expresii înglobate diferite, dar poate conține aceeași Q𝑡𝑡2 00 01 11 10
expresie de mai multe ori. Pentru fiecare grupare se 0 0 0 0 EP
efectuează conjuncție (ȘI) între expresia înglobată și 1 ER X X X
termenul rezultat. 𝑡𝑡
Q 2 � ER Q𝑡𝑡1 � Q𝑡𝑡0 � EP

3. Se efectuează SAU peste rezultatele obținute la pașii


anteriori: 𝐃𝐃𝟐𝟐 = 𝐐𝐐𝒕𝒕𝟐𝟐 � 𝐐𝐐𝒕𝒕𝟏𝟏 + 𝐐𝐐𝒕𝒕𝟐𝟐 � 𝐄𝐄𝐄𝐄 + 𝐐𝐐𝒕𝒕𝟏𝟏 � 𝐐𝐐𝒕𝒕𝟎𝟎 � 𝐄𝐄𝐄𝐄. 16
Sinteza unui automat de răspuns la telefon
5. Determinarea funcțiilor de excitație secundară
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
D1 : 0 0 Start 1 1
1 0 X X 0
Minimizarea funcțiilor cu expresii înglobate 𝑡𝑡
Q1 Q 0
𝑡𝑡

1. Se înlocuiesc expresiile înglobate cu 0 în diagramă. Se Q𝑡𝑡2 00 01 11 10


fac grupări maximale de 1 și se rețin termenii rezultați. 0 0 0 1 1
1 0 X X 0
2. Se înlocuiește 1 cu X în diagramă. Se fac grupări Q𝑡𝑡2 � Q𝑡𝑡1
maximale, care să conțină toate expresiile înglobate cel
puțin o dată. O grupare nu are voie să conțină 2 𝑡𝑡 𝑡𝑡
Q1 Q 0 00
expresii înglobate diferite, dar poate conține aceeași Q𝑡𝑡2 01 11 10
expresie de mai multe ori. Pentru fiecare grupare se 0 0 Start X X
efectuează conjuncție (ȘI) între expresia înglobată și 1 0 X X 0
termenul rezultat. 𝑡𝑡
Q 0 � Start
3. Se efectuează SAU peste rezultatele obținute la pașii
anteriori: 𝐃𝐃𝟏𝟏 = 𝐐𝐐𝒕𝒕𝟐𝟐 � 𝐐𝐐𝒕𝒕𝟏𝟏 + 𝐐𝐐𝒕𝒕𝟎𝟎 � 𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒𝐒. 17
Sinteza unui automat de răspuns la telefon
5. Determinarea funcțiilor de excitație secundară

𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
D0 : 0 1 1 0 0
1 0 X X 0

𝐃𝐃𝟎𝟎 = 𝐐𝐐𝒕𝒕𝟐𝟐 � 𝐐𝐐𝒕𝒕𝟏𝟏

18
Sinteza unui automat de răspuns la telefon
5. Determinarea funcțiilor de ieșire
A
Metodă de realizare a Diagramei Karnaugh pentru ieșiri pe baza
000
organigramei
Init • Codul stării dă poziția în diagramă.
B
001 • În interiorul fiecărei celule se introduce:
 X – dacă starea nu apare în organigramă;
1 Start 0
 1 – dacă ieșirea este asociată stării curente;
C  0 – dacă ieșirea nu este asociată stării curente sau tranzițiilor din
011 ea;
SP  variabila nenegată – dacă ieșirea este asociată unei tranziții pe 1
D  variabila negată – dacă ieșirea este asociată unei tranziții pe 0
010
1 0 𝑡𝑡 𝑡𝑡 𝑡𝑡 𝑡𝑡
EP Q1 Q 0 00 01 11 10 Q1 Q 0 00 01 11 10
Q𝑡𝑡2 Q𝑡𝑡2
E Init: 0 1 0 0 0 SR: 0 0 0 0 0
110
1 0 X X 0 1 0 X X 1
SR 𝑡𝑡
Q1 Q 0
𝑡𝑡
𝐈𝐈𝐈𝐈𝐈𝐈𝐈𝐈 = 𝐐𝐐𝒕𝒕𝟐𝟐 � 𝐐𝐐𝒕𝒕𝟏𝟏 � 𝐐𝐐𝒕𝒕𝟎𝟎
F Q𝑡𝑡2 00 01 11 10
100 𝐒𝐒𝐒𝐒 = 𝐐𝐐𝒕𝒕𝟏𝟏 � 𝐐𝐐𝒕𝒕𝟎𝟎
SP: 0 0 0 1 0
1 0 𝐒𝐒𝐑𝐑 = 𝐐𝐐𝒕𝒕𝟐𝟐 � 𝐐𝐐𝒕𝒕𝟏𝟏
ER 1 0 X X 0 19
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea funcțiilor de excitație și a ieșirilor cu
porți logice 𝑡𝑡 𝑡𝑡 𝑡𝑡 𝑡𝑡 𝑡𝑡
D2 = Q 2 � Q1 + Q 2 � ER + Q1 � Q 0 � EP
D1 = Q𝑡𝑡2 � Q𝑡𝑡1 + Q𝑡𝑡0 � Start
D0 = Q𝑡𝑡2 � Q𝑡𝑡1
Init = Q𝑡𝑡2 � Q𝑡𝑡1 � Q𝑡𝑡0
SP = Q𝑡𝑡1 � Q𝑡𝑡0
SR = Q𝑡𝑡2 � Q𝑡𝑡1
Q2
Q1 Q2
Q2 Q1 Q2
ER Q0 Q1
Start
Q0 Q1
EP

D2 Q2 D1 Q1 D0 Q0

CLK CLK R Q2 CLK R Q1 CLK R Q0


EC
REC
PU Q1 Q2 Init
Q0
Q1 SP
Q0
Reset: (EC=1 ȘI REC=0) SAU PU=1 Q2 20
SR
Q1
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea funcțiilor de excitație cu MUX și a
ieșirilor cu porți logice
• Se alege MUX cu un număr de selecții identic cu numărul de variabile secundare.
• Pe selecțiile MUX se aplică variabilele secundare.
• Pe intrările de date ale MUX se aplică conținutul celulei din Diagrama Karnaugh care
corespunde unui cod identic cu indexul intrării.

0 0 0 0 1 0
D2 : 0 1 Start 1 1 1
EP 2 1 2 0 2
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10 0 3 MUX 1 3 MUX 0 3 MUX
Q𝑡𝑡2 ER 4 8:1 0 4 8:1 0 4 8:1
X 5
6 s2 s1 s0
5 X 5
6 s2 s1 s0
X
0 0 0 0 EP 1 6 s2 s1 s0 0 0
X 7 X 7 X 7
1 ER X X 1
D1 : Q2 Q1 Q0 Q2 Q1 Q0 Q2 Q1 Q0
𝑡𝑡
Q1 Q 0
𝑡𝑡 D2 Q2 D1 Q1 D0 Q0
Q𝑡𝑡2 00 01 11 10
CLK CLK R Q2 CLK R Q1 CLK R Q0
0 0 Start 1 1
1 0 X X 0 EC
REC
D0 : PU Q1 Q2 Init
Q0
𝑡𝑡
Q1 Q 0
𝑡𝑡 Init = Q𝑡𝑡2 � Q𝑡𝑡1 � Q𝑡𝑡0 Q1
00 01 11 10 SP
Q𝑡𝑡2 SP = Q𝑡𝑡1 � Q𝑡𝑡0 Q0
0 1 1 0 0 SR = Q𝑡𝑡2 � Q𝑡𝑡1 Q2
1 0 X X 0 SR
Q1
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea funcțiilor de excitație/ieșire cu DCD
• Se alege DCD cu un număr de intrări identic cu numărul de variabile secundare și ieșirile
nenegate. Pe intrările DCD se aplică variabilele secundare.
• DCD implementează la ieșire toți mintermii intrărilor => se aleg ieșirile care corespund
celulelor din Diagrama Karnaugh diferite de 0 și X, apoi se aplică ȘI cu conținutul celulei
respective dacă este diferit de 1. Pe liniile rezultate se aplică operația SAU.
Init
Funcții de excitație SP
D2 : SR
𝑡𝑡 𝑡𝑡
Q1 Q 0 EP
Q𝑡𝑡2 00 01 11 10
0 0 0 0 EP ER
1 ER X X 1 0 Start
Q0 x0
D1 : 1
𝑡𝑡 𝑡𝑡
Q1 x1 2
x2 DCD 34
Q1 Q 0 00 01 11 10
Q𝑡𝑡2 Q2
0 0 Start 1 1 5
1 0 X X 0 6
7
D0 : D2 Q2 D1 Q1 D0 Q0
𝑡𝑡 𝑡𝑡
Q1 Q 0 CLK CLK R Q1 CLK R Q0
Q𝑡𝑡2 00 01 11 10 CLK R Q2
EC
0 1 1 0 0 REC
1 0 X X 0 PU 22
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea funcțiilor de excitație/ieșire cu DCD
• Se alege DCD cu un număr de intrări identic cu numărul de variabile secundare și ieșirile
nenegate. Pe intrările DCD se aplică variabilele secundare.
• DCD implementează la ieșire toți mintermii intrărilor => se aleg ieșirile care corespund
celulelor din Diagrama Karnaugh diferite de 0 și X, apoi se aplică ȘI cu conținutul celulei
respective dacă este diferit de 1. Pe liniile rezultate se aplică operația SAU.
Init
Funcții de ieșire SP
Init: SR
𝑡𝑡 𝑡𝑡
Q1 Q 0 EP
Q𝑡𝑡2 00 01 11 10
0 1 0 0 0 ER
1 0 X X 0 0 Start
Q0 x0
1
SP: Q1 x1 2
𝑡𝑡 𝑡𝑡
x2 DCD 34
Q1 Q 0 00 01 11 10
Q𝑡𝑡2 Q2
0 0 0 1 0 5
1 0 X X 0 6
7
SR: D2 Q2 D1 Q1 D0 Q0
𝑡𝑡 𝑡𝑡
Q1 Q 0 CLK CLK R Q1 CLK R Q0
Q𝑡𝑡2 00 01 11 10 CLK R Q2
EC
0 0 0 0 0 REC
1 0 X X 1 PU 23
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea funcțiilor de excitație cu ROM și a
ieșirilor cu DCD
• Nu apar constrângeri de codificare a stărilor => se poate folosi și codificarea de până acum.
• Se alege ROM 23+1x4 (16x4) și MUX 23:1 (8:1).
• Pentru alocarea de valori intrărilor MUX se utilizează diagrama Karnaugh:
 dacă într-o celulă nu apare nicio variabilă atunci se pune X (nu contează);
 dacă într-o celulă apare o variabilă atunci aceasta se conectează în forma nenegată.
Funcții de excitație
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
Q𝑡𝑡2
0 001 0Start1 010 EP10
X 0 1 ER00 XXX XXX 100
Start 1
EP 2 0 En D3
X 3 MUX A3 ROM D Q0 x0 0
ER 4 8:1 A2 2 1
X 5 s A1 16x4 D1 Q1 x1 2 Init
X 6 s2 s1 0 SP
X 7 A0 D0 Q2 x2 DCD 34 SR
5
6
Q2Q1Q0 7

D2 Q2 D1 Q1 D0 Q0
CLK CLK R Q2 CLK R Q1 CLK R Q0
EC 24
REC
PU
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea funcțiilor de excitație cu ROM și a
ieșirilor cu DCD
• Pentru configurarea memoriei se completează
locațiile de memorie; fiecărei adrese îi corespunde Harta de biți ROM
celula din Diagrama Karnaugh de la poziția A3 A2 A1 A0 D3 D2 D1 D0
Q𝑡𝑡2 Q𝑡𝑡1 Q𝑡𝑡0 =A2A1A0 astfel: 0 0 0 0 X 0 0 1
 bitul suplimentar D3 se completează cu X; 1 0 0 0 X 0 0 1
 ceilalți biți se completează cu conținutul celulei 0 0 0 1 X 0 0 1
după înlocuirea variabilelor cu valoarea lui A3. 1 0 0 1 X 0 1 1
0 0 1 0 X 0 1 0
Funcții de exitație 1 0 1 0 X 1 1 0
𝑡𝑡
Q1 Q 0
𝑡𝑡
00 01 11 10 0 0 1 1 X 0 1 0
Q𝑡𝑡2
1 0 1 1 X 0 1 0
0 001 0Start1 010 EP10
1 ER00 XXX XXX 100 0 1 0 0 X 1 0 0
1 1 0 0 X 0 0 0
0 1 0 1 X X X X
1 1 0 1 X X X X
0 1 1 0 X 1 0 0
1 1 1 0 X 1 0 0
0 1 1 1 X X X X
1 1 1 1 X X X X
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea registrului de stări cu numărător
A
A • Se codifică stările în ordine crescătoare. 000
Init Starea inițială are codul 000. Init
• Regulă: Dacă o stare are toate stările B
B următoare distincte de ea, atunci una din ele 001
1 Start 0 trebuie sa aibă codul stării + 1, exprimat pe 3 1 Start 0
biți.
C
C 010
SP Codificarea stărilor SP
D
D 011
1 0 1 0
EP EP
E
E 100
SR SR
F
F 101
1 0 1 0
ER ER
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea registrului de stări cu numărător
A
000 • Se definește funcția de numărare fN(Q2,Q1,Q0) care specifică dacă
din starea Q2Q1Q0 se face tranziție la starea Q2Q1Q0 + 1:
Init
B 0, nu este cazul
001 fN(Q2,Q1, Q0) = 1, tranziția este directă (fără decizie)
1 Start 0 expresia decizională, tranziția este cu decizie
• Se definește funcția de ramificare fR(Q2,Q1,Q0) care specifică dacă
C din starea Q2Q1Q0 se face o tranziție la alte stări decât Q2Q1Q0 sau
010 Q2Q1Q0 + 1:
SP 0, nu este cazul sau starea Q2Q1Q0 inexistentă
D fR(Q2,Q1, Q0) = 1, tranziția este directă (fără decizie)
011
expresia decizională, tranziția este cu decizie
1 0 • Se definește funcția stare de ramificare fSR(Q2,Q1,Q0) care specifică
EP
starea de ramificare când fR≠0, altfel nu contează (se pun X-uri).
E
100 Q 2 Q1 Q 0 fN fR fSR Q 2 Q1 Q 0 fN fR fSR
SR 0 0 0 1 0 X X X 1 0 0 1 0 X X X
F 0 0 1 Start 0 X X X 1 0 1 0 ER 0 0 0
101
0 1 0 1 0 X X X 1 1 0 0 0 X X X
1 0 0 1 1 EP 0 X X X 1 1 1 0 0 X X X
ER 27
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea registrului de stări cu numărător

Q 2 Q1 Q 0 fN fR fSR Q 2 Q1 Q 0 fN fR fSR
0 0 0 1 0 X X X 1 0 0 1 0 X X X - Se implementează fN, fR, fSR cu MUX.
0 0 1 Start 0 X X X 1 0 1 0 ER 0 0 0 - Pentru 3 variabile de stare Q2, Q1, Q0
0 1 0 1 0 X X X 1 1 0 0 0 X X X se folosește MUX 8:1 cu 3 selecții.
- Pentru fSR calea de date este pe 3 biți.
0 1 1 EP 0 X X X 1 1 1 0 0 X X X

fN f R f SR
1 0 0 0 XXX 0
Start 1 0 1 XXX 1
1 2 0 2 XXX 2
EP 3 MUX 0 3 MUX XXX 3 MUX
1 4 8:1 0 4 8:1 XXX 4 8:1
0 5 s ER 5 s 000 5 s
0 6 s2 s1 0 0 6 s2 s1 0 XXX 6 s2 s1 0
0 7 0 7 XXX 7

EC
REC RST LD D2 D 1 D0
PU
EN COUNTER
CLK CLK Q2 Q1 Q0

28
Sinteza unui automat de răspuns la telefon
Determinarea funcțiilor de ieșire
A
000 Obs: Datorită recodificării adoptate la implementare cu
Init numărător se refac Diagramele Karnaugh ale funcțiilor de ieșire.
B
001
𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10
1 Start 0 Q𝑡𝑡2
Init: 0 1 0 0 0
C
010 1 0 0 X X
SP 𝑡𝑡
Q1 Q 0
𝑡𝑡
00 01 11 10
D Q𝑡𝑡2
011 SP: 0 0 0 0 1
1
EP
0 1 0 0 X X
𝑡𝑡 𝑡𝑡
E Q1 Q 0 00 01 11 10
100 Q𝑡𝑡2
SR: 0 0 0 0 0
SR
F 1 1 0 X X
101
1 0
ER 29
Sinteza unui automat de răspuns la telefon
7. Schema circuitului – implementarea registrului de stări cu numărător și a
ieșirilor cu DCD
Init: SP: SR:
𝑡𝑡 𝑡𝑡 𝑡𝑡 𝑡𝑡 𝑡𝑡 𝑡𝑡
Q1 Q 0 00 01 11 10 Q1 Q 0 00 01 11 10 Q1 Q 0 00 01 11 10
Q𝑡𝑡2 Q𝑡𝑡2 Q𝑡𝑡2
0 1 0 0 0 0 0 0 0 1 0 0 0 0 0
1 0 0 X X 1 0 0 X X 1 1 0 X X

Nf f R f
SR
1 0 0 0 XXX 0
Start 1 0 1 XXX 1
1 2 0 2 XXX 2
EP 3 MUX 0 3 MUX XXX 3 MUX
1 4 8:1 0 4 8:1 XXX 4 8:1
0 5 s ER 5 s 000 5 s
0 6 s2 s1 0 0 6 s2 s1 0 XXX 6 s2 s1 0
0 7 0 7 XXX 7

EC
REC RST LD D2 D 1 D0 x0 0 Init
PU 1
EN COUNTER
x1 2 SP
CLK CLK Q2 Q1 Q0
x2 DCD 34 SR
5
6
7 30

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