Repaso: enrutador de solicitudes
Parte de la sección Diseño y verificación RTL del Journey de Verilog de Coddy. Lección 5 de 38.
Desafío
IntermedioAcepta una solicitud de 4 bits solo si exactamente un bit está establecido. Cuando sea válida, muestra el índice del bit seleccionado en code y establece valid. Para solicitudes inactivas o múltiples, tanto code como valid son cero. Columnas de salida: code, valid. Todos los valores de estímulo son valores binarios conocidos.
Completa design.v y conserva los nombres de sus módulos y puertos. El archivo bloqueado testbench.v proporciona cambios de entrada e imprime las salidas una vez 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 [3:0] req, output reg [1:0] code, output reg valid);
// Reemplaza este marcador de posición con tu diseño.
initial code = 0;
initial 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 signoPractica por tu cuenta: Compilador de Verilog online