23
Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.: José Mauricio Neto

Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Embed Size (px)

Citation preview

Page 1: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 1

Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM)

Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA

Prof.: José Mauricio Neto

Page 2: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 2

Plano da aula

• Circuito Sequencial Genérico• Exemplos de Maquinas de Estados Simples• Introdução aos contadores• Exemplo de metodologia de concepção de FSMs

simples

Page 3: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 3

Circuito Sequencial Genérico

Page 4: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 4

Exemplos de configurações de saída

Page 5: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 5

Exemplos de configurações de controle

Page 6: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 6

Exemplos de Máquinas de Estados Simples

Como descrever o comportamento de uma FSM?Como descrever o comportamento de uma FSM?

d3 d2d1d0

4 MUX 2:1

GND +1

=9?

b3b2b1b0

b0b1b2b3

clk1Hz

4 Flip-Flops D

Este é um Este é um ContadorContador (também conhecido como (também conhecido como gerador de sequência de estados):gerador de sequência de estados):

Quantas são as entradas (além do sinal CLK)?Quantas são as entradas (além do sinal CLK)?

Page 7: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 7

Diagramas de Estados

00000000 00010001 00100010 00110011

10001000 01110111 01100110 01010101

01000100

10011001

Exemplo de Exemplo de diagrama de diagrama de estados para estados para um contador:um contador:

Diagrama Diagrama genérico de genérico de

uma FSM com uma FSM com entradas:entradas:

AA

CondiçãoCondiçãoXX

CondiçãoCondiçãoYY

CC

CondiçãoCondiçãoZZ

BB

CondiçãoCondiçãoWW

CondiçãoCondiçãoTT

CondiçãoCondiçãoVV

CondiçãoCondiçãoUU

A condição de transição (flecha) é a A condição de transição (flecha) é a ocorrência de um pulso de clockocorrência de um pulso de clock

Numa FSM genérica, as Numa FSM genérica, as transições ocorrem de transições ocorrem de

acordo com o estado atual e acordo com o estado atual e as entradasas entradas

Page 8: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 8

Introdução aos contadores

• Também denominado Gerador de Sequência de Estados.O nº de estados é denominado MÓDULOS.

• A cada pulso de relógio, este circuito muda de estado segundo uma seqüência pré-estabelecida.

• Um registrador com n bits, possui 2n estados possíveis. O ciclo pode conter todos os possíveis estados, ou não. O módulo máximo é portanto 2n.

Ex.: Contador de dois bits que Ex.: Contador de dois bits que conta todos os estados conta todos os estados

possíveis, logo tem módulo 4:possíveis, logo tem módulo 4:

Page 9: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 9

• Caso o módulo do contador não seja máximo, o diagrama de estados deve indicar o próximo estado para cada estado não pertencente ao ciclo:

Exemplo: Contador de dois bits com módulo 3,Exemplo: Contador de dois bits com módulo 3,no qual o estado 3 está fora do ciclo de contagemno qual o estado 3 está fora do ciclo de contageme caso este estado ocorra, o contador fique presoe caso este estado ocorra, o contador fique preso

(CONTADOR BLOQUEANTE)(CONTADOR BLOQUEANTE)::

Introdução aos contadores

Page 10: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 10

• Se mesmo saindo do ciclo de contagem, houver a certeza que após um número determinado pulsos de relógio, haverá retorno ao ciclo, o contador é dito AUTO-INICIANTE:

Introdução aos contadores

Page 11: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 11

• Os contadores podem ser classificados de acordo com a seqüência de contagem dada por algum código binário particular.• Contador binário – a seqüência de estados é o código binário puro

• Contador não binário – um código qualquer dita a sequência de estados, tal como o código gray ou outro qualquer.

• Ou ainda de acordo com o sentido de contagem:• Crescente

• Decrescente

• Reversível

Introdução aos contadores

Page 12: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 12

• Aplicações principais:•Gerador de seqüência: Usado para gerar continuamente a seqüência de estados correspondente ao ciclo de contagem

•Contador de eventos: Usado para contar continuamente um número de pulsos (eventos) igual ao módulo do ciclo de contagem

•Divisor de frequencia: O contador normalmente pode ser usado para gerar um trem de pulsos com frequência de valor igual ao resultado da divisão da frequencia do trem de pulsos aplicado à entrada de relógio pelo módulo do ciclo de contagem.

Introdução aos contadores

Page 13: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 13

• Um registrador de deslocamento com ES/SS pode implementar um contador, bastando realimentar a SS para a ES. Se a SS é ligada à ES, o contador é dito CONTADOR EM ANEL (RING COUNTER).

Exemplo: Um contador em anel é obtido a partir de um registrador de Exemplo: Um contador em anel é obtido a partir de um registrador de deslocamento deslocamento AA de 4 bits tipo EP/SS conforme figura abaixo. Supondo que o de 4 bits tipo EP/SS conforme figura abaixo. Supondo que o contador seja iniciado no estado 0001 (1 em decimal) através da entrada contador seja iniciado no estado 0001 (1 em decimal) através da entrada paralela, obtem-se o ciclo de contagem abaixo. paralela, obtem-se o ciclo de contagem abaixo.

Introdução aos contadores

Page 14: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 14

Exemplo de Contador Assíncrono

Page 15: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 15

Problema dos Contadores Assíncronos

atnmáxf

1

Page 16: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 16

Contadores Síncronos

• Em Contadores Síncronos:• Todos os FFs são acionados pelo “mesmo” sinal de Clock

•Todas as transições dos FFs ocorrem ao “mesmo” tempo

• Implementação:•FFs para amazenamento do estado atual

•Circuito Combinacional para cálculo do próximo estado

Page 17: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 17

Proposta de Metodologia de ConcepçãoProposta de Metodologia de Concepção

• Passo 1: Passo 1: Definir número e tipo de FFsDefinir número e tipo de FFs

• Passo 2: Passo 2: Estabelecer um diagrama de EstadosEstabelecer um diagrama de Estados

• Passo 3: Passo 3: Estabelecer um diagrama de Transições Estabelecer um diagrama de Transições “E“ENN E EN+1N+1” para cada FF” para cada FF

• Passo 4: Passo 4: Estabelecer a Tabela de Excitação do FFEstabelecer a Tabela de Excitação do FF

• Passo 5: Passo 5: Para cada Estado, definir as expressões das Para cada Estado, definir as expressões das entradas dos FFsentradas dos FFs

• Passo 6: Passo 6: Simplificar as expressões das entradas dos FFsSimplificar as expressões das entradas dos FFs

• Passo 7: Passo 7: Implementar o Diagrama ElétricoImplementar o Diagrama Elétrico

Page 18: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 18

Contadores Síncronos de Módulo = 2n

Exemplo: Projete um contador binário crescente e que Exemplo: Projete um contador binário crescente e que tenha módulo oito, utilizando três flip-flops do tipo JK tenha módulo oito, utilizando três flip-flops do tipo JK

sensíveis à subida.sensíveis à subida.

Page 19: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 19

Uma Metodologia de Concepção

Estrutura Estrutura propostaproposta

Funcionalidade:Funcionalidade:Diagrama de estadosDiagrama de estados

TabelaTabelaEstado Atual “E(t)”Estado Atual “E(t)”Próximo Estado “E(t+Próximo Estado “E(t+t)”t)”

Page 20: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 20

Definir todas as entradas Definir todas as entradas dos FFs de acordo com o dos FFs de acordo com o próximo estado desejadopróximo estado desejado

Tabela Estado Atual “E(t)”Tabela Estado Atual “E(t)”Próximo Estado “E(t+Próximo Estado “E(t+t)”t)”

Específico aoEspecífico aoFF em usoFF em uso

Uma Metodologia de Concepção

Page 21: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 21

Observar que JObservar que Jii=K=Kii, ou seja, todos os flip-flops JK são , ou seja, todos os flip-flops JK são usados como flip-flops tipo T.usados como flip-flops tipo T.

Simplificar as equações das entradas usando métodos Simplificar as equações das entradas usando métodos conhecidos conhecidos

Uma Metodologia de Concepção

Page 22: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 22

Implementação:Implementação:

DiagramaDiagramade tempo:de tempo:

Uma Metodologia de Concepção

Page 23: Introdução às FSM 1 Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM) Material cedido por: ANTONIO AUGUSTO LISBOA DE SOUZA Prof.:

Introdução às FSM 23

Exercícios: trazer próxima aula

Usando a metodologia proposta, implementar um Usando a metodologia proposta, implementar um contador síncrono que conte de 0 a 15 (módulo=16=2contador síncrono que conte de 0 a 15 (módulo=16=244) )

a partir de 4 FFs JKa partir de 4 FFs JK

Usando a metodologia proposta, implementar um Usando a metodologia proposta, implementar um contador síncrono que conte de 0 a 7 (módulo=8=2contador síncrono que conte de 0 a 7 (módulo=8=233) a ) a

partir de 3 FFs Dpartir de 3 FFs D