Menu
Coddy logo textTech

Diseño de decodificador

Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 85 de 90.

challenge icon

Desafío

Un decodificador toma un número binario como entrada y activa exactamente una salida según ese número. La salida que se activa se llama «one-hot» porque solo un bit está activo (1) y todos los demás están inactivos (0).

Tabla de verdad (decodificador de 2 a 4)

Entrada (in)out0out1out2out3
001000
010100
100010
110001

Interfaz del módulo

PuertoDirecciónAnchuraDescripción
inentrada2 bitsEntrada binaria (0 a 3)
out0salida1 bitActivo cuando in = 00
out1salida1 bitActivo cuando in = 01
out2salida1 bitActivo cuando in = 10
out3salida1 bitActivo cuando in = 11

Tu tarea es completar el módulo siguiente usando una instrucción case.

Qué hacer:

  1. Cuando in = 2'b00, out0 = 1 y todas las demás salidas son 0
  2. Cuando in = 2'b01, out1 = 1 y todas las demás salidas son 0
  3. Cuando in = 2'b10, out2 = 1 y todas las demás salidas son 0
  4. Cuando in = 2'b11, out3 = 1 y todas las demás salidas son 0

Pruébalo tú mismo

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Añade el bloque always @(*) con case (in)
  // 2'b00: out0=1, otros 0
  // 2'b01: out1=1, otros 0
  // 2'b10: out2=1, otros 0
  // 2'b11: out3=1, otros 0

endmodule

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Verilog online