380 likes | 604 Views
Eletrônica Digital II ELT013. Engenharia de Computação. Aula 9. Máquinas de Estados Finitos. 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
E N D
Eletrônica Digital IIELT013 Engenharia de Computação
Aula 9 Máquinas de Estados Finitos ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
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
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
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 • Valores de saída que o sistema deve produzir para cada estado ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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 máquinas de estados Diagrama de transição de estados contador ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Máquinas de Estados Finitos Vs. Contadores (2) • Máquinas de Estado Finitos (FiniteStateMachine – 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
Modelo para máquinas de estados finitos ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
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 • PresentState – 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
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
Projeto de máquinas de estados ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
Exemplo 1 ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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 • Produz y = 0 na saída • Permanece no estado B se x = 0 • Prossegue para estado B se x = 1 • Quando no estado C • Produz y = x’ na saída • Prossegue para estado A se x = 0 ou x = 1 ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
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
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 Numeração dos estados. Estado A → 0 0 Estado B → 0 1 Estado C → 1 0 (se houvesse Estado D → 1 1) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Exemplo 1 (4)Solução • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Exemplo 1 (5)Solução • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee 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
Exemplo 1 (6)Solução • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Exemplo 1 (6)Solução • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Exemplo 1 (6)Solução • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Exemplo 1 (6)Solução • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
Exemplo 2Detector de sequência ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
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
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 flip-flops com entradas d0 e d1 e saídas q0 e q1 ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
Exemplo 2 (3) • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Exemplo 2 (3) • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
Exemplo 2 (3) • Etapa 3: Extraia das tabelas verdade as expressões booleanas para nx_statee para a saída (y) ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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
Exercícios Propostos ELT013 - Eletrônica Digital II Aula 9 - Máquinas de Estados Finitos
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