26
FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

Embed Size (px)

Citation preview

Page 1: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 1

Máquinas de Estados Finitos (cont)

ANTONIO AUGUSTO LISBOA DE SOUZA

Page 2: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 2

Plano da aula

• Tipos de FSMs:• Modelo de Moore• Modelo de Mealy

• Diagrama de estados de uma FSM tipo Moore• Implementação de FSM tipo Moore

Page 3: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 3

Revisão

Page 4: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 4

Tipos de Máquinas de Estado

Modelo de Moore:Modelo de Moore:

Saídas dependentes (apenas) do estado dos FFs!!!Saídas dependentes (apenas) do estado dos FFs!!!

Page 5: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 5

Tipos de Máquinas de Estado

Modelo de Mealy:Modelo de Mealy:

Saídas dependentes do estado dos FFs e das entradas!!!Saídas dependentes do estado dos FFs e das entradas!!!

Page 6: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 6

Modelo de Moore

Saídas dependentes (apenas) do estado dos FFs!!!Saídas dependentes (apenas) do estado dos FFs!!!

Vocês conhecem algum circuito assim?Vocês conhecem algum circuito assim?

Page 7: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 7

Modelo de Moore

A/A/00

XX

C/C/11

B/B/00

WW

TT

Diagrama deDiagrama deestados:estados:

VVYY

RR

SS

Condição de Condição de transiçãotransição

Valor da Valor da saídasaída

EstadoEstado(A, B, C)(A, B, C)

Page 8: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 8

Modelo de Moore

A/A/00

C/C/11

B/B/00

Tabela de Tabela de estados:estados:

Estadoatual

Próximo estado (X=0)

Próximo estado (X=1)

SaídaZ

A B C 0B C B 0C A B 1

XX

XX

XX

XX

XXXX

Page 9: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 9

Modelo de Moore

Z=AZ=A00AA11AA22

001/001/00 010/010/00 011/011/00

000/000/00 111/111/11 110/110/00 101/101/00

100/100/00

=X=X

XX

XXXX

XXXX

XX

XX

XXXX

XXXX

XX XX

XXXXXX

Diagrama deDiagrama deestados:estados:

Exemplo:Exemplo:

Page 10: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 10

Modelo de Moore

Z=AZ=A00AA11AA22

=X=XExemplo:Exemplo:

Tabela de Tabela de estados:estados:

EA PE(X=0) PE(X=1) Z000 001 111 0

001 010 000 0

010 011 001 0011 100 010 0100 101 011 0101 110 100 0110 111 101 0111 000 110 1

Page 11: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 21

Exemplo: Projete um circuito que detecte a sequência “010” em uma Exemplo: Projete um circuito que detecte a sequência “010” em uma entrada serial X. O circuito deve fornecer uma saída Z em 1 apenas entrada serial X. O circuito deve fornecer uma saída Z em 1 apenas quando o último 0 da sequência “010” for detectado. Utilizar o Modelo quando o último 0 da sequência “010” for detectado. Utilizar o Modelo de Moore.de Moore.

DetectorDetectorde 010de 010

XX

CLKCLK

010101...010101...

X=01001011...X=01001011...Z=Z= 0001001000010010

Implementação

Page 12: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 22

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

A metodologia parece familiar?A metodologia parece familiar?

Page 13: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 23

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

Page 14: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 24

Exemplo: Projete um circuito que detecte a sequência “010” em uma Exemplo: Projete um circuito que detecte a sequência “010” em uma entrada serial X. O circuito deve fornecer uma saída Z em 1 apenas entrada serial X. O circuito deve fornecer uma saída Z em 1 apenas quando o último 0 da sequência “010” for detectado. Utilizar o Modelo quando o último 0 da sequência “010” for detectado. Utilizar o Modelo de Moore.de Moore.

DetectorDetectorde 010de 010

XX

CLKCLK

010101...010101...

X=01001011...X=01001011...Z=Z= 0001001000010010

Diagrama de Diagrama de estados:estados:

Implementação

Tabela de estados:Tabela de estados:SSRR/0/0

SS00/0/0

0000

11

00

SS1010/0/0

SS010010/1/1

11

11

00

11

EA PE(X=0) PE(X=1) ZSR S0 SR 0

S0 S0 S10 0

S10 S010 SR 0

S010 S0 S10 1

Page 15: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 25

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

Page 16: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 26

Implementação

4 estados! Adotemos 2 FFs do tipo D4 estados! Adotemos 2 FFs do tipo D

Tabela de estados:Tabela de estados:

Exemplo: Projete um circuito que detecte a sequência “010” em uma Exemplo: Projete um circuito que detecte a sequência “010” em uma entrada serial X. O circuito deve fornecer uma saída Z em 1 apenas entrada serial X. O circuito deve fornecer uma saída Z em 1 apenas quando o último 0 da sequência “010” for detectado. Utilizar o Modelo quando o último 0 da sequência “010” for detectado. Utilizar o Modelo de Moore.de Moore.

DetectorDetectorde 010de 010

XX

CLKCLK

010101...010101...

X=01001011...X=01001011...Z=Z= 0001001000010010

Diagrama de Diagrama de estados:estados:

SSRR/0/0

SS00/0/0

0000

11

00

SS1010/0/0

SS010010/1/1

11

11

00

11

EA PE(X=0) PE(X=1) ZSR S0 SR 0

S0 S0 S10 0

S10 S010 SR 0

S010 S0 S10 1

Page 17: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 27

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

Page 18: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 28

Tabela de estados:Tabela de estados:

Implementação

Como usaremos 2FFs Como usaremos 2FFs (A e B), podemos fazer (A e B), podemos fazer a seguinte associação:a seguinte associação:

SS00 = (AB==00) = (AB==00)SS11 = (AB==01) = (AB==01)SS22 = (AB==10) = (AB==10)SS33 = (AB==11) = (AB==11)

EA+XA B X

PEA B

Z

0 0 0 0 1 00 0 1 0 0 00 1 0 0 1 00 1 1 1 0 01 0 0 1 1 01 0 1 0 0 01 1 0 0 1 11 1 1 1 0 1

EA PE(X=0) PE(X=1) ZSR S0 SR 0

S0 S0 S10 0

S10 S010 SR 0

S010 S0 S10 1

Page 19: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 29

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

Page 20: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 30

Implementação

QnQn+1 D00 001 110 011 1

Tabela de Tabela de excitação do FF Dexcitação do FF D

D=QD=Qn+1n+1

Page 21: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 31

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs, e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

Page 22: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 32

Implementação

QnQn+1 D00 001 110 011 1

++ ==

D=QD=Qn+1n+1

EA+XA B X

PEA B

Z

0 0 0 0 1 00 0 1 0 0 00 1 0 0 1 00 1 1 1 0 01 0 0 1 1 01 0 1 0 0 01 1 0 0 1 11 1 1 1 0 1

A B X DA DB Z0 0 0 0 1 00 0 1 0 0 00 1 0 0 1 00 1 1 1 0 01 0 0 1 1 01 0 1 0 0 01 1 0 0 1 11 1 1 1 0 1

Page 23: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 33

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

Page 24: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 34

Implementação

DDAA=BX+A B X=BX+A B X

DDBB=X=X

Z=ABZ=AB

A B X DA DB Z0 0 0 0 1 00 0 1 0 0 00 1 0 0 1 00 1 1 1 0 01 0 0 1 1 01 0 1 0 0 01 1 0 0 1 11 1 1 1 0 1

0 0 1 01 0 1 0

AABXBX

1 0 0 11 0 0 1

AABXBX

0 0 0 00 0 1 1

AABXBX

Page 25: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 35

• Passo 1: Estabelecer o diagrama e a tabela de estados• Passo 2: Definir número e tipo de FFs• Passo 3: Estabelecer um diagrama de Transições

“EN EN+1” para cada FF

• Passo 4: Estabelecer a Tabela de Excitação do FF• Passo 5: Para cada Estado, definir as expressões das

entradas dos FFs e das saídas• Passo 6: Simplificar as expressões• Passo 7: Implementar o Diagrama Elétrico

Implementação

Page 26: FSM 1 Máquinas de Estados Finitos (cont) ANTONIO AUGUSTO LISBOA DE SOUZA

FSM 36

Implementação

Teria outro jeito de implementar a funcionalidade requerida? Teria outro jeito de implementar a funcionalidade requerida? (poderíamos usar um registrador de deslocamento?)(poderíamos usar um registrador de deslocamento?)

DDAA=BX+A B X=BX+A B X DDBB=X=X Z=ABZ=AB