Menu
CoddyTech

If - Else

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

Pernyataan if-else memungkinkan kamu memilih antara dua tindakan yang berbeda berdasarkan suatu kondisi. Jika kondisinya benar, satu blok akan dijalankan. Jika salah, blok lainnya akan dijalankan.

Pernyataan if-else memberi kodemu titik pengambilan keputusan: lakukan satu hal jika kondisinya benar, lakukan hal lain jika kondisinya salah.

Sintaks:

if (condition) begin
  // Dijalankan saat condition bernilai true (1)
end else begin
  // Dijalankan saat condition bernilai false (0)
end

Contoh Sederhana

if (reset) begin
  count = 0;
end else begin
  count = count + 1;
end
  • Jika reset bernilai 1 → count menjadi 0
  • Jika reset bernilai 0 → count bertambah 1

Beberapa Pernyataan

Gunakan begin dan end saat kamu memiliki lebih dari satu pernyataan:

if (enable) begin
  out = data_in;
  valid = 1;
end else begin
  out = 0;
  valid = 0;
end

Percabangan If-Else dengan Beberapa Kondisi

Kamu dapat merangkai pernyataan if-else:

if (a > b) begin
  max = a;
end else if (b > a) begin
  max = b;
end else begin
  max = a;  // a dan b sama
end

Aturan Penting

AturanPenjelasan
else bersifat opsionalKamu bisa menggunakan if tanpa else
else berlaku untuk if terdekatBerhati-hatilah saat membuat nesting
Gunakan begin/end untuk beberapa pernyataanWajib digunakan jika ada lebih dari satu baris
challenge icon

Tantangan

Yang harus dilakukan:

  1. Tambahkan pernyataan if-else yang hilang agar ini berfungsi.
  2. Saat enable bernilai 1, out harus sama dengan a & b.
  3. Saat enable bernilai 0, out harus sama dengan a | b.

Coba sendiri

module ifelse_challenge;
  reg a, b, enable;
  reg out;
  
  initial begin
    a = 1;
    b = 0;
    enable = 1;
    
    // TODO: Tambahkan pernyataan if-else
    // Jika enable bernilai 1: out = a & b
    // Jika tidak: out = a | b
    
    $display("out = %d (should be 0 because 1&0=0)", out);
    $finish;
  end
endmodule
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Verilog online