Menu
Coddy logo textTech

Özet - ALU Tasarımı

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

challenge icon

Görev

Bir ALU (Aritmetik Mantık Birimi), iki girdi alan, bunlar üzerinde bir işlem gerçekleştiren ve tek bir çıktı üreten dijital bir devredir. Bir seçme sinyaline göre iki girdi üzerinde aritmetik ve mantıksal işlemler yürütür. select sinyali yürütülecek bir işlemi seçer.

Nasıl çalışır

selectİşlemÇıktı
2'b00Toplamaa + b
2'b01Çıkarmaa - b
2'b10Bitsel ANDa & b
2'b11Bitsel ORa | b

Bir case ifadesi kullanarak basit bir ALU oluşturun.

Yapılacaklar:

  1. alu adında bir modül oluşturun
  2. Girdileri ekleyin: a (4-bit), b (4-bit), select (2-bit)
  3. Çıktıyı ekleyin: result (4-bit, reg türünde)
  4. Bir always @(*) bloğu ekleyin
  5. İçine bir case (select) statement ekleyin
  6. 2'b00, 2'b01, 2'b10, 2'b11 için dört durum ekleyin
  7. result = 0 olarak ayarlamak için bir default durumu ekleyin
  8. endcase ve endmodule ile kapatın

Kendin dene

// TODO: alu modülünü oluştur 

  // TODO: Girdileri ekle (a, b, select)
  
  // TODO: Çıktıyı ekle (result)

  // TODO: always @(*) bloğunu ekle
  
  // TODO: case (select) ekle
  
  // TODO: case 2'b00: result = a + b; ekle
  
  // TODO: case 2'b01: result = a - b; ekle
  
  // TODO: case 2'b10: result = a & b; ekle
  
  // TODO: case 2'b11: result = a | b; ekle
  
  // TODO: default: result = 0; ekle
  
  // TODO: endcase ekle

// TODO: endmodule ekle

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