Eletrônica Digital II
ELT013
Engenharia de Computação
Aula 9
MÁQUINAS DE ESTADOS FINITOS
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
2
Máquinas de Estados Finitos (1)
 Procedimento formal para projeto de circuitos
sequenciais
 Funcionamento do circuito pode ser descrito por meio
de uma lista bem definida de estados
 Essa lista contem todos os estados possíveis do sistema
e as condições necessárias para o sistema passar de um
estado para outro
 Valores de saída que o sistema deve produzir para cada
estado
Essa definição se parece com que?
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
3
Máquinas de Estados Finitos (2)
Funcionamento do circuito
pode ser descrito por meio
de uma lista bem definida
de estados
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
4
Máquinas de Estados Finitos (2)
Essa lista contem todos os estados
possíveis do sistema e as condições
necessárias para o sistema passar
de um estado para outro
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
5
Máquinas de Estados Finitos (2)
Essa lista contem todos os estados
possíveis do sistema e as condições
necessárias para o sistema passar
de um estado para outro
ELT013 - Eletrônica Digital II
Valores de saída que o sistema
deve produzir para cada
estado
Aula 9 - Máquinas de Estados Finitos
6
Máquinas de Estados Finitos Vs.
Contadores (1)
Oras, qual é a diferença de um contador para uma máquina
de estados finitos?
Diagrama de transição
de estados contador
ELT013 - Eletrônica Digital II
Diagrama de transição
de estados máquinas de estados
Aula 9 - Máquinas de Estados Finitos
7
Máquinas de Estados Finitos Vs.
Contadores (2)
 Máquinas de Estado Finitos (Finite State Machine – FSM)
 Controlam eventos
 Cada estado armazena informação sobre o passado
 Reflete mudanças desde a entrada em um estado no início do
sistema, até o presente momento
 Contador
 Conta eventos
Considerando essa comparação,
qual a função do diagrama de
estados da figura?
Detectar uma sequência de três 1’s!
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
8
MODELO PARA MÁQUINAS DE
ESTADOS FINITOS
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
9
Diagrama de Transição de Estados
 Para o exemplo mostrado:
 Quatro estados (A, B, C e D)
 Uma saída y
 y = 0 quando em A, B ou C
 y = 1 quando em D
 Uma entrada x
 Um clock (não mostrado) e um
reset
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
10
Modelo Simplificado de FSM
 Lógica combinacional
 Circuitos combinacionais e portas lógicas
 Lógica sequencial
 Circuitos sequenciais com todos os flip-flops
 Clock e reset são aplicados neste bloco
 Present State – pr_state (entrada)
 Bits armazenados nos flip-flops no momento
atual
 Next State – nx_state (saída)
 Bits a serem armazenados por eles na próxima
transição
 nx_state é produzido na seção superior a
partir do pr_state
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
11
Máquinas de Mealy Vs. Máquinas de
Moore
 Máquina de Mealy
 A saída da máquina depende do
estado armazenado na mesma e das
entradas do sistema
 Projeto de máquinas de estado mais
gerais
 Máquinas de Moore
 A saída depende somente do estado
armazenado
 Ex.: contadores convencionais não
tem nenhuma entrada (exceto clock)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
12
PROJETO DE MÁQUINAS DE
ESTADOS
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
13
Projeto de Máquinas de Estados
 Etapa 1: Descreva o diagrama de transição de estados
 Etapa 2: Escreva as tabelas-verdades para nx_state e para
saída. Rearranje as tabelas-verdades substituindo os nomes
dos estados pelo valores binários correspondentes
 Lembrando do número mínimo de FF para realizar a
implementação
 Etapa 3: Extraia das tabelas verdade as expressões
booleanas para nx_state e para a saída
 Etapa 4: Desenhe o circuito correspondente colocando os
FFD na seção inferior e a lógica combinacional para as
expressões obtidas
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
14
EXEMPLO 1
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
15
Exemplo 1 (1)
Avaliação da máquina de estados
 Contém três estados (A, B e C)
 Saída (y) e uma entrada (x)
 Quando no estado A
 Produz y = 0 na saída
 Permanece no estado A se x = 1
 Prossegue para estado B se x = 0
 Quando no estado B
 Quando no estado C
 Produz y = 0 na saída
 Permanece no estado B se x = 0
 Prossegue para estado B se x = 1
ELT013 - Eletrônica Digital II
 Produz y = x’ na saída
 Prossegue para estado A
se x = 0 ou x = 1
Aula 9 - Máquinas de Estados Finitos
16
Exemplo 1 (2)
Solução
 Etapa 1: Descreva o diagrama de transição de estados
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
17
Exemplo 1 (3)
Solução
 Etapa 2: Escreva as tabelas-verdades para nx_state e para saída
 Etapa 2: Rearranje as tabelas-verdades substituindo os nomes dos
estados pelo valores binários correspondentes
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
18
Exemplo 1 (3)
Solução
 Etapa 2: Escreva as tabelas-verdades para nx_state e para saída

Numeração dos estados.
Estado A → 0 0
Etapa 2: Rearranje as tabelas-verdades
Estado B → 0 1 substituindo os nomes
Estado
C→10
estados pelo valores binários
correspondentes
(se houvesse Estado D → 1 1)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
dos
19
Exemplo 1 (4)
Solução
 Etapa 3: Extraia das tabelas verdade as expressões booleanas para
nx_state e para a saída (y)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
20
Exemplo 1 (5)
Solução
 Etapa 3: Extraia das tabelas verdade as expressões booleanas para
nx_state e para a saída (y)
Estados que não utilizandos, logo não importa 0 ou 1
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
21
Exemplo 1 (6)
Solução
 Etapa 3: Extraia das tabelas verdade as expressões booleanas para
nx_state e para a saída (y)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
22
Exemplo 1 (6)
Solução
 Etapa 3: Extraia das tabelas verdade as expressões booleanas para
nx_state e para a saída (y)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
23
Exemplo 1 (6)
Solução
 Etapa 3: Extraia das tabelas verdade as expressões booleanas para
nx_state e para a saída (y)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
24
Exemplo 1 (6)
Solução
 Etapa 3: Extraia das tabelas verdade as expressões booleanas para
nx_state e para a saída (y)
y  q1  x
ELT013 - Eletrônica Digital II
d1  q0  x
Aula 9 - Máquinas de Estados Finitos
d1  q1  x
25
Exemplo 1 (7)
Solução
 Etapa 4: Desenhe o circuito correspondente colocando os FFD na
seção inferior e a lógica combinacional para as expressões obtidas
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
26
EXEMPLO 2
DETECTOR DE SEQUÊNCIA
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
27
Exemplo 2 (1)
 Projete um circuito que detecte uma sequência de “111”
 Por exemplo, para entrada “000111110011100”

A saída deve ser “000001110000100”
 Etapa 1: Descreva o diagrama de transição de estados
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
28
Exemplo 2 (2)
 Etapa 2: Escreva as tabelas-verdades para nx_state e para
saída
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
29
Exemplo 2 (2)
 Etapa 2: Escreva as tabelas-verdades para nx_state e para
saída
Como são quatro estados, são necessários dois flipflops com entradas d0 e d1 e saídas q0 e q1
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
30
Exemplo 2 (2)
 Etapa 2: Escreva as tabelas-verdades para nx_state e para
saída
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
31
Exemplo 2 (3)
 Etapa 3: Extraia das tabelas verdade as expressões
booleanas para nx_state e para a saída (y)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
32
Exemplo 2 (3)
 Etapa 3: Extraia das tabelas verdade as expressões
booleanas para nx_state e para a saída (y)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
33
Exemplo 2 (3)
 Etapa 3: Extraia das tabelas verdade as expressões
booleanas para nx_state e para a saída (y)
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
34
Exemplo 2 (4)
 Etapa 4: Desenhe o circuito correspondente colocando os
FFD na seção inferior e a lógica combinacional para as
expressões obtidas
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
35
EXERCÍCIOS PROPOSTOS
ELT013 - Eletrônica Digital II
Aula 9 - Máquinas de Estados Finitos
36
Exercícios Propostos
 Façam do livro Eletrônica Digital Moderna e VHDL
Cap. 15 os exercícios similares aos exemplos
apresentados (15.5 – 15.8)
ELT013 - Eletrônica Digital II
Aula 8 - Contadores - Parte II
37
Download

Aula 9 – Máquina de Estados Infinitos – ELT013ECO2013