42
CIRCUITOS LÓGICOS MÁQUINA DE ESTADOS Marco A. Zanata Alves CIRCUITOS LÓGICOS 1 Slides baseados nos slides de Marcelo Andrade da Costa Vieira - EESC/USP (2016) http://iris.sel.eesc.usp.br/sel414m/

Circuitos lógicos Flip-Flops - inf.ufpr.br

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Circuitos lógicos Flip-Flops - inf.ufpr.br

CIRCUITOS LÓGICOSMÁQUINA DE ESTADOS

Marco A. Zanata Alves

CIRCUITOS LÓGICOS 1Slides baseados nos slides de Marcelo Andrade da Costa Vieira - EESC/USP (2016)

http://iris.sel.eesc.usp.br/sel414m/

Page 2: Circuitos lógicos Flip-Flops - inf.ufpr.br

MÁQUINA DE MOORE

As entradas não interferem diretamente na saída, somente nos estados futuros;

As saídas dependem apenas do estado atual

CIRCUITOS LÓGICOS 2

Saídas

Entradas

Externa

Elemento de

Memória

Page 3: Circuitos lógicos Flip-Flops - inf.ufpr.br

MÁQUINA DE MEALY

As entradas interferem nos estados futuros e também na saída;

As saídas dependem da entrada e do Estado Presente

CIRCUITOS LÓGICOS 3

Saídas

Entradas

Externa

Elemento de

Memória

Page 4: Circuitos lógicos Flip-Flops - inf.ufpr.br

DIAGRAMA DE ESTADOS - MOORE

A saída depende exclusivamente do estado (Máquina de Moore);

A entrada só interfere no próximo estado.

CIRCUITOS LÓGICOS 4

Estado

Saída

A

𝑍1𝑍0

00

01

Entrada X 1

Page 5: Circuitos lógicos Flip-Flops - inf.ufpr.br

DIAGRAMA DE ESTADOS - MEALY

A saída depende do estado presente e da entrada (Máquina de Mealy);

A entrada interfere no próximo estado e na saída.

CIRCUITOS LÓGICOS 5

Estado A 00

Entrada/Saída X/𝑍1𝑍0 1/01

Page 6: Circuitos lógicos Flip-Flops - inf.ufpr.br

CODIFICAÇÃO DE ESTADOS

CIRCUITOS LÓGICOS 6

Page 7: Circuitos lógicos Flip-Flops - inf.ufpr.br

CODIFICAÇÃO BINÁRIA / GRAY CODING

Na codificação binária cada estado é representado como um número binário.

Dessa maneira, 𝑘 estados podem ser representado com log2 𝐾 bits.

Tentamos numerar os estados em ordem crescente binária.

Podemos também utilizar a codificação gray, onde apenas um bit muda por transição.

A codificação gray no fundo pode se resumir em uma forma diferente de organizar a codificação binária.

CIRCUITOS LÓGICOS 7

Page 8: Circuitos lógicos Flip-Flops - inf.ufpr.br

CODIFICAÇÃO ONE-HOT

Recebe esse nome pois apenas um bit estará TRUE (“hot”) em cada instante.

Por exemplo, a codificação one-hot para três estados seria:

001, 010, 100.

Essa codificação requer mais flip-flops para armazenar os estados.

Entretanto, com a codificação one-hot, a lógica para definer o próximo estado costuma ser mais simples, com menos portas lógicas.

CIRCUITOS LÓGICOS 8

Page 9: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOSCONTADOR UP/DOWN

CIRCUITOS LÓGICOS 9

Page 10: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISPROJETO: CONTADOR UP/DOWN

Descrição:

Contador binário síncrono UP/DOWN

Módulo 4

Entradas: 1 {UP=0, DOWN=1}

Saídas: 2

Sequência deve ser a binária

Número de estados: 4

FF: Tipo D

FSM: Moore

CIRCUITOS LÓGICOS 10

Page 11: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: CONTADOR UP/DOWN

Entrada Estado Atual Próx. Estado

𝑿𝟎 𝑸𝟏 𝑸𝟎 𝒀𝟏 𝒀𝟎

0 A B

0 B C

0 C D

0 D A

1 A D

1 B A

1 C B

1 D C

CIRCUITOS LÓGICOS 11

Tabela de Transição de Estados

A

00

B

01

C

10

D

11

0

0

00

1

1

1 1

Diagrama de Estados

Page 12: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: CONTADOR UP/DOWN

Entrada Estado Atual Próx. Estado

𝑿𝟎 𝑸𝟏 𝑸𝟎 𝒀𝟏 𝒀𝟎

0 0 0 0 1

0 0 1 1 0

0 1 0 1 1

0 1 1 0 0

1 0 0 1 1

1 0 1 0 0

1 1 0 0 1

1 1 1 1 0

CIRCUITOS LÓGICOS 12

Tabela de Transição de Estados

Page 13: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: CONTADOR UP/DOWN

Entrada Estado Atual Próx. Estado FF Saídas

𝑿𝟎 𝑸𝟏 𝑸𝟎 𝒀𝟏 𝒀𝟎 𝑫𝟏 𝑫𝟎 𝒁𝟏 𝒁𝟎

0 0 0 0 1 0 1 0 0

0 0 1 1 0 1 0 0 1

0 1 0 1 1 1 1 1 0

0 1 1 0 0 0 0 1 1

1 0 0 1 1 1 1 0 0

1 0 1 0 0 0 0 0 1

1 1 0 0 1 0 1 1 0

1 1 1 1 0 1 0 1 1

CIRCUITOS LÓGICOS 13

Tabela de Transição de Estados

Page 14: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: CONTADOR UP/DOWN

Estado Atual Saídas

𝑸𝟏 𝑸𝟎 𝒁𝟏 𝒁𝟎

0 0 0 0

0 1 0 1

1 0 1 0

1 1 1 1

0 0 0 0

0 1 0 1

1 0 1 0

1 1 1 1

Saídas ficam idênticas ao estado atual. Ou seja:

𝑍1 = 𝑄1

𝑍0 = 𝑄0

CIRCUITOS LÓGICOS 14

Tabela de Saídas

Page 15: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: CONTADOR UP/DOWN

Entrada Estado Atual FF

𝑿𝟎 𝑸𝟏 𝑸𝟎 𝑫𝟏 𝑫𝟎

0 0 0 0 1

0 0 1 1 0

0 1 0 1 1

0 1 1 0 0

1 0 0 1 1

1 0 1 0 0

1 1 0 0 1

1 1 1 1 0

𝑫𝟎

𝑿\𝑸𝟏𝑸𝟎 00 01 11 10

0 1 1

1 1 1

𝑫𝟏

𝑿\𝑸𝟏𝑸𝟎 00 01 11 10

0 1 1

1 1 1

CIRCUITOS LÓGICOS 15

Tabela de Próximos Estados

𝐷0 = 𝑄0′

𝐷1 = 𝑋𝑄′1𝑄′0 + 𝑋′𝑄′1𝑄0 + 𝑋𝑄1𝑄0 + 𝑋′𝑄1𝑄′0

Page 16: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOSGRAY CODING

CIRCUITOS LÓGICOS 16

Page 17: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISPROJETO: GRAY CODING

Descrição:

Gerador de código gray de 3 bits.

Entradas: 0

Saídas: 3

FF: Tipo T (toggle)

FSM: Moore

CIRCUITOS LÓGICOS 17

Características Excitação

T 𝑄 𝑄𝑖+1 Comentário 𝑄 𝑄𝑖+1 T

0 0 0 Mantém 0 0 0

0 1 1 Mantém 1 1 0

1 0 1 Inverte 0 1 1

1 1 0 Inverte 1 0 1

Page 18: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISPROJETO: GRAY CODING

Para criar uma codificação gray, começamos com 1 dígito (0 ou 1)

Para cada novo dígito a ser adicionado uma função de espelho é aplicada

E em cada parte do espelho adiciona-se 0s ou 1s

0 0

1 1

0 0

0 1

--

1 1

1 0

18

Espelho

CIRCUITOS LÓGICOS

Page 19: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISPROJETO: GRAY CODING

Para criar uma codificação gray, começamos com 1 dígito (0 ou 1)

Para cada novo dígito a ser adicionado uma função de espelho é aplicada

E em cada parte do espelho adiciona-se 0s ou 1s

0 0 0

1 1 1

0 0 0

0 0 1

0 1 1

0 1 0

------

1 1 0

1 1 1

1 0 1

1 0 0

19CIRCUITOS LÓGICOS

Espelho

Page 20: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: GRAY CODING

Estado Atual Próx. Estado FF-T

𝑸𝟐 𝑸𝟏 𝑸𝟎 𝒀𝟐 𝒀𝟏 𝒀𝟎 𝑻𝟐 𝑻𝟏 𝑻𝟎

0 0 0 0 0 1 0 0 1

0 0 1 0 1 1 0 1 0

0 1 1 0 1 0 0 0 1

0 1 0 1 1 0 1 0 0

1 1 0 1 1 1 0 0 1

1 1 1 1 0 1 0 1 0

1 0 1 1 0 0 0 0 1

1 0 0 0 0 0 1 0 0

CIRCUITOS LÓGICOS 20

Tabela de Próximos Estados

Page 21: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOSALARME 111

CIRCUITOS LÓGICOS 21

Page 22: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISPROJETO: ALARME 111

Descrição:

Um alarme soa quando houver 3 ou mais peças consecutivas na esteira;

A esteira não é desligada;

O alarme é desligado quando não houver um conjunto de 3 peças consecutivas.

Entrada: 1 {Não há peça = 0, Há nova peça = 1}

Saída: 1 {Não soa alarme = 0, Soa alarme = 1}

FF: Tipo D

FSM: Mealy

CIRCUITOS LÓGICOS 22

Page 23: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: ALARME 111

CIRCUITOS LÓGICOS 23

X 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1

Z 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0

A B C

0/0

1/0 1/0

1/1

0/0

0/0

Page 24: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: ALARME 111

CIRCUITOS LÓGICOS 24

A B C

0/0

1/0 1/0

1/1

0/0

0/0

Entrada Estado Atual Próx. Estado Saída

𝑿 𝑸𝟏 𝑸𝟎 𝒀𝟏 𝒀𝟎 𝒁0 0 0 0 0 0

0 0 1 0 0 0

0 1 1 0 0 0

1 0 0 0 1 0

1 0 1 1 1 0

1 1 1 1 1 1

Tabela de Transição de Estados

Page 25: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: ALARME 111

Entrada Estado Atual Saída

𝑿 𝑸𝟏 𝑸𝟎 𝒁0 0 0 0

0 0 1 0

0 1 1 0

1 0 0 0

1 0 1 0

1 1 1 1

A saída nesse caso é uma simples função AND da entrada com estado atual.

𝑍 = 𝑋𝑄1𝑄0

CIRCUITOS LÓGICOS 25

Tabela de Saída

Page 26: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: ALARME 111

Entrada Estado Atual Próx. Estado

𝑿 𝑸𝟏 𝑸𝟎 𝒀𝟏 𝒀𝟎0 0 0 0 0

0 0 1 0 0

0 1 1 0 0

1 0 0 0 1

1 0 1 1 1

1 1 1 1 1

CIRCUITOS LÓGICOS 26

Tabela de Próximos Estados

𝑫𝟎

𝑿\𝑸𝟏𝑸𝟎 00 01 11 10

0 X

1 1 1 1 X

𝑫𝟏

𝑿\𝑸𝟏𝑸𝟎 00 01 11 10

0 X

1 1 1 X

𝐷0 = 𝑋𝐷1 = 𝑋𝑄0

Page 27: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOSCONTADOR SIMPLES/DUPLO

CIRCUITOS LÓGICOS 27

Page 28: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISPROJETO: CONTADOR SIMPLES/DUPLO

Descrição:

Um contador módulo 3;

Caso a entrada estiver ligada o contador incrementa duas posições.

Entrada: 1 {Incremento de um = 0, Incremento de dois = 1}

Saída: 3 {valor do contador}

FF: Tipo JK

FSM: Mealy

CIRCUITOS LÓGICOS 28

Page 29: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: CONTADOR SIMPLES/DUPLO

Entrada Estado

Anterior

Saídas

𝑿 𝑸𝟏 𝑸𝟎 𝒁𝟏 𝒁𝟎

0 0 0 0 1

0 0 1 1 0

0 1 0 0 0

0 1 1 X X

1 0 0 1 0

1 0 1 0 0

1 1 0 0 1

1 1 1 X X

CIRCUITOS LÓGICOS 29

0 1 20/1 0/2

0/0

1/0

1/2

1/1Tabela de Saídas

Page 30: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: CONTADOR SIMPLES/DUPLO

Entrada Estado

Anterior

Próx.

Estado

FF-JK FF-JK

𝑿 𝑸𝟏 𝑸𝟎 𝒀𝟏 𝒀𝟎 𝑱𝟏 𝑲𝟏 𝑱𝟎 𝑲𝟎

0 0 0 0 1 0 X 1 X

0 0 1 1 0 1 X X 1

0 1 0 0 0 X 1 0 X

0 1 1 X X X X X X

1 0 0 1 0 1 X 0 X

1 0 1 0 0 0 X X 1

1 1 0 0 1 X 1 1 X

1 1 1 X X X X X X

CIRCUITOS LÓGICOS 30

0 1 20/1 0/2

0/0

1/0

1/2

1/1

Transição Entradas

𝑸𝒏 𝑸𝒏+𝟏 𝑱 𝑲0 0 0 X

0 1 1 X

1 0 X 1

1 1 X 0

Tabela de Próximos Estados

Page 31: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOSSETAS DO CARRO

CIRCUITOS LÓGICOS 31

Page 32: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISPROJETO: SETAS DO CARRO

CIRCUITOS LÓGICOS 32

FSM com duas entradas: LEFT, RIGHT.

Existe também a entrada de emergência HAZ.

Quando HAZ é acionado, todas as luzes piscam

Page 33: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAIS½ SOLUÇÃO: SETAS DO CARRO

CIRCUITOS LÓGICOS 33

Note que a máquina de estados está ambígua, pois não

sabemos o próximo estado quando dois sinais estão ativos

Page 34: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: SETAS DO CARRO

CIRCUITOS LÓGICOS 34

A máquina não está mais ambígua, mas o sinal de HAZ continua sem prioridade.

Page 35: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: SETAS DO CARRO

CIRCUITOS LÓGICOS 35

Agora, quando o usuário entrar o sinal de emergência, daremos prioridade para esse sinal.

Page 36: Circuitos lógicos Flip-Flops - inf.ufpr.br

SÍNTESE DE CIRCUITOS SEQUÊNCIAISSOLUÇÃO: SETAS DO CARRO

CIRCUITOS LÓGICOS 36

Page 37: Circuitos lógicos Flip-Flops - inf.ufpr.br

ANÁLISE DE CIRCUITOS

CIRCUITOS LÓGICOS 37

Page 38: Circuitos lógicos Flip-Flops - inf.ufpr.br

ANÁLISE DE CIRCUITOSPROJETO: ANÁLISE DA FSM

Analise a seguinte máquina de estados e responda:

FSM Moore ou Mealy?

Qual a tabela de transições?

Projete o circuito utilizando FF do tipo T

CIRCUITOS LÓGICOS 38

00 01 11

0/0 1/0

0/01/0

1/1

0/0

Page 39: Circuitos lógicos Flip-Flops - inf.ufpr.br

ANÁLISE DE CIRCUITOSSOLUÇÃO: ANÁLISE DA FSM

Entrada Estado Atual Próx. Estado FF 1 FF 2 Saída

𝑿𝟎 𝑸𝟏 𝑸𝟎 𝒀𝟏 𝒀𝟐 𝑻𝟏 𝑻𝟎 𝒁𝟎

0 0 0 0 0 0 0 0

0 0 1 1 1 1 0 0

0 1 1 0 0 1 0 0

1 0 0 0 1 0 0 0

1 0 1 0 1 0 1 0

1 1 1 1 1 0 1 1

CIRCUITOS LÓGICOS 39

Tabela de Transição de Estados

Page 40: Circuitos lógicos Flip-Flops - inf.ufpr.br

ANÁLISE DE CIRCUITOSPROJETO: ANÁLISE DO CIRCUITO

Analise o circuito e responda:

FSM Moore ou Mealy?

Qual o diagrama de estados?

Qual a tabela de transições?

Substituir o FF tipo D pelo tipo JK

CIRCUITOS LÓGICOS 40

Page 41: Circuitos lógicos Flip-Flops - inf.ufpr.br

ANÁLISE DE CIRCUITOSSOLUÇÃO: ANÁLISE DO CIRCUITO

FSM de Mealy!

CIRCUITOS LÓGICOS 41

0 1

0/0 1/0 0/0

1/1

Page 42: Circuitos lógicos Flip-Flops - inf.ufpr.br

ANÁLISE DE CIRCUITOSSOLUÇÃO: ANÁLISE DO CIRCUITO

CIRCUITOS LÓGICOS 42

0 1

0/0 1/0 0/0

1/1

Entrada Estado

Atual

Próx.

Estado

FF-J FF-K Saída

0 0 0 0 X 0

0 1 1 X 0 0

1 0 1 1 X 0

1 1 0 X 1 1