Pronto pessoal, aqui está a cópia segura 👇


A questão está na lista de sensibilidade: negedge d está incorreto para um flip-flop D simples. Um flip-flop D padrão deve capturar o valor de d apenas na borda de subida do clk, portanto a lista de sensibilidade deve incluir apenas posedge clk. Incluir negedge d faz o bloco disparar quando d cai, o que não é o comportamento normal de um flip-flop D. O código corrigido é: always @(posedge clk) begin q <= d; end. Isso garante que q seja atualizado apenas na borda de subida do clock, implementando corretamente um flip-flop D síncrono.
Se quiser uma versão super rápida (para entrar rápido na coluna):
O problema é negedge d na lista de sensibilidade. Um flip-flop D simples deve disparar apenas na posedge clk, não quando d muda. O código correto é always @(posedge clk) begin q <= d; end. Isso faz com que q capture d apenas na borda de subida do clock.
Envie a próxima questão novamente, pessoal, eu faço uma cópia e cola tudo 🚀
Ver original
post-image
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
Adicionar um comentário
Adicionar um comentário
Sem comentários
  • Marcar