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 giriş alan, bunlar üzerinde bir işlem gerçekleştiren ve bir çıkış üreten dijital bir devredir. Bir seçim sinyaline bağlı olarak iki giriş ü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Çıkış
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.

Ne yapmalı:

  1. alu adında bir modül oluşturun
  2. Girişleri ekleyin: a (4-bit), b (4-bit), select (2-bit)
  3. Çıkışı ekleyin: result (4-bit, reg tipi)
  4. Bir always @(*) bloğu ekleyin
  5. İçine bir case (select) ifadesi ekleyin
  6. 2'b00, 2'b01, 2'b10, 2'b11 için dört durum (case) ekleyin
  7. result = 0 değerini atamak için bir default durumu ekleyin
  8. endcase ve endmodule ile kapatın

Kendin dene

// YAPILACAK: alu modülünü oluşturun 

  // YAPILACAK: Girişleri ekleyin (a, b, select)
  
  // YAPILACAK: Çıkışı ekleyin (result)

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

// YAPILACAK: endmodule ekleyin

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