Menu
Coddy logo textTech

Decoder-Design

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 85 von 90.

challenge icon

Aufgabe

Ein decoder nimmt eine Binärzahl als Eingabe entgegen und schaltet basierend auf dieser Zahl genau einen Ausgang ein. Der Ausgang, der eingeschaltet wird, wird als "One-Hot" bezeichnet, da nur ein Bit "hot" (1) ist und alle others "cold" (0) sind.

Wahrheitstabelle (2-zu-4-Decoder)

Eingabe (in)out0out1out2out3
001000
010100
100010
110001

Modulschnittstelle

PortRichtungBreiteBeschreibung
ininput2 BitsBinäreingabe (0 bis 3)
out0output1 BitAktiv, wenn in = 00
out1output1 BitAktiv, wenn in = 01
out2output1 BitAktiv, wenn in = 10
out3output1 BitAktiv, wenn in = 11

Ihre Aufgabe ist es, das unten stehende module mithilfe einer case-Anweisung zu vervollständigen.

Was zu tun ist:

  1. Wenn in = 2'b00, out0 = 1, alle anderen 0
  2. Wenn in = 2'b01, out1 = 1, alle anderen 0
  3. Wenn in = 2'b10, out2 = 1, alle anderen 0
  4. Wenn in = 2'b11, out3 = 1, alle anderen 0

Probier es selbst

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Füge always @(*)-Block mit case (in) hinzu
  // 2'b00: out0=1, andere 0
  // 2'b01: out1=1, andere 0
  // 2'b10: out2=1, andere 0
  // 2'b11: out3=1, andere 0

endmodule

Alle Lektionen in Grundlagen