Menu
Coddy logo textTech

Projeto de Decodificador

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

challenge icon

Desafio

Um decodificador recebe um número binário como entrada e ativa exatamente uma saída com base nesse número. A saída ativada é chamada de "one-hot" porque apenas um bit está ativo (1), e todos os outros estão inativos (0).

Tabela-verdade (decodificador de 2 para 4)

Entrada (in)out0out1out2out3
001000
010100
100010
110001

Interface do módulo

PortaDireçãoLarguraDescrição
inentrada2 bitsEntrada binária (0 a 3)
out0saída1 bitAtiva quando in = 00
out1saída1 bitAtiva quando in = 01
out2saída1 bitAtiva quando in = 10
out3saída1 bitAtiva quando in = 11

Sua tarefa é completar o módulo abaixo usando uma instrução case.

O que fazer:

  1. Quando in = 2'b00, out0 = 1, todas as outras 0
  2. Quando in = 2'b01, out1 = 1, todas as outras 0
  3. Quando in = 2'b10, out2 = 1, todas as outras 0
  4. Quando in = 2'b11, out3 = 1, todas as outras 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