Altifigence Academy

38 / 63 · Conceito

Equações de estado do registrador de deslocamento

Expresse o movimento como transição vetorial e relacione comprimento de armazenamento com latência.

Leia vários flip-flops ao mesmo tempo

Ao inserir d no bit 0 de um registradorRegistrador Circuito que armazena vários bits de estado. Os registradores síncronos deste curso capturam a entrada especificada na borda de clock. Saiba mais de N bits:

Qk+1={Qk[N−2:0],dk}Q_{k+1}=\{Q_k[N-2:0],d_k\}

As chaves representam concatenaçãoConcatenação Operação que une sequências de bits lado a lado. A largura resultante é a soma de suas larguras; não é uma soma numérica. Saiba mais RTL. Todos os bits leem o mesmo estado anterior; d não percorre todo o registrador numa borda. Com enable=0, o vetor inteiro é mantido; reset o substitui pelo vetor inicial especificado.

Cada coluna abaixo registra uma borda de subidaBorda de subida Instante em que o clock passa de 0 para 1. É diferente do nível alto, que abrange todo o intervalo com CLK=1. Saiba mais, com entrada anterior e estado «depois» atualizado. Não se desenha atraso físico de propagaçãoAtraso de propagação Tempo entre uma mudança de entrada e a estabilização da saída no valor correto. Equivalência lógica e comportamento temporal são propriedades distintas. Saiba mais. Partindo de q=000, insira um 1 e depois três zeros: o bit ativo avança q0→q1→q2 e desaparece.

Confira a concatenação deslocando um único bit
Ver os dados da forma de onda
Dados da forma de onda: cada caractere é um intervalo; um ponto mantém o estado anterior; p representa um ciclo de clock.
SinalForma de ondaValores do barramento
din10..
q2 depois0.10
q1 depois010.
q0 depois10..
q depois2345001 → 010 → 100 → 000

Avance uma vez com din=1 e outras três com din=0: 001→010→100→000. Mudar a entrada altera apenas a previsão da próxima borda, não o q atualmente armazenado.

Em qual flip-flop cada bit é armazenado

O reset síncrono tem prioridade sobre enable. Com enable=0, o valor armazenado é mantido. q=000; q_next = (2q + din) mod 8

Confira a concatenação com uma equação numérica

Interpretando o vetor como unsignedunsigned Interpretação de uma sequência de bits como inteiro não negativo. Com n bits, o intervalo é de 0 a 2^n−1; pode diferir da interpretação signed dos mesmos bits. Saiba mais:

Qk+1=(2Qk+dk) mod 2NQ_{k+1}=(2Q_k+d_k)\bmod2^N

Para N=3, Q=5 (101) e d=1, 2⋅5+1=112\cdot5+1=11 e 11 mod 8=311\bmod8=3: resulta 011. Essa forma diferente da concatenação serve como referência independente.

O que é armazenado

Os bits antigos avançam para índices maiores e o novo entra no menor. Após entradas válidas suficientes, mantêm-se «a atual e as N−1 anteriores». A mesma estrutura serve para detectar padrões, criar linhas de atraso simples ou converter serial em paralelo.

Mais armazenamento não aumenta os bits aceitos por ciclo: aqui se aceita um por borda válida. Entrada paralela, deslocamento de vários bits e pausas ready/validHandshake Contrato que confirma uma transferência quando valid do transmissor e ready do receptor valem 1 na mesma borda. Inclui as regras para manter os dados durante a espera. Saiba mais exigem caminhos de dados e controles próprios.

Experimente

Para N=4, Q=1101 e d=0, calcule o próximo Q por concatenação e por uma expressão numérica.

Ler a explicação

A concatenação é {101,0}=1010. Numericamente, (2⋅13+0) mod 16=10(2\cdot13+0)\bmod16=10: o mesmo resultado. O antigo bit superior 1 sai da largura armazenada.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.