Menu
Coddy logo textTech

Projektowanie dekodera

Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 85 z 90.

challenge icon

Wyzwanie

Dekoder przyjmuje na wejściu liczbę binarną i włącza dokładnie jedno wyjście na podstawie tej liczby. Włączone wyjście nazywa się „one-hot”, ponieważ tylko jeden bit jest aktywny (1), a wszystkie pozostałe są nieaktywne (0).

Tablica prawdy (dekoder 2-do-4)

Wejście (in)out0out1out2out3
001000
010100
100010
110001

Interfejs modułu

PortKierunekSzerokośćOpis
inwejście2 bityWejście binarne (od 0 do 3)
out0wyjście1 bitAktywne, gdy in = 00
out1wyjście1 bitAktywne, gdy in = 01
out2wyjście1 bitAktywne, gdy in = 10
out3wyjście1 bitAktywne, gdy in = 11

Twoim zadaniem jest uzupełnienie poniższego modułu za pomocą instrukcji case.

Co należy zrobić:

  1. Gdy in = 2'b00, out0 = 1, wszystkie pozostałe 0
  2. Gdy in = 2'b01, out1 = 1, wszystkie pozostałe 0
  3. Gdy in = 2'b10, out2 = 1, wszystkie pozostałe 0
  4. Gdy in = 2'b11, out3 = 1, wszystkie pozostałe 0

Spróbuj swoich sił

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Dodaj blok always @(*) z case (in)
  // 2'b00: out0=1, pozostałe 0
  // 2'b01: out1=1, pozostałe 0
  // 2'b10: out2=1, pozostałe 0
  // 2'b11: out3=1, pozostałe 0

endmodule

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Verilog online