Menu
Coddy logo textTech

2'ye 1 Mux Tasarımı

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

challenge icon

Görev

Bir multiplekser (MUX), bir seçim sinyaline dayanarak birkaç girişten birini seçen ve onu tek bir çıkışa ileten dijital bir devredir. Bunu bir veri seçici gibi düşünün; gelen birden fazla girişiniz vardır ve hangisinin çıkışa gideceğini seçersiniz.

Bu projede, if-else ve case ifadelerini kullanarak farklı boyutlarda multiplekserler oluşturacaksınız.

2'ye 1 Multiplekser

2'ye 1 multiplekser en basit formdur. İki veri girişine (in0 ve in1), bir seçim girişine (sel) ve bir çıkışa (out) sahiptir. sel 0 olduğunda, çıkış in0'ı takip eder. sel 1 olduğunda, çıkış in1'i takip eder. Bunu bir always @(*) bloğu içindeki bir if-else ifadesini kullanarak uygulayacaksınız.

Örnek: Eğer in0 = 0, in1 = 1 ve sel = 1 ise, o zaman out = 1 olur.

2'ye 1 multiplekser, iki girişten birini seçer ve bir seçim sinyaline göre çıkışa aktarır.

Doğruluk Tablosu

 

selout
0out = in0
1out = in1

sel 0 olduğunda, çıkış in0'ı takip eder. sel 1 olduğunda, çıkış in1'i takip eder.

Yapılması gerekenler:

  1. mux2to1 adında bir modül oluşturun
  2. in0 girişini ekleyin (1 bit)
  3. in1 girişini ekleyin (1 bit)
  4. sel girişini ekleyin (1 bit)
  5. out çıkışını ekleyin (1 bit, reg türünde)
  6. Bir always @(*) bloğu ekleyin
  7. İçine bir if-else ifadesi ekleyin:
    • Eğer sel == 0 ise, out = in0 olarak ayarlayın
    • Aksi takdirde, out = in1 olarak ayarlayın
  8. endmodule ile kapatın

Kendin dene

// Adım 1: mux2to1 adında modül oluşturun


  // Adım 2: in0 girişini ekleyin
  
  // Adım 3: in1 girişini ekleyin
  
  // Adım 4: sel girişini ekleyin
  
  // Adım 5: out çıkışını ekleyin (reg tipi)
  

  // Adım 6: always @(*) bloğu ekleyin
  

    // Adım 7: if-else ifadesi ekleyin
    // Eğer sel == 0 ise, out = in0
    // Değilse, out = in1
    

// Adım 8: Endmodule

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