Uso de la sentencia Case
Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 66 de 90.
Desafío
Construye un multiplexor de 4 a 1 usando una sentencia case en lugar de if-else.
Tabla de Verdad
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
Qué hacer:
- Crea un módulo llamado
mux4to1_case - Añade las entradas
in0,in1,in2,in3(de 1 bit cada una) - Añade la entrada
sel(de 2 bits) - Añade la salida
out(de 1 bit, tiporeg) - Añade un bloque
always @(*) - En su interior, añade una sentencia
case (sel) - Añade casos para
2'b00,2'b01,2'b10,2'b11 - Añade un caso
default - Cierra con
endcaseyendmodule
Pruébalo tú mismo
// TODO: Crear un módulo llamado mux4to1_case
// TODO: Añadir entradas: in0, in1, in2, in3 (1 bit cada una)
// TODO: Añadir entrada sel (2 bits)
// TODO: Añadir salida out (tipo reg)
// TODO: Añadir bloque always @(*)
// TODO: Añadir case (sel)
// TODO: Añadir caso 2'b00: out = in0;
// TODO: Añadir caso 2'b01: out = in1;
// TODO: Añadir caso 2'b10: out = in2;
// TODO: Añadir caso 2'b11: out = in3;
// TODO: Añadir default: out = in0;
// TODO: Añadir endcase
// TODO: Añadir endmoduleTodas las lecciones de Fundamentos
1Introducción
¿Qué es Verilog?Hardware vs SoftwareNiveles de abstracción de diseñoTu primer móduloComentarios4Operadores Parte 1
Operadores aritméticosOperador de móduloOperadores de comparaciónRepaso - Matemáticas simplesOperadores bit a bit7Asignación y Compuertas
Asignación ContinuaAsignación con OperadoresPrimitivas de Compuertas IntegradasCompuertas AND OR NOTCompuertas XOR XNORResumen - Circuito de Compuertas Lógicas10Toma de decisiones
Sentencia IfIf - ElseRepaso - Comparador simpleSentencia CaseCasex y CasezRepaso - Diseño de ALU5Operadores Parte 2
Operadores lógicosOperadores de reducciónOperadores de desplazamientoOperador de concatenaciónOperador condicionalResumen - Desafío de operadores3Sistema de numeración
Representación binariaNúmeros con tamaño definidoNúmeros sin tamaño definidoNúmeros negativosValores especiales X y ZResumen - Formatos de números6Módulos
Estructura del móduloPuertos de entrada y salidaPuertos InoutInstanciación de módulosMapeo de puertos por nombreMapeo de puertos por ordenResumen: Construye un módulo