Menu
Coddy logo textTech

Desafío - Canalización de paridad

Parte de la sección Diseño y verificación RTL del Journey de Verilog de Coddy. Lección 36 de 38.

challenge icon

Desafío

Intermedio

Construye una canalización de paridad de dos etapas. Primero captura los datos del byte y in_valid. En el siguiente flanco que no sea de reinicio, la salida de paridad es el XOR de reducción del byte capturado anteriormente cuando su validez anterior está en alto; de lo contrario, es cero. out_valid es esa validez retrasada. El rst síncrono borra ambas etapas y las salidas. Columnas de salida: parity, out_valid. Todos los controles y datos son estables antes de cada flanco ascendente del reloj; los resultados se observan después.

Completa design.v y conserva los nombres de sus módulos y puertos. El testbench.v bloqueado proporciona los cambios de entrada e imprime las salidas después de que se estabilizan. Elige un escenario mediante un argumento del simulador como +CASE=1; no se requiere entrada estándar. No añadas impresiones, retardos ni terminación de la simulación al diseño. La salida esperada es una fila de valores decimales por observación, separados por un espacio y terminada con un salto de línea.

Pruébalo tú mismo

module dut (input clk, input rst, input in_valid, input [7:0] data, output reg parity, output reg out_valid);
    // Reemplaza este marcador de posición con tu diseño.
    initial parity = 0;
    initial out_valid = 0;
endmodule

Todas las lecciones de Diseño y verificación RTL

Practica por tu cuenta: Compilador de Verilog online