Menu
Coddy logo textTech

Decoder Design

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

challenge icon

Défi

Un decoder prend un nombre binaire comme input et active exactement one output en fonction de ce nombre. L'output qui s'active est appelé "one-hot", car un seul bit est actif (1) et tous les others sont inactifs (0).

Table de vérité (decoder 2 vers 4)

Input (in)out0out1out2out3
001000
010100
100010
110001

Interface du module

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

Ta tâche consiste à compléter le module ci-dessous à l'aide d'une instruction case.

À faire :

  1. Lorsque in = 2'b00, out0 = 1, tous les others à 0
  2. Lorsque in = 2'b01, out1 = 1, tous les others à 0
  3. Lorsque in = 2'b10, out2 = 1, tous les others à 0
  4. Lorsque in = 2'b11, out3 = 1, tous les others à 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

Entraînez-vous par vous-même : Compilateur Verilog en ligne