Você está na página 1de 15

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F.

Avelino (2019)
Aula 7
Máquinas de Estados 1

Blocos de Controle
Em sistemas digitais os registradores (conjunto de biestáveis) permitem o
armazenamento de transferência de bits. Esses bits armazenados podem
representar o estado (memorizado) do sistema digital sequencial.
Controlando-se a transferência de dados entre registradores pode-se
controlar a evolução ordenada dos estados do sistema digital ao longo
do tempo.
Dessa forma, pode-se projetar circuitos digitais sequenciais que tenham um
determinado comportamento (definido pela evolução ordenada dos
estados) ao longo do tempo.
Um sistema digital sequencial que controla saídas booleanas com base em
entradas booleanas e que possui um comportamento específico, ordenado
no tempo (estados), pode ser definido como um bloco de controle.
Exemplos:
• Controle de semáforos
• Luzes sequenciais
• Detector de senhas (chave de automóvel, controle de acesso)

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 2

Máquinas de Estados Finitos (FSM’s - Finite State Machines)


Para realizar o projeto de sistemas digitais sequenciais de blocos de controle
genéricos (que passam por vários estados pré-definidos) utiliza-se um
representação formal de sistemas denominada de máquina de estados
finitos (FSM – Finite State Machine) ou autômatos de estados finitos.
Uma Máquina de Estados (ME) é um formalismo matemático, composto de:
 Um conjunto limitado de estados (modos do sistema);
 Um conjunto de entradas e um conjunto de saídas (interfaces do sistema);
 Um estado inicial (estado onde a sequência começa);
 Uma descrição que indique a evolução dos estados, com base no estado
atual e nos valores das entradas. Utilizaremos a representação de diagramas
de estados para essa descrição;
 Uma descrição de quais são os valores de saída em cada estado.

No nosso curso utilizaremos a abreviatura ME para denominar Máquina de


Estados.

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 1
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 3

Diagramas de Estado
A representação por diagrama de estados constitui-se de um grafo
orientado, composto dos seguintes elementos gráficos:
Estado
= Estados – representa a situação atual do sistema e dos
Saídas
valores de saída associados ao estado;
Entradas
= Transições - ações ou eventos de entrada que provocam a
mudança dos estados;
Início
= Transição de Início – indica o estado inicial do sistema.

Representação de Diagrama de Estados:


Entradas
Início de Estado
Estado
Controle
Saídas Saídas

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 4

Exemplo 1: Sistema que comuta entre os estados ligado (On) e desligado


(Off) a cada ciclo de clock (saída: X).
Representação de Diagrama de Estados:

Início Entradas
de Estado
Estado
Controle
Saídas Saídas

Início clk^
Clk
Off / On /
X=0 X=1
Estado
clk^

Saída: X

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 2
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 5

Máquinas de Estado X Contadores


Os circuitos contadores são um caso particular (simplificado) de Máquinas de
Estados:
Característica: Contadores Máquinas de Estados
Número de estados Podem ter um grande número de Número de estados finito
estados (contagens) (geralmente pequeno)
Evolução dos estados Contagem regular e ordenada Contagem irregular, não há
(crescente / decrescente). obrigatoriedade de ordenação.
Número de sequências Sequência de contagem única. Admitem diversas sequências de
de contagens contagem.
Entradas de controle Geralmente o próximo estado O próximo estado depende do
depende apenas do estado atual estado atual e de entradas
(sem entradas de controle) adicionais (entradas de controle)
Saídas de controle As saídas são caracterizadas pelo Podem conter saídas adicionais,
seu estado. resultante de lógicas entre estados
ou lógica entre estados e entradas
Tipos de aplicações Contagem de pulsos de clock Controle lógico de eventos (o
(contagem de tempo ou itens) valor binário de cada estado pode
baseado no valor do estado. ser irrelevante).

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 6

Exemplo 2: Considere o projeto de uma parte de um sistema de cirurgia a


laser (para correção oftálmica ou remoção de cicatrizes). Esse sistema
exige o funcionamento de um laser durante um intervalo de tempo preciso.
O cirurgião pressiona um botão B e o laser deve permanecer ativado por
exatamente 30 ns. Considere que o sinal de relógio (clock) tem período de
10 ns (100 MHz). Assim, o sistema de controle do laser deve apresentar as
seguintes características:
• O número de períodos de relógio em que o laser deve permanecer ativado
é igual a 3;
• O botão B =1 dispara um pulso com duração de 30 ns de laser;
• A saída X=1 mantém o laser ligado enquanto permanecer ativo (NL1).

B
Laser
Bloco de X
Controle

CLK
Paciente

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 3
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 7

Exemplo 2: Projeto do controlador de laser cirúrgico.


Diagrama de Estados:

Início Início
Desl / B’*clk^ 00
X=0 B’
clk^ 0
Representação
B*clk^ Simplificada B
clk^ clk^
Lig1 / Lig2 / Lig3 / 01 10 11
X=1 X=1 X=1 1 1 1

Desl Desl Desl Desl Lig1 Lig2 Lig3 Desl Desl Desl Lig1 Lig2 Lig3 Desl

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 8

Exemplo 2: Projeto do controlador de laser cirúrgico.


Diagrama Esquemático-Lógico:

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 4
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 9

Projeto de Blocos de Controle (Máquinas de Estados)


Para realizar o projeto de uma ME adota-se um método que utiliza uma
arquitetura de sistema padrão, baseada em um registrador de estado e uma
lógica combinatória, a qual denomina-se arquitetura de bloco de controle.
Saídas da ME
Entradas da ME Lógica m
k Combinatória

S
n

Registrador n
k: n° entradas externas
de Estados
CLK m: n° saídas do sistema
(n bits)
n: n° de bits de estado
N 2n: n° estados do sistema

Arquitetura Genérica de Bloco de Controle

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 10

Projeto de Blocos de Controle (Máquinas de Estados)


Considerando o projeto do controlador do laser cirúrgico:

B X
Lógica
Combinatória n1
n0
Estado Atual Estado Atual: s1 s0
s1s0
Registrador
de Estados
CLK
(2 bits)
X
Saída Estado Futuro:

k = 1 (entradas externas: B)
Arquitetura da ME para o
m = 1 (saídas do sistema: X ) projeto do laser cirúrgico
n = 2 (bits de estado: s1 s0)
2n = 4 (n° estados do sistema)

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 5
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 11

Metodologia de Projeto de Máquinas de Estados


Para realizar o projeto de uma ME adota-se uma metodologia de projeto com 7
passos (similar à utilizada para o projeto de contadores):
1. Compreensão do problema lógico (Diagrama de Blocos,
representando as entradas e saídas do sistema);
2. Representação abstrata da ME ( Diagrama de Estados);
3. Descrição da arquitetura (Bloco de Controle: composto de registrador
de estado e lógica combinatória);
4. Codificação dos estados (definição de um código binário único para
cada estado);
5. Seleção do tipo de FF (Tabela de Transição do FF escolhido);
6. Implementação da ME (Tabela de Transição de Estados e minimização
com Mapas de Karnaugh);
7. Representação do circuito (Diagrama Esquemático-Lógico).

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 12

Metodologia de Projeto de Máquinas de Estados


Exemplo 3: Projeto do controlador de laser cirúrgico:
1. Compreensão do problema lógico:
Diagrama de Blocos do Sistema:
B
Dispara Laser Bloco de X
Controle
Inicio Ativa Laser

CLK
2. Representação abstrata da ME:
Diagrama de Estados: Inicio
Desl / B’
X=0
B

Lig1 / Lig2 / Lig3 /


X=1 X=1 X=1

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 6
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 13

Metodologia de Projeto de Máquinas de Estados


Exemplo 3: Projeto do controlador de laser cirúrgico:
3. Descrição da arquitetura do sistema: B X
Lógica
Bloco de Controle: Combinatória n1
- Registrador de 2 bits (4 estados); n0
- Entradas: B e Inicio; s1 s0
- Saídas: X; Registrador
CLK de Estados
- Sinais do Estado Futuro: n1, n0.
4. Codificação dos estados:
A - Código dos Estados: ⇒ Tabela de Transição de Estados:
Estado Código Entradas Estado
Estado Saída
Desl 00 Futuro
Atual
Lig1 01 s1 s0 B n1 n0 X
Lig2 10
Lig3 11

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 14

Metodologia de Projeto de Máquinas de Estados


Exemplo 3: Projeto do controlador de laser cirúrgico:
4. Codificação dos Estados: Tabela de Transição de Estados:
Diagrama de Estados (codificado): Entradas Estado
Estado Saída
Futuro
Atual
s1 s0 B n1 n0 X
Inicio
00 B’
0 0 0 0 0 0
Desl
0 0 0 1 0 1 0
0 1 0 1 0 1
B Lig1
0 1 1 1 0 1
1 0 0 1 1 1
Lig2
01 10 11 1 0 1 1 1 1
1 1 1 Lig3
1 1 0 0 0 1
1 1 1 0 0 1
5. Seleção do tipo de FF:
D QnQn+1
- Selecionado o FF tipo D ⇒ Tabela de Transição do FF D: 0 00
1 01
0 10
1 11

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 7
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 15

Metodologia de Projeto de Máquinas de Estados


Exemplo 3: Projeto do controlador de laser cirúrgico:
6. Implementação da ME:
A - Tabela de Transição de Estados (completa): Tabela de
Entradas Estado Transição do FF D:
Estado Saída Entradas FF
Futuro
Atual D QnQn+1
s1 s0 B n1 n0 X D1 D0
0 0 0 0 0 0 0 0 0 00
Desl 1 01
0 0 1 0 1 0 0 1
0 1 0 1 0 1 1 0 0 10
Lig1
0 1 1 1 0 1 1 0 1 11
1 0 0 1 1 1 1 1
Lig2
1 0 1 1 1 1 1 1
1 1 0 0 0 1 0 0
Lig3
1 1 1 0 0 1 0 0

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 16

Metodologia de Projeto de Máquinas de Estados


Exemplo 3: Projeto do controlador de laser cirúrgico:
6. Implementação da ME:
B – Mapas de Karnaugh para as entradas dos FF e Saída:

D1 D0 X

D1= S1’.S0 + S1.S0’ D0= S0’.B + S1.S0’ X= S1 + S0

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 8
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 17

Metodologia de Projeto de Máquinas de Estados


Exemplo 3: Projeto do controlador de laser cirúrgico:
7. Representação do circuito da ME: Diagrama Esquemático-Lógico:
Lógica Combinatória
B X X= S1 + S0

D1 D1= S1’.S0 + S1.S0’

D0 D0= S0’.B + S1.S0’

s1 s0
Registrador de
CLK Estados

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 18

Exemplo 3: Simulação do comportamento da ME:


Inicio 00 / Inicio Inicio 00 /
B’ 00 / B’ B’
B X=0 X=0 B X=0
B
01 / 10 / 11 / 01 / 10 / 11 / 01 / 10 / 11 /
X=1 X=1 X=1 X=1 X=1 X=1 X=1 X=1 X=1

0 0 1 0 1 1
0 0 1

0 1 0
00 00 01

00 01 10
B 0 0 1 1 1
CLK
D1 0 0 0 1 1
D0 0 0 1 0 1
S1 0 0 0 0 1
S0 0 0 0 1 0
X 0 0 0 1 1

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 9
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 19

Projeto de Blocos de Controle (Máquinas de Estados)


 Exercício 1: Projeto de máquina de venda de refrigerantes
Uma máquina de venda automática de refrigerantes
aceita moedas de R$1,00 e R$0,50, que devem ser
inseridas individualmente num único orifício. Para cada R$1,50
moeda inserida, o detector de moedas envia ao
controlador um pulso, chamado M1, para moedas de
R$1,00 e M50, para moedas de 50 centavos. Desta forma,
o controlador deve contabilizar o saldo de moedas
APENAS
inseridas. O preço do refrigerante vendido é de R$1,50. MOEDAS
Assim que o saldo em moedas seja suficiente o
controlador dispara o mecanismo de liberação do
produto, através da ativação (em nível lógico 1) de um
pulso do sinal de saída L. A máquina não dá troco, nem
devolve dinheiro. Desenvolver uma máquina de estados
que execute as funções desse controlador e
implementar o seu circuito lógico de duas formas:
• Utilizando registradores baseados em FF tipo D
• Utilizando registradores baseados em FF tipo JK.

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 20

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes:
1. Compreensão do problema lógico:
Diagrama de Blocos do Sistema:
Inserção de M1
Moedas M50 Bloco de L
Controle Libera
Inicio
Refrigerante

CLK
2. Representação abstrata da ME:
Diagrama de Estados:

Inicio M50 M50 M50


$0,00 / $0,50 / $1,00 / M1 $1,50 /
M1’ * M50’ L=0 L=0 L=0 L=1
M1 M1

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 10
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 21

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes:
3. Descrição da arquitetura do sistema:
Bloco de Controle:
- Registradores:
- Entradas:
- Saídas:
- Sinais do Estado Futuro:

4. Codificação dos estados:


A - Código dos Estados: ⇒ Tabela de Transição de Estados:

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 22

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes :
4. Codificação dos Estados: Tabela de Transição de Estados:
Diagrama de Estados: Estado
Estado Entradas Saída
(codificado) Futuro
Atual
s1 s0 M1 M50 n1 n0 L
0 0 0 0
0 0 0 1
$0,00
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
$0,50
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
$1,00
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
$1,50
1 1 1 0
1 1 1 1

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 11
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 23

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes:
5. Seleção do tipo de FF:
Caso 1: Utilizando o FF tipo D ⇒ Tabela de Transição do FF D:
D QnQn+1
00
01
10
11

Caso 2: Utilizando o FF tipo JK ⇒ Tabela de Transição do FF JK:


J K QnQn+1
00
01
10
11

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 24

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes:
6. Implementação da ME com FF D: Caso 1-Tabela de Transição de Estados:
Estado
Estado Entradas Saída Entradas FF Tabela de Transição
Futuro
Atual do FF D:
s1 s0 M1 M50
0 0 0 0 D QnQn+1
$0,00
0 0 0 1 00
0 0 1 0
01
0 0 1 1
0 1 0 0 10
0 1 0 1 11
$0,50
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
$1,00
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
$1,50
1 1 1 0
1 1 1 1

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 12
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 25

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes:
6. Implementação da ME com FF D:
Caso 1 – Mapas de Karnaugh para as entradas dos FF e Saída:

D1 D0 L

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 26

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes:
7. Representação do circuito: Caso 1- Diagrama Esquemático-Lógico:

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 13
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 27

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes:
8. Simulação do circuito: Caso 1- Formas de Onda:

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 28

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes (com FF JK):
6. Implementação da ME com FF JK: Caso 2-Tabela de Transição de Estados:
Estado
Estado Entradas Saída Entradas FF Tabela de Transição
Futuro
Atual do FF JK:
s1 s0 M1 M50 n1 n0 L J1 K1 J0 K0
0 0 0 0 J K QnQn+1
$0,00
0 0 0 1 00
0 0 1 0 01
0 0 1 1
0 1 0 0
10
0 1 0 1 11
$0,50
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
$1,00
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
$1,50
1 1 1 0
1 1 1 1

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 14
NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)
Aula 7
Máquinas de Estados 29

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes (com FF JK):
6. Implementação da ME com FF JK:
Caso 2 – Mapas de Karnaugh para as entradas dos FF e Saída:

J1 J0 L

K1 K0

NE7720 - Sistemas Digitais II - Prof. Dr. Valter F. Avelino (2019)


Aula 7
Máquinas de Estados 30

Metodologia de Projeto de Máquinas de Estados


 Exercício 1: Projeto de máquina de venda de refrigerantes (com FF JK):
7. Representação do circuito: Caso 2- Diagrama Esquemático-Lógico:

As notas de aula servem como roteiro de aula para o professor, contendo os principais tópicos que serão
explorados durantes as aulas. Podem também servir como roteiro de estudo, mas não substituem o livro texto da
disciplina: VAHID, F. – Sistemas Digitais – projeto, otimização e HDLs. 15

Você também pode gostar