Menu
Coddy logo textTech

Desafio - Pipeline de Paridade

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

challenge icon

Desafio

Médio

Construa um pipeline de paridade de dois estágios. Primeiro, capture os dados do byte e in_valid. Na borda seguinte que não seja de reset, a paridade de saída será o XOR de redução do byte capturado anteriormente quando o valor válido anterior estiver alto; caso contrário, será zero. out_valid é esse valor válido atrasado. O rst síncrono limpa ambos os estágios e as saídas. Colunas de saída: parity, out_valid. Todos os controles e dados permanecem estáveis antes de cada borda de subida do clock; os resultados são observados depois dela.

Complete design.v e preserve os nomes e as portas do módulo. O testbench.v bloqueado fornece as alterações de entrada e imprime as saídas depois que elas se estabilizam. 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 encerramento da simulação ao design. A saída esperada é uma linha de valores decimais por observação, separados por um espaço e terminados por uma nova linha.

Experimente você mesmo

module dut (input clk, input rst, input in_valid, input [7:0] data, output reg parity, output reg out_valid);
    // Substitua este placeholder pelo seu design.
    initial parity = 0;
    initial out_valid = 0;
endmodule

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

Pratique por conta própria: Compilador de Verilog online