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údos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar