Menu
Coddy logo textTech

Recap - ALU Design

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 bir çıktı üreten dijital bir devredir. Bir seçim sinyaline göre iki girdi üzerinde aritmetik ve mantık işlemleri gerçekleştirir. 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'b10Bit düzeyinde ANDa & b
2'b11Bit düzeyinde ORa | b

Bir case ifadesi kullanarak basit bir ALU oluşturun.

Yapılacaklar:

  1. alu adlı bir module 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 @(*) block ekleyin
  5. İçine bir case (select) ifadesi ekleyin
  6. 2'b00, 2'b01, 2'b10, 2'b11 için dört case ekleyin
  7. result = 0 değerini atamak için bir default case 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

Kendi başına pratik yap: Online Verilog derleyicisi