Menu
CoddyTech

Operator Perbandingan

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

Operator perbandingan membandingkan dua nilai dan menghasilkan 1 (benar) atau 0 (salah).

Operator Perbandingan yang Tersedia

OperatorArti
==Sama dengan
!=Tidak sama dengan
>Lebih besar dari
<Lebih kecil dari
>=Lebih besar dari atau sama dengan
<=Lebih kecil dari atau sama dengan

Contoh Kode

module comparison_demo;
  reg [3:0] a, b;
  reg result;
  
  initial begin
    a = 5;
    b = 3;
    
    result = (a == b);
    $display("5 == 3 : %d", result);  // 0 (salah)
    
    result = (a != b);
    $display("5 != 3 : %d", result);  // 1 (benar)
    
    result = (a > b);
    $display("5 > 3  : %d", result);  // 1 (benar)
    
    result = (a < b);
    $display("5 < 3  : %d", result);  // 0 (salah)
    
    result = (a >= 5);
    $display("5 >= 5 : %d", result);  // 1 (benar)
    
    result = (a <= 3);
    $display("5 <= 3 : %d", result);  // 0 (salah)
    $finish;
  end
endmodule

Output:

5 == 3 : 0
5 != 3 : 1
5 > 3  : 1
5 < 3  : 0
5 >= 5 : 1
5 <= 3 : 0

Menggunakan Perbandingan dalam Kondisi

Perbandingan sering digunakan dalam pernyataan if:

if (count == 10)
  $display("Reached maximum");

if (value > threshold)
  $display("Value is too high");

Catatan Penting

  • Hasil perbandingan adalah nilai 1-bit (0 atau 1)
  • Perbandingan dapat digunakan dengan lebar bit apa pun
  • Berhati-hatilah menggunakan == dan != saat sinyal berisi X atau Z (hasilnya akan berupa X)
challenge icon

Tantangan

Tulis ekspresi perbandingan yang benar untuk setiap tugas.

Yang perlu kamu lakukan:

  1. Periksa apakah a sama dengan b dan simpan di eq
  2. Periksa apakah a lebih besar dari b dan simpan di gt
  3. Periksa apakah a kurang dari atau sama dengan b dan simpan di le

Coba sendiri

module comparison_challenge;
  reg [3:0] a, b;
  reg eq, gt, le;
  
  initial begin
    a = 4'd7;
    b = 4'd7;
    
    eq = ______;   // a sama dengan b
    gt = ______;   // a lebih besar dari b
    le = ______;   // a lebih kecil dari atau sama dengan b
    
    $display("a = %d, b = %d", a, b);
    $display("a == b : %d", eq);
    $display("a > b  : %d", gt);
    $display("a <= b : %d", le);
    $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