Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para...

22
Máquinas de Estado Sistemas Digitais

Transcript of Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para...

Page 1: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Máquinas de Estado

Sistemas Digitais

Page 2: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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

Page 3: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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

Page 4: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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

Page 5: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Projeto de Máquinas de Estados1º passo: elaborar diagrama de estados que interprete fielmente o problema que se deseja resolver2º passo: opcionalmente pode-se minimizar o número de estados no diagrama de estados3º passo: escrever a tabela de estados, com os estados atuais, próximos estados e saídas4º 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 utilizado6º passo: montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílio da tabela de excitação7º 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 Karnaugh8º passo: fazer o mesmo procedimento para as equações das variáveis de saída9º 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

Page 6: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de MensagemO 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”.

Page 7: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem1º passo: elaborar diagrama de estados que interprete fielmente o problema que se deseja resolver

Máquina de Mealy

2º passo: opcionalmente pode-se minimizar o número de estados no diagrama de estados

Page 8: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem3º passo: escrever a tabela de estados, com os estados atuais, próximos estados e saídas

Page 9: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops)

Page 10: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops)

Page 11: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem5º passo: construir a tabela de excitação do tipo de flip-flop utilizado

qt (y1y0)txt 0 1

0 1 J1 K1 J0 K0 J1 K1 J0 K0q0 00 00 11 0 X 0 X 1 X 1 Xq1 11 00 01 X 1 X 1 X 1 X 0q2 01 00 10 0 X X 1 1 X X 1q3 10 10 10 X 0 0 X X 0 0 X

Page 12: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem6º 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

qt (y1y0)txt 0 1

0 1 J1 K1 J0 K0 J1 K1 J0 K0q0 00 00 11 0 X 0 X 1 X 1 Xq1 11 00 01 X 1 X 1 X 1 X 0q2 01 00 10 0 X X 1 1 X X 1q3 10 10 10 X 0 0 X X 0 0 X

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

Page 13: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem

qt (y1y0)txt 0 1

0 1 J1 K1 J0 K0 J1 K1 J0 K0q0 00 00 11 0 X 0 X 1 X 1 Xq1 11 00 01 X 1 X 1 X 1 X 0q2 01 00 10 0 X X 1 1 X X 1q3 10 10 10 X 0 0 X X 0 0 X

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

Page 14: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem8º passo: fazer o mesmo procedimento para as equações das variáveis de saída

Page 15: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Detector de Começo de Mensagem9º 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

Page 16: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

Considerações Importantes

Page 17: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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.

Page 18: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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

Page 19: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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

Page 20: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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

Page 21: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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

1

Page 22: Máquinas de Estado Sistemas Digitais. Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais um circuito.

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.