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.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
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
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.
Ver os dados da forma de onda
| Sinal | Forma de onda | Valores do barramento |
|---|---|---|
| borda | 2345 | E0 → E1 → E2 → E3 |
| enable | 101. | |
| din | 10.1 | |
| q depois | 2.34 | 001 → 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.
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.
| Teste | Resultado esperado |
|---|---|
| Entradas contínuas | Ordem dos bits e latência válida fixa corretas |
| enable=0 intermediário | Dados e valid mantidos juntos |
| Reset intermediário | Validade do quadro anterior removida |
| Quadros consecutivos | Fim 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.