Buscar

5-Sistemas Digitais II - Poli - Máquinas de Estado e ASM

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
1
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 1
PCS 3225
Sistemas Digitais II
Módulo 03 – ASM – Algorithm State 
Machine
Andrade, Marco Túlio Carvalho de
Professor Responsável
versão: Agosto de 2.017
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 2
Conteúdo
� 1. Máquinas de Estado – Introdução
� 2. Máquinas de Estado – Equivalências
� 3. Diagrama ASM – Algorithmic State 
Machine
– Introdução
– ASM – Mapeamento em Portas e Biestáveis
– 3.1. Diagrama ASM – Exemplos
– 3.2. ASM e Máquinas de Estado
– 3.3. ASM – Mais exemplos de aplicações
2
2
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 3
1. Máquinas de Estado – Introdução
� Circuitos combinatórios: Entradas; Saídas.
Transformação
Entradas Saídas
Módulo genérico
Função saída
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 4
1. Máquinas de Estado – Introdução
Entradas
Função de
próximo
estado (lógica
combinatória)
Próximo
Estado
Função de saída 
condicional (lógica
combinatória)–Depende:
Entradas & Estado Atual
Memória,
variáveis
de estado
(lógica
sequencial)
Clock
Estado
Atual
Função de saída 
incondicional (lógica
combinatória)–Depende:
Apenas do Estado Atual
Entradas
Estado
Atual
Saídas
condicionais
Saídas não
condicionais
� Circuitos seqüenciais: Entradas; Saídas; Memória 
(relógio, clock).
3
3
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 5
1. Máquinas de Estado – Introdução
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 6
1. Máquinas de Estado – Introdução
Entradas
Função de
próximo
estado (lógica
combinatória)
Próximo
Estado
Função de saída 
condicional (lógica
combinatória)–Depende:
Entradas & Estado Atual
Memória,
variáveis
de estado
(lógica
sequencial)
Clock
Estado
Atual
Função de saída 
incondicional (lógica
combinatória)–Depende:
Apenas do Estado Atual
Entradas
Estado
Atual
Saídas
condicionais
Saídas não
condicionais
� Máquina de Mealy – Função de saída condicional –
Saídas dependem do valor das Entradas e do Estado 
Atual.
4
4
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 7
1. Máquinas de Estado – Introdução
Entradas
Função de
próximo
estado (lógica
combinatória)
Próximo
Estado
Função de saída 
condicional (lógica
combinatória)–Depende:
Entradas & Estado Atual
Memória,
variáveis
de estado
(lógica
sequencial)
Clock
Estado
Atual
Função de saída 
incondicional (lógica
combinatória)–Depende:
Apenas do Estado Atual
Entradas
Estado
Atual
Saídas
condicionais
Saídas não
condicionais
� Máquina de Moore – Função de saída condicional –
Saídas dependem apenas do valor do Estado Atual.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 8
1. Máquinas de Estado – Introdução
� Como se pode 
representar o 
comportamento no 
tempo?
– Resposta: 
»Função do 
Tempo – f(t)
� Num sistema 
digital, como se 
pode representar 
uma função? 
– Resposta: 
»tabela ou 
seqüência de 
estados
5
5
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 9
1. Máquinas de Estado – Introdução
Observações:
� Estado: é a memória de suficiente história do 
passado que permite determinar o comporta-
mento futuro, i.é., conhecidas as entradas e o 
estado atual permite determinar:
– Saídas;
– Próximo estado (ou p. estado).
� O estado: pode ser implementado com flip-
flop’s (registrador de estados):
– Flip-flop’s do Estado – Variáveis de Estado.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 10
1. Máquinas de Estado – Introdução
Observações
� Cada variável de Estado tem um próximo 
Estado (p.estado) determinado. 
� Ao término da permanência temporal em cada 
Estado, o próximo Estado passa a ser o Estado 
atual.
� A função próximo Estado depende do Estado 
atual e das entradas.
6
6
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 11
1. Máquinas de Estado – Introdução
�Máquina de Estado:
Modelo geral que pode representar 
qualquer módulo de um sistema 
lógico no qual leva-se em conta uma 
evolução com o tempo.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 12
1. Máquinas de Estado – Introdução
� Linguagem de Representação bem simples:
– Representação de um Estado: Nó (circunferên-
cia com o nome do Estado);
– Representação de uma Transição: Aresta orien-
tada (arco) – Vai do estado atual σ0 e uma 
entrada b, o próximo estado é σ1 e a saída é 1.
Exemplo:
7
7
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 13
1. Máquinas de Estado – Introdução
� Por que Máquina de Estados, “finita”?
–Resposta: Porque o número de 
Estados, do sistema representado, é 
finito.
�Alguns autores usam a denominação
“Máquina de Estados Finitos” com a 
expressão “Estados Finitos” sendo
entendida como um número finito de 
Estados.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 14
1. Máquinas de Estado – Introdução
� Definição: Uma Máquina de Estados Finitos
M = (I, O, S, f, g,σσσσ) consiste de: 
– Um conjunto finito I de símbolos de entrada;
– Um conjunto finito O de símbolos de saída;
– Um conjunto finito S de estados;
– Uma função próximo estado f: S x I → S;
– Uma função de saída g: S x I → O;
– Um estado inicial σ ∈ S.
8
8
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 15
� Exemplo Seja I={a,b}, O={0,1},
S={σ0, σ1} e σ = σ0. As funções f e g 
são definidas pelas regras dadas na 
Tabela de Transição de Estados (ou 
Tabela de Estados):
f g
a ba bS
I
σ0
σ1
0
0
1
1
σ0
σ1
σ1
σ1
f(σ0 ,a)= σ0 
f(σ0 ,b)= σ1
f(σ1 ,a)= σ1
f(σ1 ,b)= σ1
g(σ0 ,a)= 0
g(σ0 ,b)= 1
g(σ1 ,a)= 1
g(σ1 ,b)= 0
1. Máquinas de Estado – Introdução
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 16
1. Máquinas de Estado – Introdução
� Definição: Seja M = (I, O, S, f, g,σ) uma Máquina de 
Estados Finitos. O Diagrama de Transição de 
Estados (ou Diagrama de Estados ou Diagrama de 
Transições) de M é um digrafo G cujos vértices são 
membros de S.
9
9
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 17
1. Máquinas de Estado – Introdução
� Se M é uma Máquina de Estado Finitos em 
seu Diagrama de Transição de Estados:
– Uma seta indica o estado inicial σ;
– Uma aresta orientada (σ1,σ2) existe em G se existir 
uma entrada i com f(σ1,i)=σ2;
– Neste caso, se g(σ1,i)= o, a aresta (σ1,σ2) é rotulada 
com i/o.
� Da Tabela de Transição de Estados de um 
circuito sequencial pode-se extrair seu 
Diagrama de Transição de Estados, e a 
recíproca é verdadeira! 
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 18
1. Máquinas de Estado – Introdução
� Definição: Seja M = (I, O, S, f, g,σ) uma Máquina 
de Estados Finitos. Uma cadeia de entrada para M é 
uma cadeia sobre I. A cadeia y1….yn é a cadeia de 
saída de M correspondendo à cadeia de entrada 
x1…xn,caso existam os estados σ0 , σ1 …,σn ∈ S com:
σ0 = σ , σi= f(σi-1, xi), yi= g(σi-1, xi) para i=1,…,n;
Pode-se pensar em M = (I, O, S, f, g,σ) como um 
computador simples (igual a uma Máquina de Turing): 
começa no estado σ, consome uma cadeia de caracte-res 
sobre I e produz uma cadeia de saída.
10
10
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 19
1. Máquinas de Estado – Introdução
� Exemplo: Encontre a cadeia de saída 
correspondente à cadeia de entrada aababba 
para a Máquina de Estados Finitos abaixo:
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 20
1. Máquinas de Estado – Introdução
� Tabela de Transição de Estados de um 
circuito sequencial – Representação mais 
adequada para a visualização e entendimento 
do problema que se está tentando resolver – o 
“QUE” o circuito deve fazer!
� Diagrama de Transição de Estados, de um 
circuito sequencial – Representação mais 
adequada para a implementação do circuito que 
é a solução para o problema que se quer 
resolver – “COMO” o circuito materializa a 
solução!
�
11
11
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 21
1. Máquinas de Estado – Introdução
� Tabela de Transição de Estados (ou, mais 
simplesmente, Tabela de Estados) de um 
circuito sequencial do tipo Mealy.
St+1 = f(St x I) O = g(St x I)
a b
S
I
σσσσ0
σσσσ1
0 1
a b
1 0
σσσσ0
σσσσ1
σσσσ1
σσσσ1
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 22
1. Máquinas de Estado – Introdução
� Tabela de Transição de Estados (ou, mais 
simplesmente, Tabela de Estados) de um 
circuito sequencial do tipo Mealy –
Representação alternativa: 
St+1 /O = f(St x I)/g(St x I)
a 
S
I
σσσσ0
σσσσ1
σσσσ1/1
b
σσσσ1/0
σσσσ0/0
σσσσ1/1
12
12
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 23
1. Máquinas de Estado – Introdução
� Diagrama de Transição de Estados, (ou, 
mais simplesmente, Diagrama de Estados), de 
um circuito sequencial do tipo Mealy.
St+1 /O = f(St x I)/g(St x I)
Input/Output
Input/OutputI/O
I/O
Input/Output=I/O
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 24
1. Máquinas de Estado – Introdução
� Tabela de Transição de Estados (ou, mais 
simplesmente, Tabela de Estados) de um 
circuito sequencial do tipo Moore.
St+1 = f(St x I)
O = g(St )a b
S
I
ΑΑΑΑ
ΒΒΒΒ
1
0
ΑΑΑΑ
ΒΒΒΒ
ΒΒΒΒ
ΑΑΑΑ
σσσσ 0σσσσ ΑΑΑΑ
13
13
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 25
1. Máquinas de Estado – Introdução
� Diagrama de Transição de Estados, (ou, 
mais simplesmente, Diagrama de Estados), de 
um circuito sequencial do tipo Moore.
St+1 /O = f(St x I)/g(St) EstadoAtual/OutputInput=I St /O
σσσσ/0
a
b ΑΑΑΑ/1 ΒΒΒΒ/0
b
b
a
St /O St /O St /O
a
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 26
1. Máquinas de Estado – Introdução
� Exercício: 
–Projetar uma Máquina de Estados 
Finitos que forneça:
»1 como saída, caso um número par 
de 1’s seja fornecido numa cadeia 
de bits de entrada;
»0, em caso contrário.
14
14
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 27
1. Máquinas de Estado – Introdução
�Exercício: 
–Projetar uma Máquina de Estados 
Finitos que faça uma soma bit a 
bit e gerando o vai 1.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 28
1. Máquinas de Estado – Introdução
1 if S was last 1
0 if R was last 1
00
010
101
Not allowed11
QRS
� Exercício: 
– Projetar um flip-flop RS como máquina de 
estados finitos.
15
15
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 29
2. Máquinas de Estado – Equivalências
� Técnicas de verificação de Equivalências no 
âmbito de Circuitos Combinatórios:
– Tabelas da Verdade;
– Equações Algébricas;
– Mapas de Karnaugh.
� Equivalências para Circuitos Seqüenciais:
– Máquinas de Estados.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 30
Equivalências para circuitos seqüenciais
� Pode-se utilizar Máquinas de Estado 
para manipular circuitos combinatórios?
Resposta: Sim.
»Que tal utilizar as Máquinas de 
Estado para abordar ambos os 
problemas (combinatório & 
sequencial)?
2. Máquinas de Estado – Equivalências
16
16
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 31
3. Diagrama ASM – Algorithmic State 
Machine
� Representação gráfica do algoritmo
que descreve o comportamento do 
sistema digital, ou seja, uma ferramenta
para descrever a Máquina de Estados.
� É uma maneira diagramática de repre-
sentar a Função de Saída e a Função de 
Próximo Estado, relacionando-as ao 
Estado da máquina.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 32
� À luz do fato de que os Diagramas ASM 
representam algoritmos, seria possível 
escrever o algoritmo que implementa
um circuito qualquer, como se fosse um 
programa?
� Resposta: Sim, por meio de uma Lingua-
gem de Descrição de Hardware (por 
exemplo, Verilog, AHDL, VHDL).
3. Diagrama ASM – Algorithmic State 
Machine
17
17
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 33
�Dispõe-se de quatro Elementos 
Primitivos:
–Bloco de Estado;
–Bloco de Decisão;
–Bloco de Junção;
–Bloco de Saída Condicional.
3. Diagrama ASM – Algorithmic State Machine
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 34
�A cada um destes Elementos Primiti-
vos associa-se um símbolo gráfico 
(para elaborar o Diagrama ASM).
�Estes últimos, por sua vez, são 
associados a Elementos Primitivos de 
Hardware (para elaborar o Diagrama 
Lógico correspondente).
3. Diagrama ASM – Algorithmic State Machine
18
18
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 35
� Bloco de Estado:
–Lista das saídas de Estado;
–Nome do Estado (código);
� Lista das saídas:
–Define um conjunto de operações;
–As operações podem ser:
» Imediatas (¨=¨);
» Com atraso (¨or¨).
3. Diagrama ASM – Algorithmic State Machine
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 36
� Bloco de Estado: 
3. Diagrama ASM – Algorithmic State Machine
Código do EstadoNome do Estado
Ações
(operações)
Entrada(s)
Saída
1101S0
R ←←←← 0
Começa
19
19
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 37
� Bloco de Decisão – Descreve as entradas 
(externas) para a máquina de estados e 
possui 2 caminhos de saída:
–Condição verdadeira (“x = 1”) –
Entrada externa x = 1;
–Condição falsa (“x = 0”) – Entrada 
externa x = 0.
� Representa o efeito das entradas na 
seqüência de controle.
3. Diagrama ASM – Algorithmic State Machine
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 38
� Bloco de Decisão:
3. Diagrama ASM – Algorithmic State Machine
0 1
Saída 1
Saída 2
Entrada = 
Condição
(x)
= Estado
Ou
= Saída de Bloco
de Decisão anterior.20
20
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 39
� Bloco de Junção – Este elemento 
descreve e trata, um conjunto de uma ou 
mais entradas, que provocam a mesma 
saída:
– Exemplo: Duas saídas de Blocos, que juntas 
compõe as entradas que vão definir o 
próximo Estado da Máquina ASM.
entrada 1 entrada 2
saída
3. Diagrama ASM – Algorithmic State Machine
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 40
� Bloco de Saída Condicional:
– Característica específica de Diagramas ASM 
(não existe nos fluxogramas convencionais);
– A entrada deste bloco deve sempre se 
originar de uma das saídas de um Bloco 
de Decisão;
– Exemplo: A variável lógica Habilita, depen-
dente de uma entrada Condição (ativo alto), 
terá valor lógico 1 apenas se o ASM estiver 
no Estado Si e Condição for igual a 1.
3. Diagrama ASM – Algorithmic State Machine
21
21
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 41
� Bloco de Saída Condicional:
3. Diagrama ASM – Algorithmic State Machine
Ações: Em Registradores e/ou
valores de variáveis de saída
Condição
(x)
Habilita
Estado Si
Entrada
1
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 42
� Bloco de Saída Condicional (inserido em um 
Diagrama ASM):
3. Diagrama ASM – Algorithmic State Machine
INÍCIO0 1
saída 1
saída 2
entrada
Si 110
R ←←←← 0
ENABLE
PC ←←←← 0
Entrada externa:
INICIO
O sinal INICIO 
passa a ser a 
entrada do bloco
de saída condi-
cional.
22
22
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 43
� Bloco ASM – Estrutura que consiste de 
um Bloco de Estado e uma rede de 
Blocos de Decisão, Blocos de Saída 
Condicional e Blocos de Junção:
–Descreve a operação da Máquina de 
Estados durante um estado de tempo;
–Representa o estado atual, as saídas 
do estado, as saídas condicionais e o 
próximo estado.
3. Diagrama ASM – Algorithmic State Machine
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 44
Exemplo:
Bloco
ASM
SELEÇÃO
INÍCIO0 1
S
ENABLE
0 1
1S S2
Q 0
0
3. Diagrama ASM – Algorithmic State Machine
23
23
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 45
� Diagrama ASM – Consiste em um ou 
mais blocos ASM interconectados, através 
de ligações:
–Descreve a operação da Máquina de 
Estados durante todos os estados de 
tempo discreto;
–Representa o estado atual, as saídas do 
estado, as saídas condicionais e o 
próximo estado para todos os estados da 
máquina ASM.
3. Diagrama ASM – Algorithmic State Machine
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 46
� Cada símbolo é mapeado em hardware:
–Bloco de Estado: Flip-Flop
–Bloco de Decisão: AND e NOT
–Bloco de Junção: OR
–Bloco de Saída Condicional: AND (obs: 
quando são vários Blocos de Saída 
Condicional que influenciam o valor da 
mesma variável, estes devem ser 
“somados” com uma porta OR).
3. Diagrama ASM – Algorithmic State Machine
24
24
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 47
� Cada símbolo é mapeado em hardware:
–Bloco de Estado: Flip-Flop
3. Diagrama ASM – Algorithmic State Machine
Entrada
Saída
1101S0
R ←←←← 0
Começa
D Q
Q
CK
Entrada
S0
Saída
Estado
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 48
� Cada símbolo é mapeado em hardware:
– Bloco de Decisão: AND e NOT
3. Diagrama ASM – Algorithmic State Machine
0 1
Saída 1 Saída 2
Entrada
Condição
(x)
Entrada
Saída 1 Saída 2
x
Interpretação:
Saída1 = 1 e
Saída2 = 0
Interpretação:
Saída2 = 1 e
Saída1 = 0
25
25
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 49
� Cada símbolo é mapeado em hardware:
–Bloco de Junção: OR
3. Diagrama ASM – Algorithmic State Machine
Entrada 1 Entrada 2
Saída
Entrada 1 Entrada 2
Saída
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 50
� Cada símbolo é mapeado em hardware:
–Bloco de Saída Condicional: AND.
3. Diagrama ASM – Algorithmic State Machine
x
Entrada
y
y = 1
x
Entrada
1
26
26
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 51
� Cada símbolo é mapeado em hardware:
– Bloco de Saída Condicional: NOT&AND.
3. Diagrama ASM – Algorithmic State Machine
y = 1
x
Entrada
0 x
Entrada
y
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 52
� Cada símbolo é mapeado em hardware:
–Bloco de Saída Condicional: 
–Quando são vários Blocos de Saída 
Condicional que influenciam o valor da 
mesma variável, estes devem ser 
“somados” com uma porta OR
(aplicação de um Bloco de Junção).
3. Diagrama ASM – Algorithmic State Machine
27
27
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 53
3. Diagrama ASM – Algorithmic State Machine
y = 1
xi
Entradai
0
y = 1
xK
EntradaK
1 y
xi
Entradai
xK
EntradaK
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 54
D
C
••••
••••
Saída 0 Saída 1
XEntrada
Saída
Entrada 1 Entrada 2
Saída
Entrada
S0
Estado
••••
Entrada
X
y
10
X
Saída 1Saída 0
Saída
Entrada
0S
Saída
Entrada 1 Entrada 2
1
X
Entrada
y = 1
( a ) Bloco de Estado
( b ) Bloco de Decisão
( c ) Junção
( d ) Bloco de Saída Condicional
Entrada
DIAGRAMA ASM CIRCUITO
3. Diagrama ASM – Algorithmic State Machine
28
28
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 55
� Restrições dos diagramas ASM:
–Não pode haver dois “Próximo 
Estado” possíveis para um único 
Estado do qual se parte , isto é, uma 
máquina de estados não pode estar em 
dois estados simultaneamente;
–Blocos de Condição devem apontar 
para estados.
3. Diagrama ASM – Algorithmic State Machine
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 56
� Voltando a um Exercício proposto:
–Projetar uma máquina de estado finito 
que forneça:
»1 como saída, caso um número par 
de 1’s seja fornecido numa cadeia 
de bits de entrada.
»0, no caso contrário.
3.1. Diagrama ASM – Exemplos:
29
29
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 57
3.1. Diagrama ASM – Exemplos:
PAR ÍMPAR
0/1
1/0
1/1
0/0
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 58
� Voltando a outro Exercício proposto: 
–Projetar uma máquina de estado finito 
que faça uma soma bit a bit e gerando 
o vai 1.
3.1. Diagrama ASM – Exemplos:
30
30
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 59
3.1. Diagrama ASM – Exemplos:
Legenda: CARRY = Houve Carry;
NoC = Não houve Carry.
11/0
00/1
CARRY
01/0
10/0
11/1
NoC
00/0
01/1
10/1
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 60
3.1. DiagramaASM – Exemplos:
contador binário 
de módulo 4
A
B
C
D
00
01
10
11
31
31
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 61
Quero parar o 
contador e só 
quero parar no 
estado A. Como 
faço isso?
A
B
C
D
00
01
10
11
máx
3.1. Diagrama ASM – Exemplos:
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 62
Quero parar o 
contador e só 
quero parar no 
estado A. Como 
faço isso?
A
B
C
D
00
01
10
11
paro?
1
máx.
3.1. Diagrama ASM – Exemplos:
32
32
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 63
3.2. ASM e Máquinas de Estado
Relacionando máquinas de estado e diagramas 
ASM
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 64
3.2. ASM e Máquinas de Estado
Relacionando máquinas de estado e diagramas 
ASM
33
33
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 65
3.2. ASM e Máquinas de Estado
Relacionando máquinas de estado e diagramas 
ASM
0S /0
S /01
2S /1
0
a) Moore b) Mealy
0/0 1/0
1
S0
0
0
S1
1/1
1
0/0
Entrada: IN
Saída: H.OUT
1S
S2
00
01
10
10
0
1
IN
1
IN
b) Mealya) Moore
IN
0
S0 S0
0
1S
1
H.OUT
IN
0
1
1
IN
0
H.OUT
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 66
3.3. ASM – Mais exemplos de aplicação
�Outros exemplos de aplicações dos 
diagramas ASM:
–Unidade de controle de um 
processador;
–Multiplicador binário;
–Contador de 1’s.
34
34
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 67
Livro Texto
�Wakerly, J.F.; Digital Design –
Principles & Practices; 4th Edition, 
ISBN: 0-13-186389-4, Pearson & 
Prentice-Hall, Upper Saddle, River, 
New Jersey, 07458, 2006.
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 68
Lição de Casa
� Leitura Obrigatória:
– Página 664 do Livro Texto e demais 
referências a ASM.
� Exercícios Obrigatórios:
– Lista de Exercícios do tema.
35
35
© Andrade, Midorikawa, Bruno, Simplício, Spina 2.017 <ASM-Alg. State Mach.> PCS 3225 Sistemas Digitais II 69
Bibliografia Adicional Deste Assunto
� Clare, Christopher R.; Designing 
Logic Systems using State 
Machines; McGraw-Hill, 1973.

Continue navegando