Trilha de aprendizado · Nível 8 · Tutorial 9

Sequências de contagem com contadores síncronos

Ao concluir, o aluno será capaz de analisar contadores síncronos, definir sua sequência de estados e representar a lógica de um contador pequeno com habilitação, reset e indicação de término.

  • Nível: Intermediário
  • Duração: 20 min
  • 8 passos
Sequências de contagem com contadores síncronos

O que você vai percorrer

  1. Como o contador síncrono avança Reconheça a estrutura e trace o ciclo de um contador binário síncrono de dois bits. 2 min
  2. Da sequência às entradas D Transforme a sequência de um contador binário de dois bits em uma tabela de próximo estado e nas funções D0 e D1. 3 min
  3. Controlar a contagem com habilitação e reset Determine o próximo estado de um contador de dois bits usando habilitação e reset síncrono prioritário. 3 min
  4. Definir o módulo e os estados não utilizados Especifique um contador de dois bits de módulo 3, incluindo o comportamento do código não utilizado e dos controles. 3 min
  5. Indicar o término da sequência Decodifique o estado terminal de um contador de módulo 3 e interprete a indicação durante a contagem e as pausas. 2 min
  6. Relacionar os bits à divisão de frequência Calcule a divisão de frequência dos bits de um contador binário livre e reconheça as condições que limitam essa regra. 2 min
  7. Separar bordas elétricas de eventos físicos Diagnostique por que um contador pode registrar vários incrementos a partir de um único acionamento físico. 2 min
  8. Aplicação final: validar um contador de módulo 3 Integre e valide um contador síncrono de módulo 3 com dois bits, habilitação, reset, recuperação do estado não utilizado e indicação terminal. 3 min

O que você vai aprender

  • Traçar a sequência de um contador a partir do clock, da habilitação e do reset.
  • Obter as funções de próximo estado de um contador de dois bits.
  • Definir o módulo e prever o comportamento em estados não utilizados.
  • Relacionar bits de contagem à divisão de frequência e distinguir bordas elétricas de eventos físicos.

Antes de começar

  • Representação binária e hexadecimal
  • Portas lógicas e tabelas-verdade
  • Armazenamento e deslocamento com registradores
  • Verificação de atrasos e requisitos de temporização

Passo 1 de 8

Como o contador síncrono avança

Reconheça a estrutura e trace o ciclo de um contador binário síncrono de dois bits.

Estrutura do contador síncrono

Contador: memória que percorre estados

Um contador síncrono é um registrador cujo próximo conteúdo é calculado para seguir uma sequência. Como no registrador estudado antes, os flip-flops compartilham o mesmo clock; a diferença é que uma lógica combinacional usa os bits armazenados para preparar o próximo valor da contagem.

Nesta etapa, considere dois flip-flops D com saídas Q1 e Q0. Q1 é o bit mais significativo e Q0, o menos significativo. Com dois bits, o contador pode armazenar quatro valores: 00, 01, 10 e 11.

Estrutura com clock comum

Diagrama de dois flip-flops D ligados ao mesmo clock, com as saídas realimentando uma lógica combinacional de próximo estado.

As saídas atuais Q1 e Q0 alimentam a lógica que prepara os valores D para a próxima borda.

Leitura por bordas de subida

Sequência de quatro estados

Em um contador binário crescente de dois bits, cada borda de subida avança um valor. A sequência é:

00 → 01 → 10 → 11 → 00 → ...

Depois de 11, não há um terceiro bit para armazenar o transporte do incremento. Portanto, o valor armazenado retorna a 00. Os quatro valores formam um ciclo que se repete.

Estados em cada borda

Diagrama temporal do clock e dos bits Q0 e Q1 ao longo da sequência 00, 01, 10, 11 e retorno a 00.

A sequência é definida em bordas de subida sucessivas; Q0 e Q1 compõem juntos cada novo estado.

Exemplo

Exemplo: traçando a partir de 10

Partindo de 10, acompanhe as próximas bordas de subida:

| Momento | Estado armazenado |
|---|---|
| Inicial | 10 |
| Após a 1ª borda | 11 |
| Após a 2ª borda | 00 |
| Após a 3ª borda | 01 |

Em cada borda, os dois flip-flops capturam simultaneamente valores calculados a partir do mesmo estado anterior. No modelo funcional, não há um estado intermediário entre 10 e 11: ambos os bits pertencem ao novo estado.

Sequência do contador

Prática: complete um ciclo

Organize o trecho de um ciclo que começa em 00. A última opção representa o retorno ao início depois do maior valor de dois bits.

Ordene a sequência

Coloque os estados na ordem correta após o estado inicial 00.

  1. 01
  2. 11
  3. 00 (retorno ao início)
  4. 10

Modelo lógico e circuito físico

Síncrono não significa sem atrasos

Os dois flip-flops recebem a mesma borda de subida do clock. Isso torna o contador síncrono: a mudança de estado é definida para a mesma borda, usando os valores anteriores de Q1 e Q0.

No circuito físico, flip-flops e portas possuem atrasos de propagação. Isso não cria uma borda de contagem separada para cada bit; são efeitos físicos após a borda. Para traçar a sequência lógica, compare o estado antes da borda ativa com o estado estabilizado depois dela.

Verifique o clock comum

Qual afirmação descreve corretamente o contador síncrono de dois bits?

Dica

Em resumo

Um contador binário livre de dois bits percorre 00, 01, 10 e 11; a borda seguinte retorna a 00. A lógica combinacional prepara o próximo estado, e os dois flip-flops D o capturam na mesma borda de subida.

Na próxima etapa, essa sequência será convertida em tabela de próximo estado e em valores para as entradas D.

Passo 2 de 8

Da sequência às entradas D

Transforme a sequência de um contador binário de dois bits em uma tabela de próximo estado e nas funções D0 e D1.

O papel das entradas D

Do estado atual ao próximo

Em um contador com flip-flops D, a lógica combinacional calcula o valor que cada bit deve assumir na próxima borda de subida. Como um flip-flop D transfere D para Q na borda ativa, vale diretamente:

  • D0 = próximo valor de Q0
  • D1 = próximo valor de Q1

Os sinais Q1 e Q0 são o estado atual, disponível antes da borda. Os sinais D1 e D0 são preparados a partir desse estado para serem capturados juntos na próxima borda.

Estrutura de próximo estado

Dois flip-flops D compartilham um clock; as saídas Q1 e Q0 entram na lógica combinacional, que gera D1 e D0 para a próxima borda.

A lógica lê o estado atual e prepara simultaneamente os dois bits do próximo estado.

Ler padrões na tabela

Tabela de próximo estado

Para o contador binário livre de dois bits, escreva cada transição da sequência crescente. A coluna de D reproduz exatamente o próximo estado desejado.

Tabela para uma contagem 00 → 01 → 10 → 11 → 00.
Q1 atualQ0 atualQ1 próximoQ0 próximoD1D0
000101
011010
101111
110000

Exemplo

Funções obtidas

Observe as colunas finais:

  • D0 alterna em toda transição. Portanto, é o complemento do bit atual: D0 = NOT Q0.
  • D1 vale 1 somente quando os bits atuais são diferentes. Essa é exatamente a função XOR: D1 = Q1 XOR Q0.

Essas expressões reproduzem as quatro linhas da tabela. Não há habilitação nem reset neste contador livre; esses controles serão acrescentados depois.

Verificar uma transição

Pratique: próximo estado

Complete a transição que fecha o ciclo do contador. Considere o estado atual Q1Q0 = 11.

Use a regra D = próximo Q.
Q1 atualQ0 atualQ1 próximoQ0 próximoD1D0
11????

Dica

Confira seu raciocínio

Para Q1Q0 = 11, o contador retorna a 00. Assim, D1 e D0 devem estar em 0 antes da próxima borda.

Valor de D0

No estado atual Q1Q0 = 11, qual valor deve estar em D0 para que o contador siga sua sequência binária livre?

Escreva pelo menos 1 caracteres (0/1).

Consolidar as expressões

Associe as funções

Associe cada entrada D à expressão que gera sua coluna na tabela do contador binário livre de dois bits.

Escreva pelo menos 15 caracteres (0/15).

Dica

Formato esperado

Escreva sua associação no formato: D0 = ...; D1 = ....

Compare com as funções corretas depois de responder: D0 = NOT Q0 e D1 = Q1 XOR Q0.

Passo 3 de 8

Controlar a contagem com habilitação e reset

Determine o próximo estado de um contador de dois bits usando habilitação e reset síncrono prioritário.

Definir o próximo estado

Contrato de controle

Neste contador de 2 bits, R (reset) e EN (habilitação) são ativos em nível alto. Em cada borda de subida do clock, aplique este contrato, nesta ordem:

  1. Se R = 1, o próximo estado é 00.
  2. Caso contrário, se EN = 1, o contador incrementa: 00 → 01 → 10 → 11 → 00.
  3. Caso contrário, com EN = 0, o estado é mantido.

Assim, reset tem prioridade mesmo se EN também estiver em 1. Como o reset é síncrono, mudar R entre bordas não muda Q imediatamente: a ação ocorre somente na próxima borda ativa.

Habilitar pelo caminho de dados

A habilitação escolhe o que chega às entradas D: o próximo valor da contagem quando EN está alto, ou o próprio estado atual quando EN está baixo. O clock continua sendo o mesmo para os dois flip-flops; não o bloqueie com portas combinacionais improvisadas.

Seleção antes dos flip-flops

Diagrama de um contador síncrono de dois bits: clock comum nos flip-flops, realimentação para retenção, caminho de incremento controlado por EN e reset prioritário forçando zero.

EN seleciona incremento ou retenção no caminho de dados; R seleciona 00 com prioridade. O clock permanece comum e livre de portas.

Ler controles na borda ativa

Tabela de decisão

A tabela resume as três possibilidades na borda de subida. “Incrementar” usa a sequência binária livre já estudada; “reter” repete exatamente Q1Q0.

Decisão aplicada em toda borda de subida, com R prioritário.
RENPróximo estado Q1⁺Q0⁺Ação
1000reset
1100reset prioritário
01próximo valor binárioincrementar
00Q1Q0reter

Exemplo

Aplicando a prioridade

Exemplo: se o estado atual é 10, então:

  • R = 0 e EN = 1: próximo estado 11;
  • R = 0 e EN = 0: próximo estado 10;
  • R = 1 e EN = 0 ou 1: próximo estado 00.

O estado só aparece em Q após a borda de subida e o atraso clock–Q do componente. Para analisar a sequência didática, considere R e EN estáveis nas janelas de captura.

Interpretar um diagrama temporal

Traçado de uma sequência

Considere que o contador inicia em 01 antes da borda B1. R e EN estão estáveis nas janelas de captura.

| Borda | R | EN | Estado após a borda |
|---|---:|---:|---|
| B1 | 0 | 1 | 10 |
| B2 | 0 | 0 | 10 |
| B3 | 0 | 0 | 10 |
| B4 | 0 | 1 | 11 |
| B5 | 1 | 1 | 00 |
| B6 | 0 | 1 | 01 |

Após B1, EN baixo cria uma pausa em B2 e B3. EN volta a permitir incremento em B4. Em B5, R e EN estão altos, mas reset vence e força 00. Se R fosse ativado apenas entre B4 e B5 e retirado antes de B5, não haveria reset registrado.

Pausar, retomar e resetar

Diagrama temporal com seis bordas de clock, EN alternando entre habilitar e reter, R alto na quinta borda e os estados 01, 10, 10, 10, 11, 00 e 01.

O valor só é decidido nas bordas de subida. Em B5, R = 1 domina EN = 1 e produz 00.

Praticar a análise

Verifique a prioridade

No traçado anterior, qual estado aparece imediatamente após a borda B5, quando R = 1 e EN = 1?

Escreva pelo menos 2 caracteres (0/2).

Decisão de projeto

Se EN = 0, é correto bloquear o clock com uma porta AND para fazer o contador reter o estado.

Escreva pelo menos 10 caracteres (0/10).

Passo 4 de 8

Definir o módulo e os estados não utilizados

Especifique um contador de dois bits de módulo 3, incluindo o comportamento do código não utilizado e dos controles.

Definir o ciclo de módulo 3

Módulo e valor máximo

Módulo: quantos estados o ciclo percorre

O módulo é a quantidade de estados distintos antes de a sequência se repetir. Em um contador de módulo 3, o ciclo é:

0 → 1 → 2 → 0

Há três estados no ciclo. O zero que aparece novamente fecha o ciclo; ele não é um quarto estado.

Um contador binário livre com n bits percorre 2ⁿ estados, de 0 até 2ⁿ − 1. Assim, com dois bits há quatro códigos armazenáveis (00, 01, 10, 11), mas um contador pode ser projetado para usar apenas parte deles.

Comparação visual dos ciclos

À esquerda, o ciclo de quatro códigos de um contador binário livre de dois bits. À direita, o ciclo de três códigos 00, 01 e 10, com o código 11 levando a 00.

Dois bits armazenam quatro códigos, mas o módulo 3 usa somente três deles no ciclo regular.

Dois bits: módulo 4 e módulo 3

Compare quantidade de estados e maior valor contado:

O módulo descreve a quantidade de estados do ciclo, não apenas o maior número exibido.
ConfiguraçãoEstados do cicloMóduloMaior valor válido
Binário livre de 2 bits00, 01, 10, 1143
Contador de 2 bits módulo 300, 01, 1032

Aplicar EN, reset e recuperação

Contrato para o estado não utilizado

O quarto código precisa de uma regra

No contador de módulo 3, 11 não faz parte do ciclo válido. Ainda assim, os dois flip-flops podem armazená-lo, por exemplo antes de uma inicialização ou por uma condição não prevista.

Vamos adotar este contrato, com R e EN ativos em nível alto:

  1. Se R = 1, o próximo estado é 00 — prioridade máxima.
  2. Se R = 0 e EN = 0, o estado atual é retido, inclusive 11.
  3. Se R = 0 e EN = 1, ocorre a sequência 00 → 01 → 10 → 00; se o estado for 11, ele também vai para 00.

Portanto, a recuperação de 11 acontece quando a contagem está habilitada. Não se deve alterar um estado apenas porque ele é “não utilizado” se EN está inativo.

Exemplo

Aplicando as prioridades

Exemplo: suponha estado atual 11, reset inativo (R = 0).

  • Com EN = 0, próximo estado: 11 (retenção).
  • Com EN = 1, próximo estado: 00 (recuperação).

Se R = 1, o próximo estado é 00 nos dois casos, porque o reset tem prioridade.

Dica

Cuidado temporal

O reset aqui é síncrono: mesmo com R = 1, a mudança para 00 é capturada somente na borda ativa do clock. Considere os comandos estáveis na janela de captura.

Registrar todas as transições

Tabela de contagem habilitada

Com R = 0 e EN = 1, a tabela de próximo estado deve abranger os quatro códigos possíveis. A última linha não é irrelevante: ela registra a recuperação escolhida para 11.

Transições e entradas D

As entradas D são exatamente os bits do próximo estado. Para a contagem habilitada, as linhas mostram que D1 só vale 1 em 01, enquanto D0 só vale 1 em 00.

Tabela para reset inativo e habilitação ativa.
Q1 Q0 atualQ1+ Q0+ próximoD1D0
000101
011010
100000
110000

Exemplo

Funções de próximo estado

Para a parte de contagem habilitada:

D1 = ¬Q1 · Q0

D0 = ¬Q1 · ¬Q0

Incluindo retenção e reset síncrono no contrato completo:

D1 = ¬R · [(¬EN · Q1) + (EN · ¬Q1 · Q0)]

D0 = ¬R · [(¬EN · Q0) + (EN · ¬Q1 · ¬Q0)]

Essas funções definem tanto o ciclo válido quanto a recuperação de 11; nenhuma linha foi deixada sem comportamento definido.

Prática: módulo e código não utilizado

Verifique o módulo

O contador percorre 00 → 01 → 10 → 00. Qual é seu módulo?

Prever a recuperação

Complete o próximo estado: estado atual 11, R = 0 e EN = 1 ⟶ {{blank}}

Passo 5 de 8

Indicar o término da sequência

Decodifique o estado terminal de um contador de módulo 3 e interprete a indicação durante a contagem e as pausas.

Reconheça o maior valor válido

Decodificar o estado terminal

Em um contador de módulo 3, a sequência válida é 00 → 01 → 10 → 00. O maior valor válido é 2, isto é, Q1Q0 = 10.

A indicação de término, chamada aqui de T, é uma saída combinacional que vale 1 sempre que os bits armazenados representam esse estado terminal. Ela observa o estado atual; não espera a próxima borda do clock.

Diagrama do ciclo 00, 01 e 10, com o estado 10 destacado como terminal e o estado 11 fora do ciclo válido.

No módulo 3, o término é decodificado no estado atual 10.

Exemplo

Função de término

Para reconhecer somente o código 10, Q1 deve ser 1 e Q0 deve ser 0:

T = Q1 AND NOT Q0

Assim, T é 1 em 10 e 0 em 00, 01 e também em 11. Considerar 11 na função evita interpretar um código não utilizado como término.

Término não é pulso nem parada

Verificação da função

A tabela confirma a decodificação do término a partir dos bits atuais do registrador.

Tabela da saída combinacional T para todos os códigos de dois bits.
Q1Q0ValorT
0000
0110
102 (terminal)1
11não utilizado0

Estado, transição e pausa

Estar em 10 e sair de 10 são fatos diferentes:

  • Enquanto o estado armazenado for 10, T fica em 1.
  • Com EN = 1, a próxima borda leva 10 para 00; depois da atualização, T volta a 0.
  • Com EN = 0, o contador retém 10 a cada borda. Logo, T continua em 1 durante toda a pausa.

Portanto, T não é automaticamente um pulso de uma borda nem faz o contador parar.

Exemplo

Exemplo de pausa no terminal

Exemplo: o contador chega a 10 com EN = 1. Em seguida, EN passa a 0 antes da próxima borda. O estado permanece 10, então T permanece em 1. Quando EN voltar a 1, a próxima borda fará o retorno para 00 e T irá a 0 após o atraso de propagação.

Pratique a leitura do terminal

Preveja a indicação em uma pausa

Considere que o contador está em 10 e que EN permanece em 0 por três bordas de subida. Complete a saída de término durante essa pausa:

T = {{blank}}

Durante a pausa em 10, T vale: {{blank}}

Teste seu entendimento

Se EN = 0 mantém o contador parado em 10, a indicação T deve ser um pulso curto que termina antes da próxima borda de clock.

Preserve o clock comum

Atenção

Atenção aos transientes

T é produzida por portas combinacionais ligadas a Q1 e Q0. Após uma troca de estado, cada saída e cada porta possui atraso físico. Dependendo dos atrasos, a decodificação pode apresentar um transiente breve durante a mudança dos bits, mesmo que a tabela lógica ideal indique outro resultado estável.

Uso prudente da indicação

Use T como indicação de estado ou como entrada de lógica que seja analisada com os cuidados de temporização adequados. Não a trate como um novo clock nem a conecte como reset assíncrono improvisado: transientes combinacionais podem criar bordas ou comandos indesejados.

O clock comum continua sendo a referência para as atualizações do contador.

Passo 6 de 8

Relacionar os bits à divisão de frequência

Calcule a divisão de frequência dos bits de um contador binário livre e reconheça as condições que limitam essa regra.

Observar os períodos

Clock e bits de contagem

Um contador também divide a frequência

Em um contador binário livre de dois bits, os flip-flops recebem o mesmo clock. A cada borda de subida, o estado avança: 00 → 01 → 10 → 11 → 00.

Por isso, Q0 alterna a cada borda: leva duas bordas para repetir seu padrão. Q1 permanece em cada nível durante duas bordas: leva quatro bordas para repetir seu padrão.

Assim, as saídas mudam mais lentamente que o clock. Isso é uma consequência da sequência de estados — não significa que Q0 ou Q1 deva virar o clock de outro circuito.

Formas de onda do contador

Diagrama temporal alinhando um clock com Q0, que alterna na metade da frequência, e Q1, que alterna em um quarto da frequência.

Os dois bits são atualizados pela mesma borda do clock; cada bit superior repete seu padrão em mais bordas.

Calcular a divisão

Regra para um contador binário livre

Numere os bits a partir do menos significativo: Q0 tem k = 0, Q1 tem k = 1, e assim por diante. Para um contador binário livre em contagem contínua:

f_Qk = f_clock / 2^(k+1)

Logo, Q0 divide a frequência do clock por 2; Q1 divide por 4. Equivalentemente, o período de Q0 é duas vezes o período do clock, e o de Q1 é quatro vezes maior.

Exemplo

Exemplo numérico

Exemplo: se o clock é 1 kHz, então:

  • Para Q0: f_Q0 = 1 kHz / 2 = 500 Hz.
  • Para Q1: f_Q1 = 1 kHz / 4 = 250 Hz.

Esses valores descrevem quantos ciclos completos aparecem por segundo em cada saída, enquanto o contador percorre continuamente todos os quatro estados.

Quando a fórmula se aplica

A regra só vale diretamente quando a sequência binária livre está ocorrendo sem interrupção.

Condições para usar a divisão binária simples.
CondiçãoPor que importa
Clock periódico e válidoDefine a referência de frequência.
EN ativo continuamentePermite que cada borda avance a contagem.
Reset inativoEvita retornos forçados a zero.
Contador binário livreGarante o ciclo completo de 2^n estados.

Testar as condições

Cálculo rápido

Um clock de 8 kHz alimenta um contador binário livre de dois bits, com EN continuamente ativo e reset inativo. Complete a frequência de Q1.

Frequência de Q1

f_Q1 = ____

Identificar o limite da regra

Em qual situação a expressão f_Qk = f_clock / 2^(k+1) NÃO descreve diretamente a frequência observada na saída?

Atenção

Cuidado de projeto

Também não aplique automaticamente essa divisão a um contador de módulo diferente de uma potência de dois ou a uma sequência reinicializada por reset: verifique os estados e os tempos reais.

Embora Q0 e Q1 exibam frequências menores, mantenha o clock comum original como referência dos flip-flops. Não use uma saída decodificada ou um bit de contagem como clock improvisado de outro circuito; atrasos e transientes podem causar problemas de temporização.

Passo 7 de 8

Separar bordas elétricas de eventos físicos

Diagnostique por que um contador pode registrar vários incrementos a partir de um único acionamento físico.

Uma ação, várias transições

Evento físico e sinal elétrico

Um acionamento não é, necessariamente, um pulso

O contador avança por uma borda ativa válida do clock, não pela intenção física de apertar um botão. Um contato mecânico pode oscilar entre 0 e 1 por um curto intervalo ao fechar ou abrir: isso é o rebote.

Nesta análise diagnóstica, imagine que o sinal bruto de um botão foi usado inadequadamente como clock do contador. Isso não é uma proposta de montagem: um clock de contador deve atender aos requisitos elétricos e temporais. O objetivo é separar um acionamento físico das transições elétricas que ele pode gerar.

Um rebote pode criar várias bordas de clock

Diagrama temporal mostrando um único acionamento físico que produz oscilações no sinal bruto usado como clock, com três bordas de subida destacadas e três avanços de um contador de dois bits.

No cenário diagnóstico, o contador responde às bordas de subida válidas no seu pino de clock, não à quantidade de pressionamentos percebidos.

Atenção

Atenção

Um resistor de pull-up ou pull-down evita que uma entrada fique flutuando quando o contato está aberto. Ele não elimina as transições reais produzidas pelo rebote quando o contato muda de estado.

Contar bordas de clock, não acionamentos

Exemplo

Leitura de um traçado diagnóstico

Considere um diagnóstico hipotético: o sinal bruto de um único botão foi ligado ao clock de um contador de dois bits, cuja borda ativa é a de subida. A habilitação está fixa em EN = 1 e o reset está inativo.

Durante um acionamento, o sinal no pino de clock apresenta:

0 → 1 → 0 → 1 → 0 → 1

Para este traçado didático, suponha explicitamente que as três bordas de subida satisfazem os níveis e os tempos exigidos pelo flip-flop. Essa hipótese permite contar as bordas; em um sinal real com pulsos fora de especificação, o resultado não seria previsível pelo modelo ideal.

Conte as bordas ativas do clock

Há um acionamento físico, mas há três bordas de subida válidas no clock. Como EN = 1, cada uma autoriza uma atualização.

Partindo de Q1Q0 = 00, o contador livre evolui:

00 → 01 → 10 → 11

Logo, ele registra três incrementos. O erro não está na sequência do contador: está em supor que o contato mecânico forneceria uma única borda de clock por evento físico.

Analise o resultado

No traçado diagnóstico, o contador parte de Q1Q0 = 00. Após o único acionamento físico mostrado, qual estado ele alcança e quantos incrementos foram registrados?

Escreva pelo menos 20 caracteres (0/20).

Habilitar não é filtrar

Quando o contato afeta EN

Há outro caso, diferente do anterior: o botão pode influenciar a habilitação EN, enquanto o contador recebe um clock periódico separado. Nesse modelo, as transições de EN não incrementam diretamente o contador.

O que importa é o valor de EN em cada borda ativa do clock. Se EN permanecer em 1 por duas bordas de subida do clock, haverá dois incrementos. Portanto, manter EN alto durante um intervalo não garante, por si só, um único avanço por evento físico.

Exemplo

Exemplo com clock separado

Considere um clock periódico com quatro bordas de subida, B1 a B4. Os valores de EN capturados nessas bordas são:

| Borda de clock | B1 | B2 | B3 | B4 |
|---|---:|---:|---:|---:|
| EN amostrado | 0 | 1 | 1 | 0 |

Com reset inativo, o contador incrementa em B2 e B3: são dois incrementos. Não se contam as transições que EN possa ter tido entre as bordas; elas só importam se comprometerem os requisitos de captura.

O papel da habilitação

Por que manter EN = 1 durante um intervalo não garante um único incremento?

Sinal válido, análise confiável

Atenção

Sinal válido e evento único

Para associar um evento físico a apenas uma atualização, ele precisa chegar ao contador como um único comando válido no domínio do clock. O modo de produzir esse comando será estudado em outro momento.

Não use o contato bruto como referência de clock. Também não conclua a contagem a partir de um desenho simplificado se os pulsos reais forem estreitos demais, atingirem níveis indefinidos ou violarem setup e hold: nessas condições, o flip-flop pode não responder como o modelo ideal prevê.

Síntese

Complete a ideia em uma frase: para que um contador represente um evento físico por apenas um incremento, o evento precisa corresponder a quê?

Escreva pelo menos 25 caracteres (0/25).

Passo 8 de 8

Aplicação final: validar um contador de módulo 3

Integre e valide um contador síncrono de módulo 3 com dois bits, habilitação, reset, recuperação do estado não utilizado e indicação terminal.

Especificação integrada

Contrato do contador

Um contador completo, em um contrato

Considere dois flip-flops D com clock comum de borda de subida. Os sinais R (reset) e EN (habilitação) são ativos em nível alto.

Em cada borda ativa, aplique esta prioridade:

  1. Se R = 1, próximo estado = 00.
  2. Se R = 0 e EN = 1, execute a sequência módulo 3 e recupere 11 para 00.
  3. Se R = 0 e EN = 0, mantenha o estado atual.

A sequência válida é 00 → 01 → 10 → 00. O estado 11 não faz parte do ciclo, mas possui um comportamento definido quando a contagem está habilitada.

Estrutura e sequência integrada

Diagrama de um contador síncrono de dois bits. Dois flip-flops compartilham o clock; a lógica combinacional recebe Q1, Q0, EN e R e gera D1 e D0. O ciclo válido é 00, 01, 10 e 00, enquanto 11 retorna a 00 quando habilitado.

EN e R selecionam o próximo estado no caminho de dados; o clock comum não é bloqueado.

Validar transições e prioridade

Tabela para conferir

A tabela abaixo é a referência de validação com reset inativo. Quando EN = 1, D1D0 deve representar o próximo estado do ciclo ou a recuperação. Quando EN = 0, D1D0 repete o estado atual. A indicação T depende somente do estado atual: ela vale 1 apenas em 10.

Tabela parcial com R = 0

Complete mentalmente as três células marcadas com ? antes de responder aos exercícios.

A tabela cobre todos os códigos armazenáveis. As células marcadas serão validadas a seguir.
Estado atualENPróximo estado D1D0T
000000
010010
100?1
110110
001010
011100
101001
111?0

Valide a pausa no terminal

Com R = 0, estado atual 10 e EN = 0, D1D0 = {{blank}}.

Valide a recuperação

Com R = 0, estado atual 11 e EN = 1, D1D0 = {{blank}}.

Valide reset e habilitação simultâneos

Com R = 1, EN = 1 e qualquer estado atual, D1D0 = {{blank}}.

Validar lógica e comportamento temporal

Conferir as saídas

Para este contrato completo, as funções das entradas D e da indicação terminal são:

  • D1 = ¬R · [(¬EN · Q1) + (EN · ¬Q1 · Q0)]
  • D0 = ¬R · [(¬EN · Q0) + (EN · ¬Q1 · ¬Q0)]
  • T = Q1 · ¬Q0

D1 e D0 definem o valor capturado na próxima borda. Já T apenas indica o estado atual; não é clock, reset nem comando de parada.

Função de cada saída

Associe cada sinal à sua função no contador.

Toque em um item e depois no par correspondente.

Traçado a validar

Aplicação final

O contador começa em 00. Os comandos estão estáveis nas janelas de captura. Determine o estado e T após cada borda antes de ver a conferência:

| Borda | R | EN | Estado após a borda | T após a borda |
|---|---:|---:|---|---|
| B1 | 0 | 1 | 01 | 0 |
| B2 | 0 | 1 | 10 | 1 |
| B3 | 0 | 0 | ? | ? |
| B4 | 1 | 1 | ? | ? |
| B5 | 0 | 1 | 01 | 0 |
| B6 | 0 | 1 | 10 | 1 |
| B7 | 0 | 1 | 00 | 0 |

Em uma verificação separada, suponha que o estado antes de uma borda seja 11, com R = 0 e EN = 1. Qual estado aparece depois dela?

Complete o traçado

Escreva, nesta ordem: estado após B3; T após B3; estado após B4; T após B4; estado após a recuperação de 11.

Conferência do traçado

Diagrama temporal com clock, R, EN, Q1, Q0 e T. O estado fica em 10 durante uma pausa de EN, reset alto com EN alto leva o estado a 00, e há uma transição separada de recuperação de 11 para 00.

A solução confirma: B3 retém 10 e mantém T alto; B4 captura 00 por reset prioritário. Com EN alto, 11 também é recuperado para 00.

Síntese e conclusão

Diagnóstico integrado

Explique em poucas frases por que este contador não garante, ao mesmo tempo, uma divisão binária fixa de frequência e um incremento por acionamento físico de botão.

Sua resposta precisa mencionar explicitamente:

  1. o fato de ser um contador de módulo 3, e não um contador binário livre;
  2. o efeito das pausas por EN e do reset na sequência temporal;
  3. por que um evento físico de botão não equivale automaticamente a uma única atualização válida.

Escreva pelo menos 180 caracteres (0/180).

Resumo

Síntese da competência

  • O contador usa dois flip-flops D com clock comum de borda de subida; R e EN atuam na lógica de próximo estado, não bloqueando o clock.
  • A sequência válida do módulo 3 é 00 → 01 → 10 → 00. Com R = 0 e EN = 1, o código não utilizado 11 é recuperado para 00.
  • Com R = 1, o próximo estado é 00 independentemente de EN. Com R = 0 e EN = 0, qualquer código armazenado é retido.
  • D1 e D0 representam os bits do próximo estado. T = Q1 · ¬Q0 indica o estado atual 10 e permanece ativo durante uma pausa nesse estado.
  • Para validar um contador, confira estado inicial, borda ativa, prioridades dos controles, módulo, recuperação, indicação terminal e validade temporal das entradas.
  • Não aplique automaticamente a divisão binária de frequência a um módulo 3, a uma sequência pausada ou reinicializada. Bordas elétricas também não equivalem automaticamente a eventos físicos.

Tutorial concluído

Parabéns! Você concluiu: Sequências de contagem com contadores síncronos

Muito bem! Você já consegue representar e conferir a sequência de estados e as saídas de um contador pequeno. No próximo tutorial, esses princípios serão ampliados para sequenciamentos descritos por máquinas de estados.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso