Transcript pps
Slide 1
Capitolul 3
2010
Proiectarea sistemelor digitale
1
Slide 2
Tematica
Etapele sintezei clasice a SLS sincrone
Determinarea maşinii reduse minime
Sinteza cu ajutorul registrelor
2010
Proiectarea sistemelor digitale
2
Slide 3
Etapele sintezei clasice
E1. Pornind de la descrierea verbală se trece la descrierea formală prin diagrame de
stare.
E2. Se trece de la diagrama de stare la tabelul de evoluţie a stărilor.
E3. Se încearcă reducerea numărului de stări.
E4. Se asignează stările, adică se trece de la reprezentarea prin nume simbolice, la
reprezentarea codificată binar a stărilor.
E5. Se trece de la tabelul de stare la tabelul de tranziţie a stărilor şi tabelul de
ieşire.
E6. Din tabelul de ieşire se sintetizează funcţiile de ieşire printr-una dintre metodele
cunoscute pentru sinteza SLC.
E7. Se alege tipul de bistabil utilizat pentru sinteză.
E8. Pornind de la tabelul de tranziţie a stărilor şi tabelul de excitaţie a bistabilelor, se
generează tabelul de excitaţie al SLS sintetizate.
2010
Proiectarea sistemelor digitale
3
Slide 4
Etapele sintezei clasice
E9. Din tabelul de excitaţie se sintetizează funcţiile de excitaţie printr-una dintre
metodele cunoscute pentru sinteza SLC.
E10. Se desenează SLS sintetizată.
E11. Se analizează evoluţia în spaţiul stărilor pentru a verifica corectitudinea sintezei
şi pentru a pune în evidenţă eventualele anomalii datorate caracterului incomplet
specificat al funcţiilor de excitaţie şi de ieşire. De obicei, astfel de anomalii pot fi
rezolvate prin introducerea unei comenzi asincrone de iniţializare dar, în anumite
situaţii, se poate recurge la reproiectare prin precizarea corespunzătoare a valorilor
nespecificate din tabelul de tranziţie al stărilor şi în tabelul de ieşire, care au generat
anomalia.
E12. Din cataloagele de componente se aleg circuitele integrate utilizate pentru
implementarea efectivă a schemei.
E13. În cazul unor scheme de mare complexitate sau care lucrează la valori apropiate
de valoarea maximă admisă pentru frecvenţa impulsului de tact, este necesară şi analiza
temporală a schemei obţinute. Eventualele anomalii puse în evidenţă aici pot conduce la
necesitatea alegerii altor componente pentru implementare sau chiar la necesitatea
alegerii unei alte metode de sinteză a funcţiilor de excitaţie şi ieşire.
2010
Proiectarea sistemelor digitale
4
Slide 5
Asignarea stărilor
Prin asignarea stărilor vom ȋnțelege asocierea de către proiectant a unei
combinații binare unice fiecărei stări simbolice a unei maşini secvențiale.
Se observă că procesul de asignare este un proces artificial şi principial există o
infinitate de asignări posibile, cu condiția ca la două stări diferite să fie asociate
două combinații binare diferite.
În procesul de asignare se utilizează ca ipoteză de lucru fundamentală codificarea
tuturor stărilor cu combinații binare având aceeaşi lungime.
În continuare vor fi analizate două metode frecvent utilizate pentru asignarea
stărilor.
2010
Proiectarea sistemelor digitale
5
Slide 6
Asignarea cu codificare de lungime minimă
Presupunând că maşina secvenţială conţine N stări, vor fi necesare n variabile de
stare astfel încât numărul de combinaţii binare să fie cel puţin egal cu N adică
2 n N
nlog(2)log(N) nlog2(N)
De obicei se alege valoarea minimă
n= log2(N)
Exemplu: Se consideră o MS sincronă cu N=3 stări notate A,B,C. Pentru codificarea stărilor
vor fi necesare n=log2(3)=2 variabile de stare notate y1y0.
Asignarea naturală va avea forma:
Starea
y1
y0
A
B
C
0
0
1
0
1
0
Combinaţia 11 este o combinaţie redundantă.
2010
Proiectarea sistemelor digitale
6
Slide 7
Asignări particulare
În anumite situații pot fi utilizate si alte codificari cu lungime minimă sau nu , de
exemplu codificarea Gray sau Johnson.
Exemplu: Daca o masină secvențială are 8 stari, numarul minim de variabile de stare
necesare codificării stărilor este log2(8)=3. În acest caz, se poate utiliza o codificare Gray pe
3 biți sau o codificare Johnson pe 4 biți.
Starea
2010
Codificare Gray
Codificare Johnson
y2
y1
y0
y3
y2
y1
y0
A
0
0
0
0
0
0
0
B
0
0
1
0
0
0
1
C
0
1
1
0
0
1
1
D
0
1
0
0
1
1
1
E
1
1
0
1
1
1
1
F
1
1
1
1
1
1
0
G
1
0
1
1
1
0
0
H
1
0
0
1
0
0
0
Proiectarea sistemelor digitale
7
Slide 8
Asignarea prin metoda ONE-HOT
Metoda de asignare One-hot numită şi metoda cu decodificre completă a
stărilor se deosebeşte fundamental de metoda prezentată anterior prin faptul că
numărul de stări este egal cu numarul variabilelor de stare.
Cu alte cuvinte, fiecărei stări ȋi corespunde o variabilă de stare.
Deoarece la un moment dat o MS poate să se afle ȋntr-o singură stare, rezultă
imediat că ȋn fiecare moment trebuie să fie activă o singură variabilă de stare.
Dacă presupunem că variabilele de stare sunt active pe nivel ridicat, ȋnseamnă
că fiecare combinație asignată va conține exact un 1.
Exemplu:
Asignarea One-hot se va realiza cu 5
variabile de stare, ca ȋn tabelul de mai jos
INIT#
A
E
D
2010
B
C
starea
A
B
C
D
E
A
1
0
0
0
0
B
0
1
0
0
0
C
0
0
1
0
0
D
0
0
0
1
0
E
0
0
0
0
1
Proiectarea sistemelor digitale
8
Slide 9
Exemple de
sinteză
2010
Proiectarea sistemelor digitale
9
Slide 10
Exemple de sinteză
Să se sintetizeze un recunoscător de secvenţă dinamic (RSD) care semnalează
prin 0 logic la ieşire ori de câte ori în şirul binar de la intrare apare secvenţa
10110.
Schema este prevăzută şi cu o intrare de iniţializare asincronă Clear activă pe
nivel coborât.
Se vor lua în considerare atât varianta Mealy cât şi varianta Moore.
2010
Proiectarea sistemelor digitale
10
Slide 11
Exemple de sinteză – Modelul Mealy
S
E
RSD
TACT
CLK
Clear
INIT#
1/1
1/1
0/1
0/1
S0
INIT#
2010
1/1
S1
0/1
S2
0/1
1/1
S3
1/1
S4
0/0
Proiectarea sistemelor digitale
11
Slide 12
Exemple de sinteză – Modelul Mealy
2010
Proiectarea sistemelor digitale
12
Slide 13
Exemple de sinteză – Modelul Mealy
S
y1 y 2 00
y0
00 1
01
11
10
1
S
y 1 y 2 00
y0
00 0
01
11
10
0
1
01
1
x
11
1
10
1
1
x
x
1
01
0
x
x
x
1
11
0
x
x
1
10
0
E
S
y1 y 2 00
y0
00 x
01
11
10
0
S
y 1 y 2 00
y0
00 0
1
0
0
x
0
01
1
x
x
0
x
x
1
11
x
x
x
x
x
x
0
10
x
x
x
x
01
11
10
x
x
x
J2
S
01
11
10
x
x
x
y 1 y 2 00
y0
00 0
J1
S
01
11
10
0
1
1
y 1 y 2 00
y0
00 x
01
x
x
x
x
01
x
x
x
x
01
1
x
x
0
11
0
x
x
1
11
x
x
x
x
11
1
x
x
1
10
1
x
x
0
10
0
x
x
1
10
x
x
x
x
K1
2010
J0
Proiectarea sistemelor digitale
K0
13
Slide 14
Exemple de sinteză – Modelul Mealy
2010
Proiectarea sistemelor digitale
14
Slide 15
Exemple de sinteză – Modelul Mealy
Analiza ȋn spațiul stărilor
2010
Proiectarea sistemelor digitale
15
Slide 16
Exemple de sinteză – Modelul Mealy
2010
Proiectarea sistemelor digitale
16
Slide 17
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
17
Slide 18
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
18
Slide 19
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
19
Slide 20
Exemple de sinteză – Modelul Moore
Analiza ȋn spațiul stărilor
2010
Proiectarea sistemelor digitale
20
Slide 21
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
21
Slide 22
Exemple de sinteză – asignare ONE-HOT
Vom relua exemplul precedent (modelul Moore) şi vom sintetiza schema folosind o
asignare one-hot ca ȋn tabelul de mai jos.
starea
S0
S1
S2
S3
S4
S5
S0
1
0
0
0
0
0
S1
0
1
0
0
0
0
S2
0
0
1
0
0
0
S3
0
0
0
1
0
0
S4
0
0
0
0
1
0
S5
0
0
0
0
0
1
Pentru sinteza se utilizeaza bistabile tip D conectate ca in schema urmatoare.
Atentie! La activarea semnalului de initializare bistabilul S0 trebuie sa treaca in starea 1
care devine strea activa dupa initializare. Celelalte bistabile trec in starea 0 (dezactivate).
2010
Proiectarea sistemelor digitale
22
Slide 23
Exemple de sinteză – asignare ONE-HOT
S0
D0
S1
D1
D
Q
CLK
D2
D
Q
CLK
S
S3
D
Q
CLK
R
S4
D3
D
Q
CLK
R
S5
D4
D
Q
CLK
R
R
INIT#
Funcțiile de excitație şi de ieşire se obțin direct din diagrama de evoluție a MS.
E=S5
D0 S S0 S S2 S S5
D1 S S0 S S1 S S4
D2 S S1 S S3
D3 S S2 S S5
D4 S S3
D5 S S4
2010
Proiectarea sistemelor digitale
23
Slide 24
Determinarea
maşinii reduse
minime
2010
Proiectarea sistemelor digitale
24
Slide 25
Concepte fundamentale
Fie
s(t+1)=g(s(t),x(t))
z(t)=f (s(t),x(t))
o MS sincronă complet specifictă şi fie Si şi Sj două stări ale acestei maşini
secvențiale.
Fie x o secvență de intrare oarecare. Se numeşte x succesor al stării Si
şi se notează xSi starea ȋn care ajunge maşina secvențiala pornind din starea Si
după aplicarea secvenței x.
Se spune că stările Si şi Sj sunt k-echivalente dacă pentru orice
secvență x de lungime k, xSi=xSj.
Se spune că stările Si şi Sj sunt echivalente şi se notează SiSj dacă
pentru orice secvență x se obține xSi=xSj.
Se poate spune ca doua stari ale unei maşini secvențiale sunt echivalente dacă
nu există nici un test prin care să ne putem da seama care dintre cele două stări a
fost starea inițială.
2010
Proiectarea sistemelor digitale
25
Slide 26
Concepte fundamentale
T1 Două stări sunt k+1 echivalente dacă sunt k-echivalente şi toți 1 succesorii lor
sunt stări k-echivalente.
Această teoremă oferă mecanismul de determinare iterativă a claselor de
echivalență, pornind de la mulțimea tuturor stărilor considerate inițial ca fiind stări
echivalente.
Vom numi partiție de ordinul k şi vom nota πk reuniunea tuturor claselor de stări
k-echivalente ale unei MS date.
T2
πk-1 = πk πk = πk+1
Această teoremă ne oferă criteriul de oprire a procesului iterativ de determinare a
partiției de ecchivalență.
πk se va numi partiție de echivalență.
T3
Întotdeauna πn-1 = πn (n numărul de stări ale MS date)
Această proprietate ne arată că procesul iterativ de determinare a claselor de
echivalență este un proces finit.
2010
Proiectarea sistemelor digitale
26
Slide 27
Algoritmul Moore
P1. Se porneşte de la tabelul de stare al MS şi se pun în evidenţă stările 1-echivalente
prin compararea vectorilor de ieşire.
P2. Se reface tabelul de stare grupând stările 1-echivalente într-un singur bloc şi
eliminând vectorii de ieşire. Pentru fiecare stare următoare se precizează blocul din care
aceasta face parte.
P3. În noul tabel se compară liniile din fiecare bloc pentru a verifica dacă sunt
echivalente. Dacă în fiecare coloană stările următoare fac parte din acelaşi bloc, stările
comparate sunt echivalente. Dacă în cel puţin o coloană stările următoare fac parte din
blocuri diferite, cele două stări vor face parte din blocuri diferite.
P4. Se reface tabelul prin punerea în evidenţă a noilor blocuri şi se reia de la pasul
precedent. Procesul se reia până când nu mai poate fi generat nici un bloc. În ultimul
tabel stările din acelaşi bloc sunt stări echivalene deci a fost generată partiţia de
echivalenţă.
2010
Proiectarea sistemelor digitale
27
Slide 28
Maşina redusă echivalentă
Fie MS1 şi MS2 două maşini secvenţiale sincrone complet specificate şi fie două stări
oarecare SiMS1 şi SkMS2.
Se spune că stările Si şi Sk sunt echivalente dacă secvenţă x aplicată celor două
stări considerate ca stări iniţiale, se vor obţine secvenţe de ieşire identice.
Se spune că MS1 şi MS2 sunt două maşini secvenţiale echivalente dacă fiecărei
stări din MS1 îi corespunde o stare echivalentă în MS2 şi reciproc.
Se spune că MS2 este maşina secvenţială redusă echivalentă cu MS1 dacă este
echivalentă cu MS1 iar numărul de stări ale lui MS2 nu mai poate fi redus.
2010
Proiectarea sistemelor digitale
28
Slide 29
Maşina redusă echivalentă - exemplu
2010
Proiectarea sistemelor digitale
29
Slide 30
Maşina redusă echivalentă - exemplu
(A,E)
(B,D,F)
(C,G)
2010
Proiectarea sistemelor digitale
30
Slide 31
Maşina redusă echivalentă - exemplu
2010
Proiectarea sistemelor digitale
31
Slide 32
Proiectarea SLS
cu registre
2010
Proiectarea sistemelor digitale
32
Slide 33
Variante de proiectare cu registre
x(t)
m
n
z(t)
CLC
k
k
INIT
TACT
ISDD
x(t)
2010
registru
paralel-paralel
registru
deplasare
y(t)
INIT
CLC
Proiectarea sistemelor digitale
z(t)
33
Slide 34
Registrul 74LS194 – evoluția stărilor
0
0001
0
0
0000
1
2010
0
0
1
0010
0
0011
0
1
1
1011
0110
1
0
0101
1
0
1001 0 1
0
1010
0100
1
1
0
1100
1000
1
0111
Proiectarea sistemelor digitale
0 1101
1
1
1
0
1
1111
0
1
1110
34
Slide 35
Sinteza cu registru - exemplu
Utilizând un registru 74LS194 să se proiecteze un numărător Johnson
modulo 8 (cu 8 stări).
0
0001
0
0
0000
0010
1
0
0
0101
0 1
1010
1001
0
1011
0110
1
1
0
0
1
0
1
1
1100
1000
1
2010
1
0
1
0100
0111
0
0
1
0
0011
Proiectarea sistemelor digitale
0
1
1111
1101
1
1
1110
1
35
Slide 36
Sinteza cu registru - exemplu
y0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010
y1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
y2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
y3
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
IS
1
0
x
0
x
x
x
0
1
x
x
x
1
x
1
0
0
IS
0
1
SR
S1
S0
TACT
D0
D1
D2
D3
74HCT194
CLK
CLEAR Q0
INIT#
Proiectarea sistemelor digitale
y0
Q1
y1
Q2
y2
Q3
y3
36
Slide 37
Sinteza cu registru - exemplu
2010
Proiectarea sistemelor digitale
37
Slide 38
Sinteza cu registru - exemplu
2010
Proiectarea sistemelor digitale
38
Slide 39
2010
Proiectarea sistemelor digitale
39
Capitolul 3
2010
Proiectarea sistemelor digitale
1
Slide 2
Tematica
Etapele sintezei clasice a SLS sincrone
Determinarea maşinii reduse minime
Sinteza cu ajutorul registrelor
2010
Proiectarea sistemelor digitale
2
Slide 3
Etapele sintezei clasice
E1. Pornind de la descrierea verbală se trece la descrierea formală prin diagrame de
stare.
E2. Se trece de la diagrama de stare la tabelul de evoluţie a stărilor.
E3. Se încearcă reducerea numărului de stări.
E4. Se asignează stările, adică se trece de la reprezentarea prin nume simbolice, la
reprezentarea codificată binar a stărilor.
E5. Se trece de la tabelul de stare la tabelul de tranziţie a stărilor şi tabelul de
ieşire.
E6. Din tabelul de ieşire se sintetizează funcţiile de ieşire printr-una dintre metodele
cunoscute pentru sinteza SLC.
E7. Se alege tipul de bistabil utilizat pentru sinteză.
E8. Pornind de la tabelul de tranziţie a stărilor şi tabelul de excitaţie a bistabilelor, se
generează tabelul de excitaţie al SLS sintetizate.
2010
Proiectarea sistemelor digitale
3
Slide 4
Etapele sintezei clasice
E9. Din tabelul de excitaţie se sintetizează funcţiile de excitaţie printr-una dintre
metodele cunoscute pentru sinteza SLC.
E10. Se desenează SLS sintetizată.
E11. Se analizează evoluţia în spaţiul stărilor pentru a verifica corectitudinea sintezei
şi pentru a pune în evidenţă eventualele anomalii datorate caracterului incomplet
specificat al funcţiilor de excitaţie şi de ieşire. De obicei, astfel de anomalii pot fi
rezolvate prin introducerea unei comenzi asincrone de iniţializare dar, în anumite
situaţii, se poate recurge la reproiectare prin precizarea corespunzătoare a valorilor
nespecificate din tabelul de tranziţie al stărilor şi în tabelul de ieşire, care au generat
anomalia.
E12. Din cataloagele de componente se aleg circuitele integrate utilizate pentru
implementarea efectivă a schemei.
E13. În cazul unor scheme de mare complexitate sau care lucrează la valori apropiate
de valoarea maximă admisă pentru frecvenţa impulsului de tact, este necesară şi analiza
temporală a schemei obţinute. Eventualele anomalii puse în evidenţă aici pot conduce la
necesitatea alegerii altor componente pentru implementare sau chiar la necesitatea
alegerii unei alte metode de sinteză a funcţiilor de excitaţie şi ieşire.
2010
Proiectarea sistemelor digitale
4
Slide 5
Asignarea stărilor
Prin asignarea stărilor vom ȋnțelege asocierea de către proiectant a unei
combinații binare unice fiecărei stări simbolice a unei maşini secvențiale.
Se observă că procesul de asignare este un proces artificial şi principial există o
infinitate de asignări posibile, cu condiția ca la două stări diferite să fie asociate
două combinații binare diferite.
În procesul de asignare se utilizează ca ipoteză de lucru fundamentală codificarea
tuturor stărilor cu combinații binare având aceeaşi lungime.
În continuare vor fi analizate două metode frecvent utilizate pentru asignarea
stărilor.
2010
Proiectarea sistemelor digitale
5
Slide 6
Asignarea cu codificare de lungime minimă
Presupunând că maşina secvenţială conţine N stări, vor fi necesare n variabile de
stare astfel încât numărul de combinaţii binare să fie cel puţin egal cu N adică
2 n N
nlog(2)log(N) nlog2(N)
De obicei se alege valoarea minimă
n= log2(N)
Exemplu: Se consideră o MS sincronă cu N=3 stări notate A,B,C. Pentru codificarea stărilor
vor fi necesare n=log2(3)=2 variabile de stare notate y1y0.
Asignarea naturală va avea forma:
Starea
y1
y0
A
B
C
0
0
1
0
1
0
Combinaţia 11 este o combinaţie redundantă.
2010
Proiectarea sistemelor digitale
6
Slide 7
Asignări particulare
În anumite situații pot fi utilizate si alte codificari cu lungime minimă sau nu , de
exemplu codificarea Gray sau Johnson.
Exemplu: Daca o masină secvențială are 8 stari, numarul minim de variabile de stare
necesare codificării stărilor este log2(8)=3. În acest caz, se poate utiliza o codificare Gray pe
3 biți sau o codificare Johnson pe 4 biți.
Starea
2010
Codificare Gray
Codificare Johnson
y2
y1
y0
y3
y2
y1
y0
A
0
0
0
0
0
0
0
B
0
0
1
0
0
0
1
C
0
1
1
0
0
1
1
D
0
1
0
0
1
1
1
E
1
1
0
1
1
1
1
F
1
1
1
1
1
1
0
G
1
0
1
1
1
0
0
H
1
0
0
1
0
0
0
Proiectarea sistemelor digitale
7
Slide 8
Asignarea prin metoda ONE-HOT
Metoda de asignare One-hot numită şi metoda cu decodificre completă a
stărilor se deosebeşte fundamental de metoda prezentată anterior prin faptul că
numărul de stări este egal cu numarul variabilelor de stare.
Cu alte cuvinte, fiecărei stări ȋi corespunde o variabilă de stare.
Deoarece la un moment dat o MS poate să se afle ȋntr-o singură stare, rezultă
imediat că ȋn fiecare moment trebuie să fie activă o singură variabilă de stare.
Dacă presupunem că variabilele de stare sunt active pe nivel ridicat, ȋnseamnă
că fiecare combinație asignată va conține exact un 1.
Exemplu:
Asignarea One-hot se va realiza cu 5
variabile de stare, ca ȋn tabelul de mai jos
INIT#
A
E
D
2010
B
C
starea
A
B
C
D
E
A
1
0
0
0
0
B
0
1
0
0
0
C
0
0
1
0
0
D
0
0
0
1
0
E
0
0
0
0
1
Proiectarea sistemelor digitale
8
Slide 9
Exemple de
sinteză
2010
Proiectarea sistemelor digitale
9
Slide 10
Exemple de sinteză
Să se sintetizeze un recunoscător de secvenţă dinamic (RSD) care semnalează
prin 0 logic la ieşire ori de câte ori în şirul binar de la intrare apare secvenţa
10110.
Schema este prevăzută şi cu o intrare de iniţializare asincronă Clear activă pe
nivel coborât.
Se vor lua în considerare atât varianta Mealy cât şi varianta Moore.
2010
Proiectarea sistemelor digitale
10
Slide 11
Exemple de sinteză – Modelul Mealy
S
E
RSD
TACT
CLK
Clear
INIT#
1/1
1/1
0/1
0/1
S0
INIT#
2010
1/1
S1
0/1
S2
0/1
1/1
S3
1/1
S4
0/0
Proiectarea sistemelor digitale
11
Slide 12
Exemple de sinteză – Modelul Mealy
2010
Proiectarea sistemelor digitale
12
Slide 13
Exemple de sinteză – Modelul Mealy
S
y1 y 2 00
y0
00 1
01
11
10
1
S
y 1 y 2 00
y0
00 0
01
11
10
0
1
01
1
x
11
1
10
1
1
x
x
1
01
0
x
x
x
1
11
0
x
x
1
10
0
E
S
y1 y 2 00
y0
00 x
01
11
10
0
S
y 1 y 2 00
y0
00 0
1
0
0
x
0
01
1
x
x
0
x
x
1
11
x
x
x
x
x
x
0
10
x
x
x
x
01
11
10
x
x
x
J2
S
01
11
10
x
x
x
y 1 y 2 00
y0
00 0
J1
S
01
11
10
0
1
1
y 1 y 2 00
y0
00 x
01
x
x
x
x
01
x
x
x
x
01
1
x
x
0
11
0
x
x
1
11
x
x
x
x
11
1
x
x
1
10
1
x
x
0
10
0
x
x
1
10
x
x
x
x
K1
2010
J0
Proiectarea sistemelor digitale
K0
13
Slide 14
Exemple de sinteză – Modelul Mealy
2010
Proiectarea sistemelor digitale
14
Slide 15
Exemple de sinteză – Modelul Mealy
Analiza ȋn spațiul stărilor
2010
Proiectarea sistemelor digitale
15
Slide 16
Exemple de sinteză – Modelul Mealy
2010
Proiectarea sistemelor digitale
16
Slide 17
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
17
Slide 18
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
18
Slide 19
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
19
Slide 20
Exemple de sinteză – Modelul Moore
Analiza ȋn spațiul stărilor
2010
Proiectarea sistemelor digitale
20
Slide 21
Exemple de sinteză – Modelul Moore
2010
Proiectarea sistemelor digitale
21
Slide 22
Exemple de sinteză – asignare ONE-HOT
Vom relua exemplul precedent (modelul Moore) şi vom sintetiza schema folosind o
asignare one-hot ca ȋn tabelul de mai jos.
starea
S0
S1
S2
S3
S4
S5
S0
1
0
0
0
0
0
S1
0
1
0
0
0
0
S2
0
0
1
0
0
0
S3
0
0
0
1
0
0
S4
0
0
0
0
1
0
S5
0
0
0
0
0
1
Pentru sinteza se utilizeaza bistabile tip D conectate ca in schema urmatoare.
Atentie! La activarea semnalului de initializare bistabilul S0 trebuie sa treaca in starea 1
care devine strea activa dupa initializare. Celelalte bistabile trec in starea 0 (dezactivate).
2010
Proiectarea sistemelor digitale
22
Slide 23
Exemple de sinteză – asignare ONE-HOT
S0
D0
S1
D1
D
Q
CLK
D2
D
Q
CLK
S
S3
D
Q
CLK
R
S4
D3
D
Q
CLK
R
S5
D4
D
Q
CLK
R
R
INIT#
Funcțiile de excitație şi de ieşire se obțin direct din diagrama de evoluție a MS.
E=S5
D0 S S0 S S2 S S5
D1 S S0 S S1 S S4
D2 S S1 S S3
D3 S S2 S S5
D4 S S3
D5 S S4
2010
Proiectarea sistemelor digitale
23
Slide 24
Determinarea
maşinii reduse
minime
2010
Proiectarea sistemelor digitale
24
Slide 25
Concepte fundamentale
Fie
s(t+1)=g(s(t),x(t))
z(t)=f (s(t),x(t))
o MS sincronă complet specifictă şi fie Si şi Sj două stări ale acestei maşini
secvențiale.
Fie x o secvență de intrare oarecare. Se numeşte x succesor al stării Si
şi se notează xSi starea ȋn care ajunge maşina secvențiala pornind din starea Si
după aplicarea secvenței x.
Se spune că stările Si şi Sj sunt k-echivalente dacă pentru orice
secvență x de lungime k, xSi=xSj.
Se spune că stările Si şi Sj sunt echivalente şi se notează SiSj dacă
pentru orice secvență x se obține xSi=xSj.
Se poate spune ca doua stari ale unei maşini secvențiale sunt echivalente dacă
nu există nici un test prin care să ne putem da seama care dintre cele două stări a
fost starea inițială.
2010
Proiectarea sistemelor digitale
25
Slide 26
Concepte fundamentale
T1 Două stări sunt k+1 echivalente dacă sunt k-echivalente şi toți 1 succesorii lor
sunt stări k-echivalente.
Această teoremă oferă mecanismul de determinare iterativă a claselor de
echivalență, pornind de la mulțimea tuturor stărilor considerate inițial ca fiind stări
echivalente.
Vom numi partiție de ordinul k şi vom nota πk reuniunea tuturor claselor de stări
k-echivalente ale unei MS date.
T2
πk-1 = πk πk = πk+1
Această teoremă ne oferă criteriul de oprire a procesului iterativ de determinare a
partiției de ecchivalență.
πk se va numi partiție de echivalență.
T3
Întotdeauna πn-1 = πn (n numărul de stări ale MS date)
Această proprietate ne arată că procesul iterativ de determinare a claselor de
echivalență este un proces finit.
2010
Proiectarea sistemelor digitale
26
Slide 27
Algoritmul Moore
P1. Se porneşte de la tabelul de stare al MS şi se pun în evidenţă stările 1-echivalente
prin compararea vectorilor de ieşire.
P2. Se reface tabelul de stare grupând stările 1-echivalente într-un singur bloc şi
eliminând vectorii de ieşire. Pentru fiecare stare următoare se precizează blocul din care
aceasta face parte.
P3. În noul tabel se compară liniile din fiecare bloc pentru a verifica dacă sunt
echivalente. Dacă în fiecare coloană stările următoare fac parte din acelaşi bloc, stările
comparate sunt echivalente. Dacă în cel puţin o coloană stările următoare fac parte din
blocuri diferite, cele două stări vor face parte din blocuri diferite.
P4. Se reface tabelul prin punerea în evidenţă a noilor blocuri şi se reia de la pasul
precedent. Procesul se reia până când nu mai poate fi generat nici un bloc. În ultimul
tabel stările din acelaşi bloc sunt stări echivalene deci a fost generată partiţia de
echivalenţă.
2010
Proiectarea sistemelor digitale
27
Slide 28
Maşina redusă echivalentă
Fie MS1 şi MS2 două maşini secvenţiale sincrone complet specificate şi fie două stări
oarecare SiMS1 şi SkMS2.
Se spune că stările Si şi Sk sunt echivalente dacă secvenţă x aplicată celor două
stări considerate ca stări iniţiale, se vor obţine secvenţe de ieşire identice.
Se spune că MS1 şi MS2 sunt două maşini secvenţiale echivalente dacă fiecărei
stări din MS1 îi corespunde o stare echivalentă în MS2 şi reciproc.
Se spune că MS2 este maşina secvenţială redusă echivalentă cu MS1 dacă este
echivalentă cu MS1 iar numărul de stări ale lui MS2 nu mai poate fi redus.
2010
Proiectarea sistemelor digitale
28
Slide 29
Maşina redusă echivalentă - exemplu
2010
Proiectarea sistemelor digitale
29
Slide 30
Maşina redusă echivalentă - exemplu
(A,E)
(B,D,F)
(C,G)
2010
Proiectarea sistemelor digitale
30
Slide 31
Maşina redusă echivalentă - exemplu
2010
Proiectarea sistemelor digitale
31
Slide 32
Proiectarea SLS
cu registre
2010
Proiectarea sistemelor digitale
32
Slide 33
Variante de proiectare cu registre
x(t)
m
n
z(t)
CLC
k
k
INIT
TACT
ISDD
x(t)
2010
registru
paralel-paralel
registru
deplasare
y(t)
INIT
CLC
Proiectarea sistemelor digitale
z(t)
33
Slide 34
Registrul 74LS194 – evoluția stărilor
0
0001
0
0
0000
1
2010
0
0
1
0010
0
0011
0
1
1
1011
0110
1
0
0101
1
0
1001 0 1
0
1010
0100
1
1
0
1100
1000
1
0111
Proiectarea sistemelor digitale
0 1101
1
1
1
0
1
1111
0
1
1110
34
Slide 35
Sinteza cu registru - exemplu
Utilizând un registru 74LS194 să se proiecteze un numărător Johnson
modulo 8 (cu 8 stări).
0
0001
0
0
0000
0010
1
0
0
0101
0 1
1010
1001
0
1011
0110
1
1
0
0
1
0
1
1
1100
1000
1
2010
1
0
1
0100
0111
0
0
1
0
0011
Proiectarea sistemelor digitale
0
1
1111
1101
1
1
1110
1
35
Slide 36
Sinteza cu registru - exemplu
y0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010
y1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
y2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
y3
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
IS
1
0
x
0
x
x
x
0
1
x
x
x
1
x
1
0
0
IS
0
1
SR
S1
S0
TACT
D0
D1
D2
D3
74HCT194
CLK
CLEAR Q0
INIT#
Proiectarea sistemelor digitale
y0
Q1
y1
Q2
y2
Q3
y3
36
Slide 37
Sinteza cu registru - exemplu
2010
Proiectarea sistemelor digitale
37
Slide 38
Sinteza cu registru - exemplu
2010
Proiectarea sistemelor digitale
38
Slide 39
2010
Proiectarea sistemelor digitale
39