Buscar

Maquina de Estados 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Análise de FSMs
Determinar as equações de excitação
Circuito ligado às entradas dos flip-flops
D1 = X.Q0 + !X.!Q0.Q1
D0 = !X
2
Análise de FSMs
Determinar as equações de próximo estado e de saídas
Q* = D (flip-flop D)
Q1* = X.Q0 + !X.!Q0.Q1
Q0* = !X
Z = Q1.Q0
Mealy ou Moore ?
3
Análise de FSMs
Construir as tabelas de próximo estado e saídas
Q1* = X.Q0 + !X.!Q0.Q1
Q0* = !X
Z = Q1.Q0
Estadoatual
Entrada
Próximoestado
Saída
Q1
Q0
X
Q1*
Q0*
Z
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
4
Análise de FSMs
Construir as tabelas de próximo estado e saídas
Q1* = X.Q0 + !X.!Q0.Q1
Q0* = !X
Z = Q1.Q0
Estadoatual
Entrada
Próximoestado
Saída
Q1
Q0
X
Q1*
Q0*
Z
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
5
Análise de FSMs
Construir as tabelas de próximo estado e saídas
Q1* = X.Q0 + !X.!Q0.Q1
Q0* = !X
Z = Q1.Q0
Estadoatual
X
Saída
Q1
Q0
0
1
Z
0
0
01
00
0
0
1
01
10
0
1
0
11
00
0
1
1
01
10
1
Q1*Q0*
Tabela de transição/saídas
6
Análise de FSMs
Desenhar o diagrama de transição de estados
Estadoatual
X
Saída
Q1
Q0
0
1
Z
0
0
01
00
0
0
1
01
10
0
1
0
11
00
0
1
1
01
10
1
Q1*Q0*
Detecta a sequência 010 na entrada X
Análise de FSMs
Logisim
8
Análise de FSMs
Determinar as equações de excitação
Circuito ligado às entradas dos flip-flops
D1 = X.Q0 
D0 = !X
9
Análise de FSMs
Determinar as equações de próximo estado e de saídas
Q* = D (flip-flop D)
Q1*= X.Q0 
Q0* = !X
Z = Q1 . !X
Mealy ou Moore ?
10
Análise de FSMs
Construir as tabelas de próximo estado e saídas
Q1*= X.Q0 
Q0* = !X
Z = Q1.!X
Estadoatual
Entrada
Próximoestado
Saída
Q1
Q0
X
Q1*
Q0*
Z
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
11
Análise de FSMs
Construir as tabelas de próximo estado e saídas
Q1*= X.Q0 
Q0* = !X
Z = Q1.!X
Estadoatual
Entrada
Próximoestado
Saída
Q1
Q0
X
Q1*
Q0*
Z
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
12
Análise de FSMs
Construir as tabelas de próximo estado e saídas
Q1*= X.Q0 
Q0* = !X
Z = Q1.!X
Estadoatual
X
Q1
Q0
0
1
0
0
01, 0
00, 0
0
1
01, 0
10, 0
1
0
01, 1
00, 0
1
1
01, 1
10, 0
Q1*Q0*, Z
13
Análise de FSMs
Desenhar o diagrama de transição de estados
Estadoatual
X
Q1
Q0
0
1
0
0
01, 0
00, 0
0
1
01, 0
10, 0
1
0
01, 1
00, 0
1
1
01, 1
10, 0
Q1*Q0*, Z
Detecta a sequência 010 na entrada X
Estado inatingível
Análise de FSMs
Logisim
Máquinas de estado (síntese) 
15
Digital Design - Principles And Practices
John Wakerly
16
Síntese de FSMs
Geração do circuito a partir da descrição do seu comportamento
Exemplo de especificação
Projetar um contador crescente/decrescente de 2 bits
Crescente 00 → 01 → 10 → 11
Decrescente 00→ 11 → 10 → 01
A direção da contagem é determinada por uma entrada denominada UP
Se UP = 1 a contagem é crescente
Se UP = 0 a contagem é decrescente
Além disso, o circuito possui uma entrada de habilitação denominada H
Se H = 0 a contagem pára
Se H = 1 a cada borda ascendente do clock a contagem avança uma unidade sentido selecionado (crescente ou decrescente, conforme o valor de UP)
17
Síntese de FSMs
Passos para a síntese
Construir o diagrama de estados adotando um modelo de FSM (Moore ou Mealy)
Determinar as transições necessárias entre estados
Selecionar um estado para servir como estado inicial (reset)
Construir a tabela de próximo estado e saídas (transição)
Determinar as equações de próximo estado e de saídas
Mapas de Karnaugh
Determinar as equações de excitação
Mesmas equações do passo anterior no caso de flip-flops D
Desenhar o circuito
18
Síntese de FSMs
Construir o diagrama de estados adotando um modelo de FSM (Moore ou Mealy)
Moore
Estado inicial
Saídas serão as variáveis de estado (Q0 e Q1)
Como travar a contagem no valor máximo ?
19
Síntese de FSMs
Construir a tabela de próximo estado e saídas
Estadoatual
H/UP
Q1
Q0
00
01
10
11
0
0
0
1
1
0
1
1
Q1*Q0*
Q1Q0 = 00
Q1Q0 = 01
Q1Q0 = 10
Q1Q0 = 11
Tabela de transição/saída
20
Síntese de FSMs
Construir a tabela de próximo estado e saídas
Estadoatual
H/UP
Q1
Q0
00
01
10
11
0
0
00
00
11
01
0
1
01
01
00
10
1
0
10
10
01
11
1
1
11
11
10
00
Q1*Q0*
Q1Q0 = 00
Q1Q0 = 01
Q1Q0 = 10
Q1Q0 = 11
Tabela de transição/saída
Não há colunas para saídas porque elas são as variáveis de estado (Q0 e Q1)
21
Síntese de FSMs
Determinar as equações de próximo estado e de saídas
Estadoatual
H/UP
Q1
Q0
00
01
10
11
0
0
00
00
11
01
0
1
01
01
00
10
1
0
10
10
01
11
1
1
11
11
10
00
Q1*Q0*
Q1*
H/UP
Q1Q0
00
01
11
10
00
01
11
10
22
Síntese de FSMs
Determinar as equações de próximo estado e de saídas
Estadoatual
H/UP
Q1
Q0
00
01
10
11
0
0
00
00
11
01
0
1
01
01
00
10
1
0
10
10
01
11
1
1
11
11
10
00
Q1*Q0*
Q1*
H/UP
Q1Q0
00
01
11
10
00
0
0
0
1
01
0
0
1
0
11
1
1
0
1
10
1
1
1
0
Q1* = Q1.!H + Q1.Q0.!UP + Q1.!Q0.UP + !Q1.Q0.H.UP + !Q1.!Q0.H.!UP
23
Síntese de FSMs
Determinar as equações de próximo estado e de saídas
Estadoatual
H/UP
Q1
Q0
00
01
10
11
0
0
00
00
11
01
0
1
01
01
00
10
1
0
10
10
01
11
1
1
11
11
10
00
Q1*Q0*
Q0*
H/UP
Q1Q0
00
01
11
10
00
01
11
10
24
Síntese de FSMs
Determinar as equações de próximo estado e de saídas
Estadoatual
H/UP
Q1
Q0
00
01
10
11
0
0
00
00
11
01
0
1
01
01
00
10
1
0
10
10
01
11
1
1
11
11
10
00
Q1*Q0*
Q0*
H/UP
Q1Q0
00
01
11
10
00
0
0
1
1
01
1
1
0
0
11
1
1
0
0
10
0
0
1
1
Q0* = Q0.!H + !Q0.H 
25
Síntese de FSMs
Determinar as equações de excitação
Equação caracterísca do flip-flop D: Q* = D
D0 = Q0.!H + !Q0.H
D1 = Q1.!H + Q1.Q0.!UP + Q1.!Q0.UP + !Q1.Q0.H.UP + !Q1.!Q0.H.!UP
26
Síntese de FSMs
Desenhar o circuito
D0 = Q0.!H + !Q0.H
D1 = Q1.!H + Q1.Q0.!UP + Q1.!Q0.UP + !Q1.Q0.H.UP + !Q1.!Q0.H.!UP
Como fazer o circuito operar na borda descendente do clock ?
Próximo estado
27
Síntese de FSMs
Logisim
28
Síntese de FSMs
Projetar o circuito de controle que permita realizar um swap entre R1 e R2, utilizando R3 como temporário
W=1 inicia o swap
Done=1 indica o fim do swap
8 bits
29
Síntese de FSMs
Para realizar o swap entre R1 e R2, é necessário realizar a seguinte seqüência de transferências entre registradores
R3 ← R2
R2 ← R1
R1 ← R3
1
=1
=1
30
Síntese de FSMs
Para realizar o swap entre R1 e R2, é necessário realizar a seguinte seqüência de transferências entre registradores
R3 ← R2
R2 ← R1
R1 ← R3
1
2
=1
=1
31
Síntese de FSMs
Para realizar o swap entre R1 e R2, é necessário realizar a seguinte seqüência de transferências entre registradores
R3 ← R2
R2 ← R1
R1 ← R3
1
2
3
=1
1=
Síntese de FSMs
Logisim
33
Síntese de FSMs
Construir o diagrama de estados adotando um modelo de FSM (Moore ou Mealy)
A entrada w indica o início da operação swap
R3 ← R2
R2 ← R1
R1 ← R3
Transição só depende do clock
Moore
Done 1 ciclo adiantado!
34
Síntese de FSMs
Construir a tabela de próximo estado e saídas
Estadoatual
W
H1
C1
H2
C2
H3
C3
Done
Q1
Q0
0
1
0
0
0
1
1
0
1
1
Q1*Q0*
Q1Q0 = 00
Q1Q0 = 01
Q1Q0 = 10
Q1Q0 = 11
Tabela de transição/saída
35
Síntese de FSMs
Construir a tabela de próximo estado e saídas
Estadoatual
W
H1
C1
H2
C2
H3
C3
Done
Q1
Q0
0
1
0
0
00
01
0
0
0
0
0
0
0
0
1
1010
0
0
1
0
0
1
0
1
0
11
11
1
0
0
1
0
0
0
1
1
00
00
0
1
0
0
1
0
1
Q1*Q0*
Q1Q0 = 00
Q1Q0 = 01
Q1Q0 = 10
Q1Q0 = 11
Tabela de transição/saída
36
Síntese de FSMs
Determinar as equações de próximo estado e de saídas (mapa de Karnaugh)
Estadoatual
W
H1
C1
H2
C2
H3
C3
Done
Q1
Q0
0
1
0
0
00
01
0
0
0
0
0
0
0
0
1
10
10
0
0
1
0
0
1
0
1
0
11
11
1
0
0
1
0
0
0
1
1
00
00
0
1
0
0
1
0
1
Q1*Q0*
Q1*
W
Q1Q0
0
1
00
01
11
10
Q0*
W
Q1Q0
0
1
00
01
11
10
37
Síntese de FSMs
Determinar as equações de próximo estado e de saídas (mapa de Karnaugh)
Estadoatual
W
H1
C1
H2
C2
H3
C3
Done
Q1
Q0
0
1
0
0
00
01
0
0
0
0
0
0
0
0
1
10
10
0
0
1
0
0
1
0
1
0
11
11
1
0
0
1
0
0
0
1
1
00
00
0
1
0
0
1
0
1
Q1*Q0*
Q1*
W
Q1Q0
0
1
00
0
0
01
1
1
11
0
0
10
1
1
Q0*
W
Q1Q0
0
1
00
0
1
01
0
0
11
0
0
10
1
1
Q1* = !Q1.Q0 + Q1.!Q0
Q0* = !Q0.W + Q1.!Q0 
= Q1 ^ Q0
Síntese de FSMs
Determinar as equações de próximo estado e de saídas
Estadoatual
W
H1
C1
H2
C2
H3
C3
Done
Q1
Q0
0
1
0
0
00
01
0
0
0
0
0
0
0
0
1
10
10
0
0
1
0
0
1
0
1
0
11
11
1
0
0
1
0
0
0
1
1
00
00
0
1
0
0
1
0
1
Q1*Q0*
H1 = C2 = Q1 . !Q0
C1 = H3 = Done = Q1 . Q0
H2 = C3 = !Q1 . Q0
39
Síntese de FSMs
Determinar as equações de excitação
Equação caracterísca do flip-flop D: Q* = D
D0 = !Q0.W + Q1.!Q0 
D1 = !Q1.Q0 + Q1.!Q0 = Q1 ^ Q0 
Síntese de FSMs
Desenhar o circuito
D0 = !Q0.W + Q1.!Q0 
D1 = Q1^Q0
C1 = H3 = Done = Q1.Q0
H1 = C2 = Q1.!Q0
H2 = C3 = !Q1.Q0
Próximo estado
Saídas
Próximo
 estado
Saídas
Síntese de FSMs
Desenhar o circuito (otimização)
D0 = !Q0.W + Q1.!Q0 
D1 = Q1^Q0
C1 = H3 = Done = Q1 . Q0
H1 = C2 = Q1.!Q0
H2 = C3 = !Q1.Q0
Síntese de FSMs
Desenhar o circuito (otimização)
D0 = !Q0.W + Q1.!Q0 
D1 = Q1^Q0
C1 = H3 = Done = Q1 . Q0
H1 = C2 = Q1.!Q0
H2 = C3 = !Q1.Q0
43
Síntese de FSMs
Logisim
44
Síntese de FSMs
Blocos operando em bordas complementares
Sinas de controle gerados na borda de subida
Execução realizada na boda de descida do mesmo ciclo
45
Síntese de FSMs
Implementar um contador Grey
Um código de Gray é um sistema de numeração binário onde dois valores sucessivos diferem de apenas um bit
Exemplo: código de Gray de 3 bits
a sequência de código que representa os números de 0 a 7 é: 000, 001, 011, 010, 110, 111, 101, 100
O circuito deve ter: 
Uma entrada enable que habilita a contagem a cada ciclo de clock
Uma saída first ativa quando o código atual da contagem é o primeiro
Uma saída last ativa quando o código atual da contagem é o último
Os bits da saída code correspondem às saídas dos flip-flops
Clock
Reset
Enable
Code
First
Last
3
Contador
Gray

Outros materiais