Menu
Coddy logo textTech

2 To 1 Mux Design

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 envía a una única salida basándose en una señal de selección. Piensa en él como un selector de datos. Tienes varias entradas y eliges cuál se dirige a la salida.

En este proyecto, construirás multiplexores de diferentes tamaños usando sentencias if-else y case.

Multiplexor de 2 a 1

El multiplexor de 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, 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. Create un módulo named mux2to1
  2. Add la entrada in0 (1 bit)
  3. Add la entrada in1 (1 bit)
  4. Add la entrada sel (1 bit)
  5. Add la salida out (1 bit, type reg)
  6. Add un bloque always @(*)
  7. Dentro, Add una sentencia if-else:
    • Si sel == 0, establece out = in0
    • Else, establece out = in1
  8. Cierra con endmodule

Pruébalo tú mismo

// Paso 1: Crear módulo llamado mux2to1


  // Paso 2: Añadir input in0
  
  // Paso 3: Añadir input in1
  
  // Paso 4: Añadir input sel
  
  // Paso 5: Añadir output out (tipo reg)
  

  // Paso 6: Añadir bloque always @(*)
  

    // Paso 7: Añadir sentencia if-else
    // Si sel == 0, out = in0
    // Else, out = in1
    

// Paso 8: Endmodule

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Verilog online