Sistemas Digitais · Ibmec RJ

Cap. 8 — Fundamentos de
Máquinas Sequenciais

leitura ~40 min Prof. Clayton J A Silva Rev 2026.1

Objetivos de aprendizagem

  • Diferenciar circuitos sequenciais de combinacionais e identificar a necessidade de memória/realimentação
  • Distinguir circuitos síncronos de assíncronos pela relação com o sinal de clock
  • Interpretar diagramas de estados e diferenciar os modelos de Moore e Mealy
  • Analisar circuitos sequenciais síncronos usando mapas de próximo estado
  • Projetar máquinas de estados para problemas práticos de controle

Conceito de sistemas sequenciais

Nosso estudo tem sido dedicado até o momento aos circuitos combinacionais. Existe um segmento muito importante dos sistemas digitais, cujos circuitos são categorizados como circuitos sequenciais.

Uma aplicação importante é o controle de sistemas, em que sinais digitais são recebidos e interpretados, gerando saídas de controle de acordo com uma sequência em que os sinais são recebidos. Essas aplicações exigem que as saídas sejam uma função das entradas presentes e dos valores passados das entradas.

Sistema controlado por realimentação

Fig. 8.1 — Sistema controlado por realimentação (feedback)

Na figura, circuito comparador recebe a saída do sistema no instante anterior; circuito controlado deve ser ajustado para obter as saídas desejadas. As entradas $x(t)$ vêm de outro módulo; $y(t)$ é obtido do feedback das saídas anteriores; $u(t)$ representa o comportamento desejado.

Distinção entre máquinas sequenciais e combinacionais

SequenciaisCombinacionais
Deve possuir capacidade de memóriaA saída é estritamente função da entrada — não tem memória
Deve possuir realimentaçãoNão possui realimentação
As duas propriedades são necessárias, mas não suficientes. Os circuitos sequenciais possuem uma propriedade adicional: são cíclicos sob determinadas condições de controle.

O modelo geral de máquinas sequenciais (ou máquinas de estados finitos) está na figura:

Modelo geral de sistemas sequenciais

Fig. 8.2 — Modelo geral de sistemas sequenciais

  1. O primeiro bloco recebe entradas e saídas em feedback, produzindo entradas controladas;
  2. No segundo bloco, as saídas são armazenadas no elemento de memória para realimentar a entrada;
  3. No terceiro bloco, aplica-se a lógica necessária para produzir a saída desejada.

Circuitos síncronos e assíncronos

A classificação correta não se baseia apenas na presença do sinal de clock, mas em como as transições de estado se relacionam com ele:

Circuitos síncronos

Todas as mudanças de estado ocorrem sincronizadas pelas transições (bordas) do clock — o circuito só avança no instante em que o clock transiciona.

Circuitos assíncronos

As mudanças ocorrem a qualquer momento, assim que há mudança nas entradas, sem referência a um clock comum.

Sinal de clock

Fig. 8.3 — Sinal de clock: bordas de subida e descida, T_Ck e T_on

O clock é um trem de ondas quadradas, variando entre dois níveis. Para circuitos sequenciais, o evento relevante é a transição — não o nível em si. A transição possui uma borda de subida (baixo→alto) e uma borda de descida (alto→baixo).

Todo clock é periódico, com período $T_{Ck}$ e frequência:

$$f_{Ck} = \frac{1}{T_{Ck}}$$

A relação entre o tempo em nível alto e o período total é o duty cycle:

$$Duty\;Cycle = \frac{T_{on}}{T_{Ck}}$$

Máquina de estados

8.3.1 O diagrama de estados

Os circuitos sequenciais são classificados em: detectores de sequência, contadores e registradores, geradores de códigos, e sistemas controladores.

conceitos fundamentais

Estado: conjunto de informações sobre o sistema em um dado momento. Evento: o que provoca a mudança de estado. Transição: a mudança de um estado para outro.

O diagrama de estados representa o comportamento dinâmico de uma máquina sequencial: estados (rótulo), transições (seta origem→destino), eventos (variáveis de entrada) e saídas.

O diagrama de estados é, para máquinas sequenciais, o equivalente à tabela-verdade das máquinas combinacionais.

Modelos de Moore e Mealy

Máquina de Moore

A saída é função somente do estado atual: $Y = f(\text{estado})$.

Saída rotulada dentro do círculo do estado.

Máquina de Mealy

A saída é função do estado e da entrada: $Y = f(\text{estado}, \text{entrada})$.

Saída rotulada sobre a seta de transição.

Diagrama de estados — elementos básicos

Fig. 8.4 — Elementos do diagrama de estados e distinção Moore/Mealy

Exemplo 1 — máquina de Moore

Exemplo diagrama de estados

Fig. 8.5 — Exemplo 1: saída (A,B) associada a cada estado

  1. O estado a produz saída 00 (A=0, B=0).
  2. Quando X=0, o sistema permanece no estado atual.
  3. Quando X passa a 1, transição a→b: B passa de 0 a 1, A não se altera.
  4. De b, X=1 leva a c: B volta a 0, A passa a 1; senão permanece.
  5. De c, X=1 leva a d: B passa a 1, A permanece 1; senão permanece.
  6. De d, X=1 retorna ao estado inicial (A=0,B=0), renovando o ciclo.

No caso síncrono, a transição depende também do clock: a mudança de LOW para HIGH é chamada de disparo pela borda (edge-triggered). Mantido X=1, as transições 00-01-10-11 ocorrem a cada borda de subida do clock.

Máquina sequencial — diagrama de blocos

Fig. 8.6 — Diagrama de blocos da máquina sequencial

Exemplo 2 — máquina de Mealy

Exemplo diagrama de estados Mealy

Fig. 8.7 — Exemplo 2: variável Z associada à transição (Mealy)

Usa-se o próprio código dos estados, em vez de símbolos. A variável Z tem valor associado a cada transição — não é variável de estado, característica do modelo Mealy.

Máquina sequencial — esquema em blocos

Fig. 8.8 — Esquema em blocos do exemplo 2

8.3.2 Análise de circuitos sequenciais síncronos

Na análise é necessário determinar: a classe do circuito (combinacional/sequencial), se síncrono/assíncrono, e o que se deseja obter.

  1. Identificar os estados;
  2. Identificar as entradas relacionadas com as mudanças de estado;
  3. Identificar as sequências de transições.

Ferramenta importante: o mapa de próximo estado para cada saída. Para o exemplo 1, o comportamento da saída A:

AB00011110
X=00011
X=10101

Quando X=0, o estado permanece — A não muda na borda de clock. Quando X=1, a saída é 1 nas transições 01→10 e 10→11.

Comportamento da saída B:

AB00011110
X=00110
X=11010

Para o exemplo 2, saída A:

AB00011110
X=00100
X=10100

Saída B:

AB00011110
X=00110
X=11001

Saída Z (variável de Mealy, associada à transição):

AB00011110
X=00111
X=10010

A partir dos mapas, escreve-se a expressão booleana de cada saída de próximo estado — similar ao Mapa K:

Mapa K exemplo 1

Fig. 8.9 — Mapa K para as saídas A e B do exemplo 1

$$A = A.\bar{X} + \bar{A}.B.X + A.\bar{B}.X$$
$$B = B.\bar{X} + \bar{A}.\bar{B}.X + A.B.X$$
A variável à esquerda da equação é o valor atual; a mesma variável à direita é o valor anterior (antes da transição de clock).

Exemplos de projeto

exemplo a

Sistema de controle de elevador

Circuito sequencial que controla um elevador operando em quatro andares: S₀, S₁, S₂, S₃.

  • X₁ Botão de subir pressionado
  • X₂ Botão de descer pressionado
  • Y 1 = em movimento · 0 = parado

O elevador começa no térreo (S₀); X₁=1 sobe até S₃; X₂=1 desce até S₀.

EstadoX₁=0,X₂=0X₁=1,X₂=0X₁=0,X₂=1X₁=1,X₂=1
S₀S₀ (Parado)S₁ (Sobe)S₀ (Parado)S₁ (Sobe)
S₁S₁ (Parado)S₂ (Sobe)S₀ (Desce)S₁ (Parado)
S₂S₂ (Parado)S₃ (Sobe)S₁ (Desce)S₂ (Parado)
S₃S₃ (Parado)S₃ (Parado)S₂ (Desce)S₃ (Parado)
exemplo b

Circuito de controle digital de portão

Controla a abertura/fechamento de um portão automático com quatro estados.

  • S₀ Totalmente fechado
  • S₁ Abrindo
  • S₂ Totalmente aberto
  • S₃ Fechando
  • X₁ Sensor de abertura
  • X₂ Sensor de fechamento
  • Y 1 = em movimento · 0 = parado
EstadoX₁=0,X₂=0X₁=1,X₂=0X₁=0,X₂=1X₁=1,X₂=1
S₀S₀ (Parado)S₁ (Abrindo)S₀ (Parado)S₁ (Abrindo)
S₁S₁ (Abrindo)S₂ (Aberto)S₃ (Fechando)S₁ (Abrindo)
S₂S₂ (Aberto)S₂ (Aberto)S₃ (Fechando)S₃ (Fechando)
S₃S₃ (Fechando)S₁ (Abrindo)S₀ (Fechado)S₃ (Fechando)
exemplo c

Contador crescente de 3 bits — saída para números ímpares

Contador de 0 a 7 cuja saída é 1 quando o valor contado é ímpar.

  • Estados 8 estados (S₀ a S₇), valores binários de 3 bits
  • Entradas Apenas o clock — sem entradas de controle
  • Y 1 = ímpar (S₁,S₃,S₅,S₇) · 0 = par (S₀,S₂,S₄,S₆)
Estado AtualPróximo EstadoSaída Y
S₀ (000)S₁ (001)0
S₁ (001)S₂ (010)1
S₂ (010)S₃ (011)0
S₃ (011)S₄ (100)1
S₄ (100)S₅ (101)0
S₅ (101)S₆ (110)1
S₆ (110)S₇ (111)0
S₇ (111)S₀ (000)1
Neste exemplo, a saída é função apenas do estado — caracterizando uma máquina de Moore.

Esse exercício permite estudar o comportamento de contadores sequenciais e a lógica associada a saídas que dependem de condições específicas nos estados, como identificar números ímpares.

Teste seus conhecimentos

? Pergunta 1 de 4

O que diferencia um circuito sequencial de um combinacional?

? Pergunta 2 de 4

Em uma máquina de Mealy, a saída é função de:

? Pergunta 3 de 4

Um circuito síncrono muda de estado:

? Pergunta 4 de 4

No contador de 3 bits do exemplo C, a saída Y depende de:

Para ir além

← anteriorCap. 5 — Circuitos Comparadores