Menu
Coddy logo textTech

Decoder Design

Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası. Ders 85 / 90.

challenge icon

Görev

Bir decoder, input olarak ikili bir sayı alır ve bu sayıya göre tam olarak one output değerini etkinleştirir. Etkinleşen output, yalnızca bir bit sıcak (1) ve diğer tüm bitler soğuk (0) olduğu için "one-hot" olarak adlandırılır.

Doğruluk Tablosu (2'den 4'e Decoder)

input (in)out0out1out2out3
001000
010100
100010
110001

Module Arayüzü

PortYönGenişlikAçıklama
ininput2 bitİkili input (0'dan 3'e)
out0output1 bitin = 00 olduğunda etkin
out1output1 bitin = 01 olduğunda etkin
out2output1 bitin = 10 olduğunda etkin
out3output1 bitin = 11 olduğunda etkin

Görevin, aşağıdaki module'ü bir case ifadesi kullanarak tamamlamaktır.

Yapılacaklar:

  1. in = 2'b00 olduğunda, out0 = 1, diğerlerinin tümü 0
  2. in = 2'b01 olduğunda, out1 = 1, diğerlerinin tümü 0
  3. in = 2'b10 olduğunda, out2 = 1, diğerlerinin tümü 0
  4. in = 2'b11 olduğunda, out3 = 1, diğerlerinin tümü 0

Kendin dene

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: always @(*) bloğunu case (in) ile ekle
  // 2'b00: out0=1, diğerleri 0
  // 2'b01: out1=1, diğerleri 0
  // 2'b10: out2=1, diğerleri 0
  // 2'b11: out3=1, diğerleri 0

endmodule

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi