Menu
Coddy logo textTech

Kod Çözücü Tasarımı

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

challenge icon

Görev

Bir kod çözücü (decoder), giriş olarak bir ikili sayı alır ve bu sayıya bağlı olarak tam olarak bir çıkışı aktif hale getirir. Aktifleşen çıkışa "one-hot" denir çünkü sadece bir bit sıcak (1) ve diğerleri soğuktur (0).

Doğruluk Tablosu (2'den 4'e Kod Çözücü)

Giriş (in)out0out1out2out3
001000
010100
100010
110001

Modül Arayüzü

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

Göreviniz, bir case ifadesi kullanarak aşağıdaki modülü tamamlamaktır.

Yapılması gerekenler:

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

Kendin dene

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: case (in) içeren bir always @(*) bloğu ekleyin
  // 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