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 multiplexer (MUX), birden fazla girdiden birini seçen ve bir seçim sinyaline göre onu tek bir çıktıya yönlendiren dijital bir devredir. Bunu bir veri seçici gibi düşünebilirsiniz — gelen birden fazla girdiniz vardır ve hangisinin çıktıya gideceğini seçersiniz.

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

2-to-1 Multiplexer

2-to-1 multiplexer en basit formdur. İki veri girdisi (in0 ve in1), bir seçim girdisi (sel) ve bir çıktısı (out) vardır. sel 0 olduğunda çıktı in0 değerini takip eder. sel 1 olduğunda çıktı in1 değerini takip eder. Bunu bir always @(*) bloğu içinde if-else ifadesi kullanarak uygulayacaksınız.

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

Bir 2-to-1 multiplexer, iki girdiden birini seçer ve bir seçim sinyaline dayanarak onu çıktıya iletir.

Truth Table

 

selout
0out = in0
1out = in1

sel 0 olduğunda çıktı in0 değerini takip eder. sel 1 olduğunda çıktı in1 değerini takip eder.

Yapılacaklar:

  1. mux2to1 adında bir module oluşturun
  2. in0 girdisini ekleyin (1 bit)
  3. in1 girdisini ekleyin (1 bit)
  4. sel girdisini ekleyin (1 bit)
  5. out çıktısını ekleyin (1 bit, type reg)
  6. Bir always @(*) bloğu ekleyin
  7. İçine bir if-else ifadesi ekleyin:
    • Eğer sel == 0 ise, out = in0 olarak ayarlayın
    • Aksi halde (else), out = in1 olarak ayarlayın
  8. endmodule ile kapatın

Kendin dene

// Adım 1: mux2to1 adlı modülü oluştur


  // Adım 2: in0 girdisini ekle
  
  // Adım 3: in1 girdisini ekle
  
  // Adım 4: sel girdisini ekle
  
  // Adım 5: out çıktısını ekle (reg tipi)
  

  // Adım 6: always @(*) bloğunu ekle
  

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

// Adım 8: Endmodule

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