Altifigence Academy

42 / 63 · Conceito

Verificação do deslocamento e alinhamento entre dados e valid

Detecte defeitos ocultos por padrões simétricos e desalinhamentos de um ciclo em valid.

Escolha sequências que revelem erros

Deslocar apenas 0000 ou 1111 esconde inversões de direção. Use padrões assimétricos como 1000 ou um único 1 para seguir cada posição. Usar sempre estado inicial zero também pode esconder falhas de inicialização ou manutenção.

Com 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 três bits, início 000 e entradas 1,0,0, resulta 001→010→100. No sentido contrário, seria 100→010→001: distinguem-se desde a primeira borda.

Revise a referência em outra representação

Qnext=(2Q+d) mod 2NQ_{next}=(2Q+d)\bmod2^N

Compare esse modelo numérico com fatiasFatia de bits Operação que seleciona um intervalo contíguo de um vetor. O intervalo determina a largura e a ordem dos bits do resultado. Saiba mais e concatenações RTL em cada borda válida. Para N=3, podem ser enumerados oito estados e duas entradas: 16 transições. Acrescente separadamente as combinações de reset e enable.

Cada coluna 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, sem representar propagação físicaAtraso 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, a segunda borda tem enable=0 e mantém 001 mesmo que din mude. Conte bordas e aceitações separadamente.

Sem enable, todo o estado para
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
borda2345E0 → E1 → E2 → E3
enable101.
din10.1
q depois2.34001 → 010 → 101

Reproduza a onda: uma borda com din=1 dá 001; outra com enable=0, din=0 o mantém. Reative enable e aplique din=0,1: resultam 010,101. O modelo trata apenas os registradores de dados; analise também que valid deve parar com o mesmo enable.

Distinga entrada e armazenamento durante uma pausa

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

Valid faz parte do caminho de dados

Se dados e valid não pararem ou avançarem juntos, o receptor consumirá amostras incorretas. Bits de saída corretos não demonstram uma interface correta.

TesteResultado esperado
Entradas contínuasOrdem dos bits e latência válida fixa corretas
enable=0 intermediárioDados e valid mantidos juntos
Reset intermediárioValidade do quadro anterior removida
Quadros consecutivosFim anterior distinto do novo início

Registre o número de aceitação para não confundi-lo com o ciclo físico. Um contraexemplo mínimo que inclua a fronteira do quadro é mais útil do que reler repetidamente uma onda longa.

Experimente

Os dados só avançam com enable=1, mas valid avança a cada clock. Qual estímulo revela facilmente o defeito?

Ler a explicação

Insira uma borda de pausa enable=0 entre dois dados diferentes. valid chegará antes ou acompanhará outro dado. Compare com uma referência que aplique a mesma condição de aceitação a dados e metadados.

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