Menu
Coddy logo textTech

Prioridade de Reset e Enable

Parte da seção Design e Verificação RTL do Journey de Verilog da Coddy. Lição 16 de 38.

Um bloco sincronizado por clock pode manter um registrador omitindo uma atribuição nas bordas desabilitadas. Esse armazenamento intencional é diferente de um latch combinacional acidental. Escreva uma prioridade explícita entre reset, load e enable. Aqui, os resets são síncronos: eles entram em vigor somente na borda de subida do clock.

Trecho relevante; as declarações e conexões ao redor são fornecidas no desafio.

always @(posedge clk) begin
    if(rst) q <= 0;
    else if(en) q <= data;
end

O reset prevalece quando ambos os controles estão ativos, e as bordas desabilitadas que não são de reset mantêm q.

Use uma cadeia de prioridades sincronizada e defina precisamente o comportamento de redefinição, carregamento, habilitação e retenção.

challenge icon

Desafio

Médio

Implemente um registrador de 8 bits q com reset síncrono ativo em alto rst e enable en. Em uma borda de subida, o reset tem prioridade e zera q; caso contrário, bordas habilitadas carregam a; bordas desabilitadas mantêm q. Colunas de saída: q. Todos os controles e dados estão estáveis antes de cada borda de subida do clock; os resultados são observados depois.

Complete design.v e preserve seus nomes de módulos e portas. O testbench.v bloqueado fornece mudanças de entrada e imprime as saídas após elas se estabilizarem. Ele escolhe um cenário usando um argumento do simulador como +CASE=1; nenhuma entrada padrão é necessária. Não adicione impressão, atrasos ou terminação de simulação ao design. A saída esperada é uma linha de valores decimais por observação, separados por um espaço e terminando com uma nova linha.

Experimente você mesmo

module dut (input clk, input rst, input en, input [7:0] a, output reg [7:0] q);
    // Substitua este placeholder pelo seu design.
    initial q = 0;
endmodule
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Design e Verificação RTL

Pratique por conta própria: Compilador de Verilog online