1 / 11

Máquina de Estados Finito

Máquina de Estados Finito. MÁQUINA DE ESTADOS. A. Elementos do Modelo Estado Transição Relógio Reset Determinismo Modelo determinístico Modelo não determinístico Tipos de Máquina Mealy versus Moore Representação de Máquina de Estados Finito

crevan
Download Presentation

Máquina de Estados Finito

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Máquina de Estados Finito

  2. MÁQUINA DE ESTADOS A • Elementos do Modelo • Estado • Transição • Relógio • Reset • Determinismo • Modelo determinístico • Modelo não determinístico • Tipos de Máquina • Mealy versus Moore • Representação de Máquina de Estados Finito • Um processo com um único sinal representando o estado • Dois processos, um representando a operação combinacional e outro representando o elemento de memorização para troca de estados E0 E1 reset A

  3. Máquina de Moore Entrada Saída Circuito Combinacional Memória (FFs) Circuito Combinacional Saída muda somente na transição do relógio

  4. MÁQUINA DE ESTADOS MOORE entity Moore is port ( ck: in std_logic; entrada: in std_logic; saida: out std_logic ); end Moore; architecture M of Moore is type STATE_TYPE is (S0, S1, S2, S3); signal estado: STATE_TYPE; begin process(ck, reset) begin if reset = '1' then estado <= S0; elsif ck'event and ck = '1' then << Máquina de estados >> end if; end process; end A_Moore;

  5. MÁQUINA DE ESTADOS MOORE case estado is when S0 => saida <= '0'; if entrada = '1' then estado <= S2; end if; when S1 => saida <= '1'; if entrada = '0' then estado <= S0; else estado <= S2; end if; when S2 => saida <= '1'; if entrada = '1' then estado <= S3; end if; when S3 => saida <= '0'; if entrada = '1' then estado <= S1; end if; end case;

  6. Máquina de Mealy Saída muda em função da entrada e do estado corrente Entrada Saída Circuito Combinacional Memória (FFs) Circuito Combinacional

  7. MÁQUINA DE ESTADOS MEALY entity Mealy is port ( ck: in std_logic; entrada: in std_logic; saida: out std_logic ); end Mealy; architecture A_Mealy of Mealy is type STATE_TYPE is (S0, S1, S2, S3); signal estado: STATE_TYPE; begin <PROCESSO DE CONTROLE DE ESTADO> <PROCESSO DE CONTROLE DE SAÍDA> end A_Mealy;

  8. MÁQUINA DE ESTADOS MEALY case estado is when S0 => if entrada = '1' then estado <= S2; end if; when S1 => if entrada = '0' then estado <= S0; else estado <= S2; end if; when S2 => if entrada = '1' then estado <= S3; end if; when S3 => if entrada = '1' then estado <= S1; end if; end case; Processo de controle de estado process(ck, reset) begin if reset = '1' then estado <= S0; elsifck'event and ck = '1' then << Máquina de estados >> end if; end process; Processo de controle da saída Saída <= '0' when entrada = '1' and (estado = S0 or estado = S3) else '1';

  9. MÁQUINA DE ESTADOS • Moore  saídas são calculadas dependendo apenas do ESTADO ATUAL • Mealy saídas são calculadas à partir do ESTADO ATUAL e ENTRADAS 1) O tipo “state” está bem especificado ? Não precisa definir quem é S0,S1,S2,S3? 2) O que deve ser alterado no código anterior para transformar de Moore para Mealy?

  10. Exercícios • Descreva em VHDL o sistema SAgua através de uma máquina de estados. Deve ser representado o comportamento da água frente a mudança de temperatura, sabendo que a água pode estar em um de três estados: sólido, líquido ou gasoso (use uma biblioteca para representar o estado da água). Considere que SAgua tem como entradas: (i) temp - uma porta de um bit, que em 0 representa frio e em 1 representa calor; (ii) estInic – porta com o estado da água codificado; (iii) ck - sinal de controle para efetuar as transições em SAgua; e (iv) start - porta de controle que, em 1, indica que o valor de estInic deve ser armazenado em SAgua – considere que start é síncrono com ck. Como saídas SAgua tem: (i) tempExc – porta contendo os valores 0 ou 1 para informa que o calor ou frio recebidos foram devolvidos para o ambiente, respectivamente; e (ii) estado que é um sinal codificado com o valor do estado da água.

  11. Exercícios • Faça a descrição de uma máquina reconhecedora de padrões. Esta máquina deve reconhecer os seguintes padrões: • Ao reconhecer um padrão válido, a saída reconheceu deve ir para 1, enquanto não tiver uma nova entrada e o contador cont deve ser incrementado. Este deve conter o número de vezes que um padrão foi reconhecido desde a máquina ter sido inicializada com o sinal de reset em 1 A A B B S0 S1 S2 S3 reset A A B B S7 S6 S5 S4 A B A B A

More Related