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 decoder (kod çözücü), girdi olarak bir ikili sayı alır ve bu sayıya göre tam olarak bir çıkışı aktif (1) hale getirir. Aktifleşen çıkış "one-hot" olarak adlandırılır çünkü sadece tek bir bit sıcaktır (1) ve diğer tüm `others` soğuktur (0).

Doğruluk Tablosu (2-to-4 Decoder)

Input (in)out0out1out2out3
001000
010100
100010
110001

Modül Arayüzü

PortYönGenişlikAçıklama
ininput2 bitİkili girdi (0 - 3)
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ılacaklar:

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

Kendin dene

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