Aula 9 – Máquina de Estados Infinitos – ELT013ECO2013
Download
Report
Transcript Aula 9 – Máquina de Estados Infinitos – ELT013ECO2013
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