Menu
Coddy logo textTech

Decoder Design

Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 85 de 90.

challenge icon

Desafio

Um decoder recebe um número binário como input e ativa exatamente um output com base nesse número. O output que é ativado é chamado de "one-hot" porque apenas um bit está quente (1), e todos os others estão frios (0).

Tabela-verdade (decoder de 2 para 4)

Input (in)out0out1out2out3
001000
010100
100010
110001

Interface do module

PortaDireçãoLarguraDescrição
ininput2 bitsinput binário (0 a 3)
out0output1 bitAtivo quando in = 00
out1output1 bitAtivo quando in = 01
out2output1 bitAtivo quando in = 10
out3output1 bitAtivo quando in = 11

Sua tarefa é completar o module abaixo usando uma instrução case.

O que fazer:

  1. Quando in = 2'b00, out0 = 1, todos os others 0
  2. Quando in = 2'b01, out1 = 1, todos os others 0
  3. Quando in = 2'b10, out2 = 1, todos os others 0
  4. Quando in = 2'b11, out3 = 1, todos os others 0

Experimente você mesmo

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Adicione o bloco always @(*) com case (in)
  // 2'b00: out0=1, outros 0
  // 2'b01: out1=1, outros 0
  // 2'b10: out2=1, outros 0
  // 2'b11: out3=1, outros 0

endmodule

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Verilog online