Menu
CoddyTech

Rangkuman: Desain ALU

Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 57 dari 90.

challenge icon

Tantangan

ALU (Arithmetic Logic Unit) adalah rangkaian digital yang menerima dua input, melakukan operasi pada keduanya, lalu menghasilkan satu output. ALU melakukan operasi aritmetika dan logika pada dua input berdasarkan sinyal pemilih. Sinyal select memilih satu operasi untuk dijalankan.

Cara kerjanya

selectOperasiOutput
2'b00Penjumlahana + b
2'b01Pengurangana - b
2'b10AND bitwisea & b
2'b11OR bitwisea | b

Buat ALU sederhana menggunakan pernyataan case.

Yang harus dilakukan:

  1. Buat module bernama alu
  2. Tambahkan input: a (4-bit), b (4-bit), select (2-bit)
  3. Tambahkan output: result (4-bit, tipe reg)
  4. Tambahkan blok always @(*)
  5. Di dalamnya, tambahkan pernyataan case (select)
  6. Tambahkan empat kasus untuk 2'b00, 2'b01, 2'b10, 2'b11
  7. Tambahkan kasus default untuk menetapkan result = 0
  8. Akhiri dengan endcase dan endmodule

Coba sendiri

// TODO: Buat module alu 

  // TODO: Tambahkan input (a, b, select)
  
  // TODO: Tambahkan output (result)

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

// TODO: Tambahkan endmodule

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Verilog online