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 basada en ese número. La salida que se activa se llama "one-hot" porque solo un bit está caliente (1) y todos los demás están fríos (0).

Tabla de Verdad (Decodificador de 2 a 4)

Entrada (in)out0out1out2out3
001000
010100
100010
110001

Interfaz del Módulo

PuertoDirecciónAnchoDescripción
ininput2 bitsEntrada binaria (0 a 3)
out0output1 bitActivo cuando in = 00
out1output1 bitActivo cuando in = 01
out2output1 bitActivo cuando in = 10
out3output1 bitActivo cuando in = 11

Tu tarea es completar el módulo a continuación utilizando una sentencia case.

Qué hacer:

  1. Cuando in = 2'b00, out0 = 1, todos los demás 0
  2. Cuando in = 2'b01, out1 = 1, todos los demás 0
  3. Cuando in = 2'b10, out2 = 1, todos los demás 0
  4. Cuando in = 2'b11, out3 = 1, todos los demás 0

Pruébalo tú mismo

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Agregar 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