1. Projete um circuito de forma que ele execute a seguinte contagem assíncrona: 1_{10} à 2_{10}, decrescente.

Passo 1

O enunciado pede um contador assíncrono (ripple) de 4 bits que conte de 1_{10} até 2_{10} em ordem decrescente, reapontando para 1_{10} sempre que atinge 2_{10}. Vamos usar flip-flops JK com todas as entradas J=K=1 (para funcionar como T=1) de modo que cada estágio inverta seu estado a cada borda ativa do relógio de entrada. Para realizar o reinício automático em 1_{10}, vamos detectar o estado terminal 2_{10}=0010_2 e disparar sinais assíncronos de PREset e CLeaR.

Passo 2

Construção do contador ripple decrescente de 4 bits:
1. Seja Q_0 o bit menos significativo (LSB) e Q_3 o mais significativo (MSB).
2. Conecte as entradas J_i=K_i=1 de cada flip-flop FF_i, i=0,1,2,3.
3. O clock externo alimenta diretamente o CLK de FF_0.
4. Para contagem decrescente, ligamos o fio de saída não invertida Q_i de FF_i ao CLK de FF_{i+1}. Assim, cada bit seguinte inverte quando o bit anterior desce de 1\to 0.

Passo 3

Detecção do estado terminal \,2_{10}=0010_2:
1. \,2_{10} em binário é \,Q_3Q_2Q_1Q_0 = 0\,0\,1\,0.
2. Precisamos de um AND que seja “ 1” exatamente quando Q_1=1 e Q_0=Q_2=Q_3=0.
3. Logo, definimos
T = Q_1 \;\land\; \overline{Q_0}\;\land\;\overline{Q_2}\;\land\;\overline{Q_3}.

Passo 4

Rede assíncrona de PREset e CLeaR para recarregar \,1_{10}=0001_2:
1. Ao detectar T=1, disparamos simultaneamente:
  • PRE_0 = 1 e CLR_1 = CLR_2 = CLR_3 = 1.
    2. Todos os sinais de PRE e CLR são ativos em nível alto e têm prioridade sobre o clock. Assim, ao chegar em 0010_2, o contador é instantaneamente forçado para 0001_2.
    3. Enquanto T=0, mantêm-se PRE_i=0 e CLR_i=0, permitindo a contagem normal.

Resposta

Esquematicamente, para cada i=0,1,2,3:
\bullet J_i=K_i=1 \bullet CLK_0 = relógio externo
\bullet CLK_{i+1} = Q_i (não invertido)
Rede de detecção
T = Q_1\,\land\,\overline{Q_0}\,\land\,\overline{Q_2}\,\land\,\overline{Q_3}.
Sinais assíncronos (ativos em nível alto) gerados por T:
PRE_0 = T,\quad CLR_1 = T,\quad CLR_2 = T,\quad CLR_3 = T.

Exercícios relacionados