Menu
Coddy logo textTech

Decoder Design

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

challenge icon

Desafío

Un decoder toma un número binario como input y activa exactamente un output según ese número. El output 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 (decoder de 2 a 4)

Entrada (in)out0out1out2out3
001000
010100
100010
110001

Interfaz del module

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 module de abajo usando una instrucción case.

Qué hacer:

  1. Cuando in = 2'b00, out0 = 1 y todos los demás others son 0
  2. Cuando in = 2'b01, out1 = 1 y todos los demás others son 0
  3. Cuando in = 2'b10, out2 = 1 y todos los demás others son 0
  4. Cuando in = 2'b11, out3 = 1 y todos los demás others 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