PCS3115 • PWA

Máquinas de Estados

Guia de Estudo Interativo • Moore & Mealy

Máquinas de Estados Finitos (FSM)

Circuitos combinacionais dependem apenas das entradas atuais. Já os circuitos sequenciais possuem memória: suas saídas dependem das entradas atuais e de toda a história passada do sistema, resumida no conceito de Estado.

Diagramas Interativos Simulador Passo a Passo Mapas de Karnaugh Vivos
01

Fundamentos de Circuitos Sequenciais

Como é impossível construir um circuito com memória infinita para guardar todas as entradas passadas, compactamos o histórico relevante em um número finito de combinações binárias chamadas Estados Internos.

Variável de Entrada
Sinal Externo ($X$)

Estímulo vindo do mundo externo (sensores, botões ou barramento de dados) que provoca mudanças na máquina.

Memória Síncrona
Estado Atual ($Q^t$)

Valor binário armazenado nos Flip-Flops no ciclo de clock atual. Representa o resumo do passado do circuito.

Evolução Temporal
Próximo Estado ($Q^{t+\Delta t}$)

O novo estado para o qual a máquina irá avançar assim que ocorrer a próxima borda ativa do sinal de clock.

As Duas Equações Gerais de uma FSM

1. Função de Transição (Próximo Estado)
$$Q^{t + \Delta t} = f(Q^t, X^t)$$

O próximo estado sempre depende do estado atual e da entrada atual.

2. Função de Saída (Moore vs. Mealy)
$$\text{Moore: } Z^t = g(Q^t)$$ $$\text{Mealy: } Z^t = g(Q^t, X^t)$$

Define se a saída depende só do estado ou também da entrada imediata.

02

Arquitetura: Moore vs. Mealy

Arquitetura de Moore

Saída depende exclusivamente do Estado Atual ($Q$)

Alterne os botões acima para ver a mudança física no circuito
Entrada (X) Via Direta Assíncrona (Mealy) Lógica Comb. Próx. Estado (f) Próx. Q Memória Flip-Flops CLK Q (Atual) Realimentação de Estado Atual (Q) Lógica Comb. Saída (g) Saída (Z)
Na Máquina de Moore, a linha vermelha superior está desconectada. A saída $Z$ é calculada apenas a partir dos Flip-Flops ($Q$). Por isso, nos diagramas de estado, a saída fica escrita dentro da bolinha do estado. Ela é mais segura contra ruídos nas entradas, mas geralmente precisa de mais estados.
Critério Máquina de Moore Máquina de Mealy
Dependência da Saída Apenas do Estado Atual: $Z = g(Q)$ Estado Atual e Entrada: $Z = g(Q, X)$
Representação no Grafo Dentro do círculo do estado: Estado / Z Nas setas de transição: X / Z
Quantidade de Estados Maior (ex: 4 estados para detector "01") Menor (ex: 2 estados para detector "01")
Velocidade de Resposta Síncrona (aguarda a borda do clock) Mais rápida (reage imediatamente a $X$)
Sensibilidade a Ruídos Alta imunidade (saída filtrada pelos FFs) Sujeita a glitches se $X$ oscilar
03

Roteiro de Projeto em 6 Passos

Todo projeto de circuito sequencial síncrono em PCS3115 segue uma receita estruturada que transforma um problema em palavras em portas lógicas e Flip-Flops reais:

PASSO 01

Diagrama de Estados

Traduzir o enunciado verbal para um grafo visual com nós (estados) e setas (transições guiadas pelas entradas).

Abstração Comportamental
PASSO 02

Tabela de Estados

Tabular todas as transições: linhas representam o estado atual e colunas mostram o próximo estado e a saída para cada entrada.

Organização Tabular
PASSO 03

Minimização de Estados

Identificar e fundir estados equivalentes para reduzir o número de Flip-Flops necessários na implementação física.

Otimização Lógica
PASSO 04

Designação de Estados

Atribuir códigos binários ($y_1, y_0$) para cada estado simbólico ($A, B, C...$). O uso de código Gray vizinho ajuda a simplificar mapas.

Codificação Binária
PASSO 05

Mapas de Karnaugh

Escolher o tipo de Flip-Flop (geralmente Tipo D, onde $D = Y$) e extrair as equações booleanas mínimas para cada bit de estado e saída.

Síntese Algébrica
PASSO 06

Esquemático Final

Desenhar ou simular o circuito lógico conectando as portas AND, OR e NOT às entradas dos Flip-Flops sincronizados pelo clock.

Implementação em Hardware
04

Laboratório Interativo: Detector de Sequência "01"

Vamos comparar na prática como as máquinas de Moore (4 estados) e Mealy (2 estados) reagem exatamente à mesma sequência de bits. Envie bits de entrada ($x = 0$ ou $x = 1$) abaixo ou clique diretamente nos estados dos diagramas para inspecionar seu significado.

HISTÓRICO DE PULSOS DE CLOCK Ciclo t = 0
Nenhum bit enviado ainda. Clique em "Enviar Bit x = 0" ou "x = 1" acima para iniciar!
Modelo de Moore (4 Estados)

Saída dentro do Estado

Estado: A (00) Saída z: 0
x=1 x=0 x=0 x=1 x=0 x=1 x=1 x=0 A (00) z = 0 B (01) z = 0 C (11) z = 1 D (10) z = 0
Estado A (Inicial): Aguardando o primeiro bit '0' da sequência.
Modelo de Mealy (2 Estados)

Saída nas Transições ($x/z$)

Estado: A (0) Saída z: 0
1 / 0 0 / 0 0 / 0 1 / 1 A y = 0 B y = 1
Estado A ($y=0$): Último bit recebido não foi '0'. Basta 1 Flip-Flop para toda a máquina!

Diagrama de Formas de Onda (Timing Diagram)

Visualização temporal síncrona dos sinais e comparação de glitches entre Moore e Mealy

CLK (Sinal de Clock) x (Entrada) z Moore (Síncrona, filtrada) z Mealy (Assíncrona imediata)
Bordas tracejadas indicam a transição ativa de clock
05

Síntese Lógica e Mapas de Karnaugh

Codificação Gray (4 Estados = 2 Flip-Flops D)

Tabela de Transição Codificada & Mapas de Karnaugh

A = 00 B = 01 C = 11 (z=1) D = 10
CLIQUE EM UMA FUNÇÃO PARA DESTACAR OS AGRUPAMENTOS NO MAPA:
Estado $y_1 y_0$ $Y_1 Y_0$ ($x=0$) $Y_1 Y_0$ ($x=1$) Saída $z$
A 0 0 0 1 (B) 0 0 (A) 0
B 0 1 0 1 (B) 1 1 (C) 0
C 1 1 0 1 (B) 1 0 (D) 1
D 1 0 0 1 (B) 1 0 (D) 0
Mapa de Karnaugh para $Y_1$ ($D_1$) Linhas: $y_1 y_0$ • Colunas: $x$
$y_1 y_0 \setminus x$
$x = 0$
$x = 1$
00 (A)
0
0
01 (B)
0
1
11 (C)
0
1
10 (D)
0
1
Agrupando os pares na coluna x=1: Y₁ = x·y₀ + x·y₁ = x·(y₁ + y₀)
06

Autoavaliação Rápida para a Prova

QUESTÃO 01

Por que o modelo de Mealy costuma exigir menos estados que o modelo de Moore para resolver o mesmo problema?

QUESTÃO 02

Se uma máquina possui 5 estados distintos após a etapa de minimização, qual é o número mínimo de Flip-Flops necessários?