320 likes | 907 Views
Máquinas de Estado. Sistemas Digitais. Introdução. Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito sequencial consiste de um circuito combinacional e uma rede de memória formada por elementos de armazenamento (usualmente flip-flops)
E N D
Máquinas de Estado Sistemas Digitais
Introdução • Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais • um circuito sequencial consiste de um circuito combinacional e uma rede de memória formada por elementos de armazenamento (usualmente flip-flops) • a rede de memória define o estado atual da máquina de estados • o circuito sequencial difere de um circuito combinacional puro na medida em que o próximo estado será definido não só a partir das entradas atuais, como também do estado atual, aumentando enormemente as possibilidades de projeto
Tipos de Implementações • Máquinas de Estados podem ser dos tipos seguintes: Máquina de Moore: a saída muda apenas na transição do relógio Máquina de Mealy: a saída pode mudar a qualquer instante em função da entrada
Tipos de Implementações • O comportamento das máquinas de Moore e Mealy é idêntico, mas suas implementações diferem, como mostrado a seguir. Máquina de Moore: somente os sinais de entrada causadores da transição de um estado para outro são representados nos arcos do grado Máquina de Mealy: nos arcos do grafo são representados os sinais de entrada causadores da transição de um estado para outro, com os respectivos valores para a saída
Projeto de Máquinas de Estados 1º passo: elaborar diagrama de estados que interprete fielmente o problema que se deseja resolver 2º passo: opcionalmente pode-se minimizar o número de estados no diagrama de estados 3º passo: escrever a tabela de estados, com os estados atuais, próximos estados e saídas 4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops) 5º passo: construir a tabela de excitação do tipo de flip-flop utilizado 6º passo: montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílio da tabela de excitação 7º passo: obter a equação final de cada entrada para cada um dos flip-flops do circuito a partir da simplificação do mapa de Karnaugh 8º passo: fazer o mesmo procedimento para as equações das variáveis de saída 9º passo: finalmente, elaboração do diagrama lógico do circuito, lembrando que todos os elementos de memória (flipflops) recebem o mesmo sinal de relógio
Detector de Começo de Mensagem O começo de uma mensagem em um sistema de comunicação é indicado pela ocorrência de três ‘1’ consecutivos em uma linha x. Projete um circuito que forneça em sua saída o valor ‘1’ apenas durante o período de relógio coincidente com o terceiro ‘1’ consecutivo na linha x. Supor que um mecanismo externo inicializa o detector, após o término da mensagem, no estado de “reset”.
Detector de Começo de Mensagem 1º passo: elaborar diagrama de estados que interprete fielmente o problema que se deseja resolver 2º passo: opcionalmente pode-se minimizar o número de estados no diagrama de estados Máquina de Mealy
Detector de Começo de Mensagem 3º passo: escrever a tabela de estados, com os estados atuais, próximos estados e saídas
Detector de Começo de Mensagem 4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops)
Detector de Começo de Mensagem 4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops)
Detector de Começo de Mensagem 5º passo: construir a tabela de excitação do tipo de flip-flop utilizado
Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílio da tabela de excitação 7º passo: obter a equação final de cada entrada para cada um dos flip-flops do circuito a partir da simplificação do mapa de Karnaugh
Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílio da tabela de excitação 7º passo: obter a equação final de cada entrada para cada um dos flip-flops do circuito a partir da simplificação do mapa de Karnaugh
Detector de Começo de Mensagem 8º passo: fazer o mesmo procedimento para as equações das variáveis de saída
Detector de Começo de Mensagem 9º passo: finalmente, elaboração do diagrama lógico do circuito, lembrando que todos os elementos de memória (flipflops) recebem o mesmo sinal de relógio
Detector de Paridade • Obter o diagrama de estados de um circuito que detecte a paridade de um sinal serial. Considere paridade ímpar e máquina de Moore.
Divisível por 3 • Obter o diagrama de estados de um circuito que indique se o número de 1s recebidos é divisível por 3 (considerar zero divisível por 3). Exemplo: Máquina de Moore Máquina de Mealy
Indicação de Números de Zeros • Obter o diagrama de estados de um circuito que indique se o número de zeros recebidos é par, maior que zero, e desde que NUNCA ocorram dois 1s consecutivos. Máquina de Moore
Detector de Sequência 0010 • Obter o diagrama de estados de um circuito que detecte todas as sequências 0010. Se ocorrer mais do que dois zeros consecutivos a máquina deve ser reiniciada após a ocorrência de um 1. Exemplo: Máquina de Mealy
Detector de Sequência 0010 • Obter o diagrama de estados de um circuito que detecte todas as sequências 0010. Se ocorrer mais do que dois zeros consecutivos a máquina deve ser reiniciada após a ocorrência de um 1. Exemplo: 1 Máquina de Mealy
Exercícios • Aplique os 8 passos de projeto, tal como feito no detector de começo de mensagem, nos exemplos de circuitos sequenciais apresentados previamente.