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 instrucción 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(2 bits) - Añade la salida
out(1 bit, de tiporeg) - Añade un bloque
always @(*) - Dentro, añade una instrucción
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 el 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 case 2'b00: out = in0;
// TODO: Añadir case 2'b01: out = in1;
// TODO: Añadir case 2'b10: out = in2;
// TODO: Añadir case 2'b11: out = in3;
// TODO: Añadir default: out = in0;
// TODO: Añadir endcase
// TODO: Añade endmoduleTodas las lecciones de Fundamentos
1Introducción
Qué es VerilogHardware frente a softwareTu primer móduloComentariosNiveles de abstracción del diseño4Operadores, parte 1
Operadores aritméticosOperador móduloOperadores de comparaciónRepaso: matemáticas simplesOperadores bit a bit7Asignaciones y compuertas
Asignación continuaAsignación con operadoresPrimitivas de compuertas integradasCompuertas AND, OR y NOTCompuertas XOR y XNORRepaso: 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 condicionalRepaso: desafío de operadores11Bucles
Bucle ForBucle WhileBucle de repeticiónBucle infinitoInstrucción DisableRepaso: patrones de bucles3Sistema numérico
Representación binariaNúmeros con tamañoNúmeros sin tamañoNúmeros negativosValores especiales X y ZRepaso: formatos numéricos6Módulos
Estructura de módulosPuertos de entrada y salidaPuertos inoutInstanciación de módulosAsignación de puertos por nombreAsignación de puertos por ordenRepaso: construir un móduloPractica por tu cuenta: Compilador de Verilog online