Diseño de Mux 2 a 1
Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 64 de 90.
Desafío
Un multiplexor (MUX) es un circuito digital que selecciona una de varias entradas y la reenvía a una sola salida basándose en una señal de selección. Piensa en él como un selector de datos: tienes múltiples entradas llegando y eliges cuál va hacia la salida.
En este proyecto, construirás multiplexores de diferentes tamaños utilizando sentencias if-else y case.
Multiplexor de 2 a 1
El multiplexor de 2 a 1 es la forma más simple. Tiene dos entradas de datos (in0 e in1), una entrada de selección (sel) y una salida (out). Cuando sel es 0, la salida sigue a in0. Cuando sel es 1, la salida sigue a in1. Implementarás esto utilizando una sentencia if-else dentro de un bloque always @(*).
Ejemplo: Si in0 = 0, in1 = 1 y sel = 1, después out = 1.
Un multiplexor de 2 a 1 selecciona una de dos entradas y la pasa a la salida basándose en una señal de selección.
Tabla de verdad
| sel | out |
|---|---|
| 0 | out = in0 |
| 1 | out = in1 |
Cuando sel es 0, la salida sigue a in0. Cuando sel es 1, la salida sigue a in1.
Qué hacer:
- Crea un módulo llamado
mux2to1 - Añade la entrada
in0(1 bit) - Añade la entrada
in1(1 bit) - Añade la entrada
sel(1 bit) - Añade la salida
out(1 bit, tiporeg) - Añade un bloque
always @(*) - Dentro, añade una sentencia
if-else:- Si
sel == 0, estableceout = in0 - Si no, establece
out = in1
- Si
- Cierra con
endmodule
Pruébalo tú mismo
// Paso 1: Crear módulo llamado mux2to1
// Paso 2: Añadir entrada in0
// Paso 3: Añadir entrada in1
// Paso 4: Añadir entrada sel
// Paso 5: Añadir salida out (tipo reg)
// Paso 6: Añadir bloque always @(*)
// Paso 7: Añadir sentencia if-else
// Si sel == 0, out = in0
// Si no, out = in1
// Paso 8: 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