Circuitos Sequenciais (Latches e Flip-Flops)

Ao contrário dos circuitos combinacionais, que produzem saídas apenas a partir das entradas atuais, os circuitos sequenciais também levam em conta o histórico do sistema.
Isso é possível porque eles possuem elementos de memória capazes de armazenar informações temporárias — mesmo que seja apenas 1 bit.
Graças a isso, circuitos sequenciais são a base de registradores, contadores, máquinas de estados e de praticamente qualquer sistema digital com comportamento dinâmico.


Latches

Conceito

Um latch é um circuito eletrônico que armazena um único bit de informação. Sua saída depende tanto das entradas atuais quanto do estado anterior.

Eles são chamados de “sensíveis ao nível” quando possuem uma entrada de controle (Enable): o estado pode mudar enquanto o sinal Enable está ativo.

Contudo, nem todo latch tem Enable. O latch SR básico, por exemplo, não possui entrada de controle: ele muda de estado imediatamente quando S ou R mudam (circuito assíncrono).

Tipos de Latch

Latch SR (Set-Reset)

  • Entradas: S (setar 1), R (resetar 0).
  • Saídas: Q e .
  • Funcionamento:
    • S=1, R=0 → saída vai para 1 (Set)
    • S=0, R=1 → saída vai para 0 (Reset)
    • S=0, R=0 → mantém o estado anterior
    • S=1, R=1 → condição inválida

Latch D (Data)

  • Tem apenas uma entrada de dados (D) e um controle Enable.
  • Enquanto Enable=1, a saída Q segue D.
  • Quando Enable=0, o valor anterior é mantido, ou seja, a saída “trava”.

Pode-se notar que o latch é sensível ao nível do sinal de controle (Enable). Enquanto o Enable está ativo, a saída segue imediatamente a entrada. Se as entradas oscilarem ou tiverem ruídos durante esse período, o latch pode registrar valores errados ou instáveis (“transparência do latch”). Isso é especialmente crítico em circuitos síncronos, onde diferentes sinais mudam em momentos próximos, podendo gerar condições de corrida e resultados imprevisíveis.

Condição de corrida: quando as entradas (como S e R num latch SR) se alternam rapidamente para níveis altos simultaneamente, forçando o circuito a um estado de oscilação contínua devido aos atrasos de propagação das portas lógicas.


Flip-Flops

Conceito

Visando corrigir o problema que os latches apresentam, isto é, a possibilidade de capturar valores instáveis enquanto o sinal de controle está ativo, os flip-flops foram desenvolvidos.

Eles são semelhantes aos latches, mas diferem no modo de operação: em vez de serem sensíveis ao nível do sinal de controle, os flip-flops só atualizam sua saída no instante da borda do clock (subida ou descida).

Dessa forma, o intervalo em que o flip-flop pode alterar a saída é muito pequeno, ou seja, sua saída ficará estável durante o funcionamento do circuito.

Clock: Um clock é um sinal digital que oscila entre 0 e 1 de forma periódica. Ele serve para sincronizar circuitos digitais, indicando exatamente quando componentes como flip-flops ou registradores devem atualizar suas saídas. Cada borda do clock (subida ou descida) dispara a mudança de estado, garantindo que todas as partes do sistema funcionem de forma coordenada e previsível.

Tipos de Flip-Flops

Flip-Flop SR

É a versão controlada por clock do latch SR. Ele recebe as entradas S (Set) e R (Reset) e atualiza a saída apenas na borda do clock. Assim como o latch SR, ainda apresenta a condição inválida quando S=1 e R=1.

Entradas e saídas:

  • S=1 e R=0 → Q=1 (Set: força a saída Q a 1)
  • S=0 e R=1 → Q=0 (Reset: força a saída Q a 0)
  • S=0 e R=0 → mantém Q (estado anterior)
  • S=1 e R=1 → estado inválido (contradição, não permitido)

Flip-Flop D

É o tipo mais usado em registradores. Possui uma única entrada D e, na borda do clock, o valor presente em D é transferido para a saída Q. Fora do instante do clock, a saída permanece estável.

Entradas e saídas:

  • D=0 → Q=0 (na borda do clock, a saída recebe o valor de D)
  • D=1 → Q=1 (na borda do clock, a saída recebe o valor de D)
  • Q mantém seu valor fora do pulso de clock

Flip-Flop JK

Evolução do SR, elimina a condição inválida. Possui duas entradas: J e K (Jump and Kill) e uma condição de toggle.

Entradas e saídas:

  • J=1 e K=0 → Q=1 (Set)
  • J=0 e K=1 → Q=0 (Reset)
  • J=0 e K=0 → mantém Q (estado anterior)
  • J=1 e K=1 → Q inverte → Q = Q (toggle, útil em contadores e divisores de frequência)

Aplicações e Construções Maiores

Registradores: juntando vários flip-flops em paralelo, é possível armazenar vários bits simultaneamente. Construindo uma estrutura modular.

Contadores: flip-flops JK podem ser conectados em cascata para contar pulsos.

Contador 4 bits utilizando flip-flops. Abaixo temos o funcionamento dele.

Máquinas de estados: armazenam o estado atual e, junto à lógica combinacional, determinam o próximo estado.

Registrador 4 bits utilizando flip-flops.

Exercícios

1. O que diferencia um circuito sequencial de um circuito combinacional?

  • a) O sequencial depende das entradas e do estado anterior
  • b) O sequencial depende apenas das entradas presentes no momento
  • c) O sequencial usa portas NAND, e o combinacional usa portas NOR
  • d) O combinacional armazena 1 bit
  • e) Ambos são idênticos

2. No latch SR básico (sem clock), qual condição é considerada inválida?

  • a) S=0, R=0
  • b) S=1, R=1
  • c) S=1, R=0
  • d) S=0, R=1
  • e) Nenhuma é inválida

3. Enquanto Enable = 1 no latch D, o que acontece com a saída Q?

  • a) Q zera automaticamente
  • b) Q fica em alta impedância
  • c) Q sempre mantém o valor anterior
  • d) Q segue o valor de D
  • e) Q muda apenas na borda do clock

4. O problema da “transparência” de um latch ocorre quando:

  • a) O latch ignora completamente o valor de D
  • b) A saída varia enquanto o controle estiver ativo
  • c) A saída nunca muda
  • d) O clock está muito lento
  • e) O latch não possui a entrada R

5. Por que flip-flops são preferidos em circuitos síncronos?

  • a) Atualizam apenas na borda do clock, evitando ruídos
  • b) São mais baratos
  • c) São sensíveis ao nível, não à borda
  • d) Possuem mais portas lógicas internas
  • e) Armazenam 2 bits

6. Em um flip-flop tipo D, o valor de Q é atualizado:

  • a) Quando D muda
  • b) Apenas quando Enable está em 1
  • c) Apenas quando Q̅ for 0
  • d) Na borda do clock
  • e) Nunca é atualizado

7. Qual a principal vantagem do FF JK em relação ao FF SR?

  • a) Pode armazenar 2 bits
  • b) Funciona sem clock
  • c) Não apresenta condição inválida
  • d) Usa portas XOR
  • e) Não possui reset

8. A principal função do clock em circuitos digitais é:

  • a) Sincronizar quando elementos de memória devem atualizar
  • b) Multiplicar sinais de dados
  • c) Reduzir consumo de energia
  • d) Identificar entradas inválidas
  • e) Controlar a tensão da fonte

9. Registradores são formados por:

  • a) Vários multiplexadores em série
  • b) Vários flip-flops conectados em paralelo
  • c) Vários latches conectados em paralelo
  • d) Uma porta XOR e uma AND
  • e) Apenas flip-flops JK

10. Em uma máquina de estados, qual o papel do flip-flop?

  • a) Executar somas binárias
  • b) Definir a lógica de saída
  • c) Ler sensores analógicos
  • d) Armazenar o estado atual
  • e) Gerar o clock

11. O latch SR básico (assíncrono) muda de estado:

  • a) Imediatamente quando S ou R mudam
  • b) Quando Enable=1
  • c) Somente na borda do clock
  • d) Apenas quando ambos forem 0
  • e) Nunca muda