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.
Desafío
IntermedioConstruye 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;
endmoduleTodas las lecciones de Diseño y verificación RTL
1RTL combinacional confiable
Los valores predeterminados evitan los latchesCodificadores de prioridadValidación one-hotDecodificación segura de caseRepaso: enrutador de solicitudes4RTL secuencial controlado
Prioridad de reinicio y habilitaciónContadores con saturaciónPipeline de datos y validaciónDetección de flancos muestreadosRepaso: contador de eventos7Proyecto - Monitor de muestras
Acumular muestrasAceptar muestras habilitadas2Anchos y aritmética con signo
Conservar los bits de acarreoComparaciones con signoDesplazamientos aritméticos a la derechaDesbordamiento y saturaciónRepaso: diferencia con signo5Memoria y tablas de consulta
Tablas ROM combinacionalesAlmacenamiento en matriz de registrosPuertos de lectura registradosReenvío de lectura-escrituraRepaso: banco de doble lectura8Desafíos finales
Desafío - Canalización de paridadDesafío - Eventos de patronesDesafío - Suma acotadaPractica por tu cuenta: Compilador de Verilog online