Menu
Coddy logo textTech

Diseño de Mux 2 a 1

Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 64 de 90.

challenge icon

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

 

selout
0out = in0
1out = in1

Cuando sel es 0, la salida sigue a in0. Cuando sel es 1, la salida sigue a in1.

Qué hacer:

  1. Crea un módulo llamado mux2to1
  2. Añade la entrada in0 (1 bit)
  3. Añade la entrada in1 (1 bit)
  4. Añade la entrada sel (1 bit)
  5. Añade la salida out (1 bit, tipo reg)
  6. Añade un bloque always @(*)
  7. Dentro, añade una sentencia if-else:
    • Si sel == 0, establece out = in0
    • Si no, establece out = in1
  8. 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: Endmodule

Todas las lecciones de Fundamentos