Altifigence Academy

43 / 63 · Verificação

Verificação de projeto: latência, alinhamento e preservação das entradas

Confira direção, quantidade de movimentos válidos e referência de observação.

Fixe como a latência é contada

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 executa q <= {q[1:0], din} somente com entrada válida e mantém q com valid=0. Partindo de 0 após resetReset Controle que retorna o estado a um valor inicial especificado. É preciso definir se é síncrono ou assíncrono e sua prioridade em relação a outros controles. Saiba mais, aplique em bordas 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 distintas (valid,din) = (1,1), (0,0), (1,0), (1,1).

Há quatro bordas, mas somente três deslocamentos. Confira se a sequência de estados e a descrição de «latência em ciclos» são consistentes.

Cada coluna registra uma borda, com entrada anterior e estado «depois» atualizado; o alinhamento não mostra 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. A segunda coluna, valid=0, mantém o estado. Não confunda a quantidade de colunas de clock com os movimentos de q.

Quatro bordas e três aceitações
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
valid101.
din10.1
entradas aceitas2.341 → 2 → 3
q depois2.34001 → 010 → 101

Problema adicional

Ao ampliar para um pipelinePipeline Estrutura que divide o cálculo em estágios separados por registradores para processar várias entradas de forma sobreposta. Dados, valid e controles devem permanecer alinhados entre os estágios. Saiba mais com dados de oito bits por entrada, é incorreto colocar três estágios de dados e atrasar valid apenas um. Aplique as mesmas regras de avanço ou projete em conjunto aceitação e entrega de um buffer que possa parar.

Experimente

Se o circuito deslocar em cada borda independentemente de valid, como muda o q final da sequência?

Ler a explicação

Ele também armazena din=0 do ciclo inválido: 001 → 010 → 100 → 001. Termina em 001, diferente de 101 no projeto que move apenas entradas válidas. A implementação deve respeitar o contrato de ignorar dados inválidos.

Ao aplicar a sequência com valid descrita, quais são o q final e a quantidade real de deslocamentos?

Escolha uma resposta

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