Você está na página 1de 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 sequencial consiste de um circuito combinacional e uma

rede de memória formada por elementos de armazenamento

(usualmente flip-flops)

estado atual da máquina de estados de um circuito combinacional puro na o próximo estado será
estado atual da máquina de estados
de um circuito combinacional puro na
o próximo estado
será definido não
só a partir
das
  • a rede de memória define o

  • o circuito sequencial difere

medida em que

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 relógio

do

Máquina de Mealy:

a saída pode mudar a qualquer instante

em

função

da

entrada

Tipos de Implementações  Máquinas de Estados podem ser dos tipos seguintes: Máquina de Moore :
Tipos de Implementações  Máquinas de Estados podem ser dos tipos seguintes: Máquina de Moore :
Tipos de Implementações  Máquinas de Estados podem ser dos tipos seguintes: Máquina de Moore :

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

Tipos de Implementações  O comportamento das máquinas de Moore e Mealy é idêntico, mas suas

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

Tipos de Implementações  O comportamento das máquinas de Moore e Mealy é idêntico, mas suas

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 1consecutivos em uma linha x.

Projete um circuito que forneça em sua saída o valor 1apenas durante o período de relógio coincidente com o terceiro 1consecutivo 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 O começo de uma mensagem em um sistema de comunicação é

Detector de Começo de Mensagem

1º passo: elaborar diagrama de estados que interprete fielmente o problema que se deseja resolver

Máquina de Mealy

Detector de Começo de Mensagem 1º passo: elaborar diagrama de estados que interprete fielmente o problema

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

Detector de Começo de Mensagem 1º passo: elaborar diagrama de estados que interprete fielmente o problema

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 3º passo: escrever a tabela de estados, com os estados atuais,
Detector de Começo de Mensagem 3º passo: escrever a tabela de estados, com os estados atuais,

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

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
Detector de Começo de Mensagem 4º passo: atribuir a cada estado uma combinação de variáveis de

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 5º passo: construir a tabela de excitação do tipo de flip-flop
   

xt

0

 

1

qt

(y1y0)t

0

1

J1 K1 J0 K0

J1 K1 J0 K0

q0

     
  • 00 X

    • 00 X

      • 11 0

0

1

X

1

X

q1

  • 11 X

   
  • 00 1

    • 01 X

1

X

1

X

0

q2

     
  • 01 X

    • 00 1

      • 10 X

0

1

X

X

1

q3

  • 10 X

   
  • 10 0

    • 10 0

X

X

0

0

X

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

   

xt

0

 

1

qt

(y1y0)t

0

1

J1 K1 J0 K0

J1 K1 J0 K0

q0

     
  • 00 X

    • 00 X

      • 11 0

0

1

X

1

X

q1

  • 11 X

   
  • 00 1

    • 01 X

1

X

1

X

0

q2

     
  • 01 X

    • 00 1

      • 10 X

0

1

X

X

1

q3

  • 10 X

   
  • 10 0

    • 10 0

X

X

0

0

X

Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das
Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das
Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das

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

   

xt

0

 

1

qt

(y1y0)t

0

1

J1 K1 J0 K0

J1 K1 J0 K0

q0

     
  • 00 X

    • 00 X

      • 11 0

0

1

X

1

X

q1

  • 11 X

   
  • 00 1

    • 01 X

1

X

1

X

0

q2

     
  • 01 X

    • 00 1

      • 10 X

0

1

X

X

1

q3

  • 10 X

   
  • 10 0

    • 10 0

X

X

0

0

X

Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das
Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das
Detector de Começo de Mensagem 6º passo: montar o mapa de Karnaugh para cada uma das

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 8º passo: fazer o mesmo procedimento para as equações das variáveis

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 Começo de Mensagem 9º passo: finalmente, elaboração do diagrama lógico do circuito, lembrando que

Considerações Importantes

Considerações Importantes

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.

Detector de Paridade  Obter o diagrama de estados de um circuito que detecte a paridade
Detector de Paridade  Obter o diagrama de estados de um circuito que detecte a paridade

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:

Divisível por 3  Obter o diagrama de estados de um circuito que indique se o

Máquina de Moore

Divisível por 3  Obter o diagrama de estados de um circuito que indique se o

Máquina de Mealy

Divisível por 3  Obter o diagrama de estados de um circuito que indique se o

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

Indicação de Números de Zeros  Obter o diagrama de estados de um circuito que indique

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:

Detector de Sequência 0010  Obter o diagrama de estados de um circuito que detecte todas

Máquina de Mealy

Detector de Sequência 0010  Obter o diagrama de estados de um circuito que detecte todas

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
1

Máquina de Mealy

Detector de Sequência 0010  Obter o diagrama de estados de um circuito que detecte todas

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.