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 que é ativada é chamada de "one-hot" porque apenas um bit está quente (1), e todos os outros estão frios (0).

Tabela Verdade (Decodificador 2 para 4)

Entrada (in)out0out1out2out3
001000
010100
100010
110001

Interface do Módulo

PortaDireçãoLarguraDescrição
ininput2 bitsEntrada binária (0 a 3)
out0output1 bitAtiva quando in = 00
out1output1 bitAtiva quando in = 01
out2output1 bitAtiva quando in = 10
out3output1 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, todos os outros 0
  2. Quando in = 2'b01, out1 = 1, todos os outros 0
  3. Quando in = 2'b10, out2 = 1, todos os outros 0
  4. Quando in = 2'b11, out3 = 1, todos os outros 0

Experimente você mesmo

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