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 única salida basándose en una señal de selección. Piénsalo como un selector de datos: tienes múltiples entradas que llegan y eliges cuál de ellas va a la salida.
En este proyecto, construirás multiplexores de diferentes tamaños utilizando sentencias if-else y case.
Multiplexor 2 a 1
El multiplexor 2 a 1 es la forma más sencilla. Tiene dos entradas de datos (in0 y 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 usando una sentencia if-else dentro de un bloque always @(*).
Ejemplo: Si in0 = 0, in1 = 1 y sel = 1, entonces out = 1.
Un multiplexor 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 - Agrega la entrada
in0(1 bit) - Agrega la entrada
in1(1 bit) - Agrega la entrada
sel(1 bit) - Agrega la salida
out(1 bit, tiporeg) - Agrega un bloque
always @(*) - En el interior, agrega una sentencia
if-else:- Si
sel == 0, estableceout = in0 - De lo contrario, establece
out = in1
- Si
- Cierra con
endmodule
Pruébalo tú mismo
// Paso 1: Crear el módulo llamado mux2to1
// Paso 2: Agregar la entrada in0
// Paso 3: Agregar la entrada in1
// Paso 4: Agregar la entrada sel
// Paso 5: Agregar la salida out (tipo reg)
// Paso 6: Agregar el bloque always @(*)
// Paso 7: Agregar la sentencia if-else
// Si sel == 0, out = in0
// De lo contrario, 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