ED4 - Maquinas de Estados - Projeto Parte I
ED4 - Maquinas de Estados - Projeto Parte I
ED4 - Maquinas de Estados - Projeto Parte I
mquina de estados representa um sistema como um conjunto de estados, a transio entre eles, em conjunto com as entradas e sadas associadas. de estados podem ser utilizadas em outras situaes alm de projeto de circuitos digitais e arquitetura de computadores.
Mquinas
dos Estados Definio da Transio entre Estados Otimizao / Minimizao dos Estados e Transies
Aplicaes - Exemplos
de seqncias.
Videocassetes
CD Players
Exemplos
Diagrama de Estados
Dispensador de Refrigerantes
Termos e Definies
Diagrama de Estados
Mostra
Estados
Conjunto
Transio de Estados
A
troca do estado atual para o prximo estado baseado nas variveis de entrada.
Termos e Definies
Estado Atual
O estado onde a FSM est em determinado momento. O estado para o qual a FSM faz a prxima transio determinada pelas entradas no momento em que ocorre um sinal de clock. Modelo de FSM onde a Sada depende somente do estado atual. Modelo de FSM onde a Sada depende do estado atual e das variveis de entrada.
9
Prximo Estado
Mquina Moore
Mquina Mealy
Os dois tipos de mquinas seguem as caractersticas bsicas de uma mquina de estados, mas diferem em como as sadas so determinadas.
Mquina Moore:
As sadas so independentes das entradas, isto , as sadas so determinadas somente a partir do estado atual da mquina de estados.
Mquina Mealy:
As sadas podem ser determinadas somente pelo estado atual ou pelo estado atual e as entradas atuais, isto , as sadas so determinadas enquanto a mquina faz a transio de um estado para outro estado.
10
Modelos de Mquinas
11
Arquitetura Moore
LPE=f (EA,X) FF EA
Decodi ficador
S=f (EA)
Sada
EA
Clock
FF
Variveis de Entrada
Sada Desejada
12
Arquitetura Moore
13
Arquitetura Mealy
LPE=f (EA,X) FF EA
Decodi ficador
S=f (EA,X)
Sada
EA
Clock
FF
Variveis de Entrada
Sada Desejada
14
Arquitetura Mealy
15
Modelos de Mquinas
Moore
Mealy
Estado Atual
Sada
4453F-02 - Eletrnica Digital (ECA)
Sada
16
Modelos de Mquinas
Moore
X
Deco dific ador
LPE=f (EA,X)
FF FF
Clock
S=f (EA)
Sada
Mealy
X
Deco dific ador
LPE=f (EA,X) FF FF
Clock
S=f (EA,X)
Sada
17
Denominao do Estado Sada Desejada para o Estado Condio das variveis de entrada para transio de estados X=1
Varivel de Entrada X=0
A 4
B 5
X=0
EA A B
X 0 1 0 1
EF B A B A
S 4 5
X=0
X=0
B 5
X=1
A 4
X=1
19
Denominao do Estado Condio das variveis de entrada para transio de estados associada a sada desejada para cada transio.
S=4 X=1 Varivel de Entrada X=0 Sada Desejada S=5
Denominao do Estado
Denominao do Estado
B
X=0 S=5
X=1 S=4
EA A B
X 0 1 0 1
EF B A B A
S 5 4 5 4
X=0 S=5
X=1 S=4
S=4 X=1
21
Onde estou ? O que fao aqui ? Para onde vou ? De onde eu vim ? Em qual estado a mquina est ? Qual a sada da mquina no estado atual ? Para qual estado a mquina vai ? De qual estado a mquina veio ?
22
Exerccio 1 Moore
Projetar uma mquina de estados, com arquitetura Moore com FF tipo D, que execute a funo de um contador com as seguintes caractersticas:
Progressivo Habilitao
23
Arquitetura Moore
X
Decodi ficador
LPE=f (EA,X) FF EA FF
Clock Decodi ficador
EA
Variveis de Entrada
Sada Desejada
1. 2. 3. 4. 5.
Definio das variveis de entrada e sada Definio do diagrama de estado e da tabela de transies de estado Definio do nmero de Flip-Flops Codificao dos estados e sadas Projeto dos decodificadores de sada e prximo estado
24
Entrada Habilitao da Contagem Entrada X 0 No Conta 1 Conta Sada Valor do Contador em Binrio Sada S 2,3,4,5 - Decimal
010, 011, 100, 101
- Binrio
X=1
X=1
D 5
X=0
X=0
B 3
X=1
C 4
X=1
26
EA
EF
27
EA A B C D
X 0 1 0 1 0
EF A B B C C
S 2 3 4 5
1
0
D
D
28
O nmero de Flip-Flops utilizados na mquina de estados depende do nmero de estados que deve ser memorizado pela mquina de estados. Com N Flip-Flops consegue-se memorizar 2N estados A quantidade de Flip-Flops deve ser tal que: 2N Nmero de Estados
0
1
A
B
0
1 0 1 0 1
B
C C D D A
30
X 0
1 0 1 0 1 0 1
EF A
B B C C D D A
EF1 EF0 1
1 1 0 0 0 0 1
S
2 3 4 5
S2
0 0 1 1
S1
1 1 0 0
S0
0 1 0 1
31
1
0 0 1 1 0 0 1
X 0
1 0 1 0 1 0 1
EF A
B B C C D D A
EF1 EF0 0
0 0 1 1 1 1 0
S
2 3 4 5
S2
0 0 1 1
S1
1 1 0 0
S0
0 1 0 1
32
0
1 1 0 0 1 1 0
Tabela Verdade
Entrada A B Sada S
Tabela Verdade (Relaciona Entrada pela Sada) Mapas de Karnaugh Equaes Simplificadas Circuito Lgico
33
Moore
X
Decodi ficador
LPE=f (EA,X) FF EA
Decodi ficador
S=f (EA)
Sada
EA
Clock
FF
Variveis de Entrada
Sada Desejada
34
EA EA1 EA0 A B 0 0 0 1
X 0 1 0
EF A B B
EF1 EF0 0 0 0 0 1 1
S 2 3
S2 0 0
S1 1 1
S0 0 1
1
0 1 0 1
C
C D D A
1
1 1 1 0
0
0 1 1 0
C D
1 1
0 1
4 5
1 1
0 0
0 1
35
EA EA1 EA0 A B 0 0 0 1
X 0 1 0
EF A B B
EF1 EF0 0 0 0 0 1 1
S 2 3
S2 0 0
S1 1 1
S0 0 1
1
0 1 0 1
C
C D D A
1
1 1 1 0
0
0 1 1 0
C D
1 1
0 1
4 5
1 1
0 0
0 1
36
EA1 EA0
0 0 0 1
S2
0 0
S1
1 1
S0
0
Por observao da Tabela Verdade, determinamos as Equaes Booleanas das variveis de sada
S2 = EA1
S1 = EA1
S0 = EA0
1 1
0 1
1 1
0 0
0 1
37
38
Moore
X
Decodi ficador
LPE=f (EA,X) FF EA
Decodi ficador
S=f (EA)
Sada
EA
Clock
FF
Variveis de Entrada
Sada Desejada
39
Podemos utilizar qualquer Flip-Flop como elemento de memria: D, T , JK. O decodificador de prximo estado deve estimular o Flip-Flop para que o mesmo faa a transio do Estado Atual (EA) para o Estado Futuro (EF) baseado na sua entrada.
40
Determinar o valor lgico das entradas dos FlipFlops de acordo com a transio das sadas dos mesmos. Analisar a transio desejada e determinar qual o estmulo do Flip Flop.
Estado Atual Transio
Estado Futuro
Estmulo
EA EA1 EA0 A 0 0
X 0
EF A
EF1 EF0 0 0
S 2
D1 0
D0 0
1
41
FF
K Q
JK 00 01 10 11
D 0 1
QF QA 0 1 QA
QF 0 1
Transio
Estmulo
D FF
QA QF
00 01 10 11
D
0 1 0 1
T
0 1 1 0
JK
0X 1X X1 X0
Q T FF Q Q
T 0 1
QF QA QA
42
Estado Futuro
EA EA1 EA0 A B C D 0 0 1 1 0 1 0 1
EF A
B B C C D D A
EF1 EF0 0
0 0 1 1 1 1 0
S
2 3 4 5
S2
0 0 1 1
S1
1 1 0 0
S0
0 1 0 1
43
0
1 0 1 0 1 0 1
0
1 1 0 0 1 1 0
Estado Futuro
Estmulo
EA EA1 EA0 A B C D 0 0 1 1 0 1 0 1
X 0
1 0 1 0 1 0 1
EF A
B B C C D D A
EF1 EF0 0
0 0 1 1 1 1 0
D1
D0
0
1 1 0 0 1 1 0
D FF
D 0 1
QF 0 1
44
Estado Futuro
Estmulo
EA EA1 EA0 A B C D 0 0 1 1 0 1 0 1
X 0
1 0 1 0 1 0 1
EF A
B B C C D D A
EF1 EF0 0
0 0 1 1 1 1 0
D1 0
0 0 1 1 1 1 0
D0 0
1 1 0 0 1 1 0
0
1 1 0 0 1 1 0
D FF
D 0 1
QF 0 1
45
EA EA1 EA0 A B C D 0 0 1 1 0 1 0 1
X 0
1 0 1 0 1 0 1
EF A
B B C C D D A
EF1 EF0 0
0 0 1 1 1 1 0
D1 0
0 0 1 1 1 1 0
D0 0
1 1 0 0 1 1 0
46
0
1 1 0 0 1 1 0
Tabela Verdade
Sadas
EA EA1 EA0 A B C D 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1
X 0
1 0 1 0 1 0 1
EF A
B B C C D D A
EF1 EF0 0
0 0 1 1 1 1 0
D1 0
0 0 1 1 1 1 0
D0 0
1 1 0 0 1 1 0
47
0
1 1 0 0 1 1 0
Moore
X
Decodi ficador
LPE=f (EA,X) FF EA
Decodi ficador
S=f (EA)
Sada
EA
Clock
FF
Variveis de Entrada
Sada Desejada
48
D1 00 01 11 10 0 0 1 3 2 1 4 5 7 6
EA0 X
EA1
D0 00 01 11 10 0 1
4453F-02 - Eletrnica Digital (ECA)
0 1 2 3 4 5 6 7
D1
EA1 EA1
X
EA0
EA0
0 1 2 3 4 5 6 7
D0
EA1
EA1
X
EA0
EA0
D1 00 01 11 10 0 0 0 1 0 1 1 1 0 1
EA0 X
EA1
D0 00 01 11 10 0 0 1 0 1 1 0 1 0 1
4453F-02 - Eletrnica Digital (ECA)
0 1 2 3 4 5 6 7
D1
EA1 EA1
EA0
EA0
D1 = EA1EA0X +
0 1
X
0 1
X
1 0
0 1
X
EA1EA0 + EA1X
D0
EA1
EA1
EA0
EA0
0 0
X
1 1
X
0 0
1 1
X
D0 = EA0X + EA0X
52
53
54
Construir um contador de mdulo 4 utilizando uma mquina de Moore. Esse contador pode incrementar ou decrementar o seu valor; Implementar utilizando Flip-Flops tipo D;
55