Menu
Coddy logo textTech

Conception de décodeur

Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 85 sur 90.

challenge icon

Défi

Un décodeur prend un nombre binaire en entrée et active exactement une sortie basée sur ce nombre. La sortie qui s'active est appelée "one-hot" car un seul bit est chaud (1), et tous les autres sont froids (0).

Table de Vérité (Décodeur 2-vers-4)

Entrée (in)out0out1out2out3
001000
010100
100010
110001

Interface du Module

PortDirectionLargeurDescription
ininput2 bitsEntrée binaire (0 à 3)
out0output1 bitActif quand in = 00
out1output1 bitActif quand in = 01
out2output1 bitActif quand in = 10
out3output1 bitActif quand in = 11

Votre tâche est de compléter le module ci-dessous en utilisant une instruction case.

Ce qu'il faut faire :

  1. Quand in = 2'b00, out0 = 1, tous les autres à 0
  2. Quand in = 2'b01, out1 = 1, tous les autres à 0
  3. Quand in = 2'b10, out2 = 1, tous les autres à 0
  4. Quand in = 2'b11, out3 = 1, tous les autres à 0

Essayez vous-même

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Ajouter un bloc always @(*) avec case (in)
  // 2'b00: out0=1, les autres 0
  // 2'b01: out1=1, les autres 0
  // 2'b10: out2=1, les autres 0
  // 2'b11: out3=1, les autres 0

endmodule

Toutes les leçons de Fondamentaux