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
| Operator | Arti |
|---|---|
== | 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
endmoduleOutput:
5 == 3 : 0
5 != 3 : 1
5 > 3 : 1
5 < 3 : 0
5 >= 5 : 1
5 <= 3 : 0Menggunakan 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)
Tantangan
Tulis ekspresi perbandingan yang benar untuk setiap tugas.
Yang perlu kamu lakukan:
- Periksa apakah
asama denganbdan simpan dieq - Periksa apakah
alebih besar daribdan simpan digt - Periksa apakah
akurang dari atau sama denganbdan simpan dile
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
endmodulePelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
1Pengantar
Apa Itu VerilogPerangkat Keras vs Perangkat LunakModul PertamamuKomentarTingkat Abstraksi Desain4Operator Bagian 1
Operator AritmetikaOperator ModuloOperator PerbandinganUlasan, Matematika SederhanaOperator Bitwise7Penugasan dan Gerbang
Penugasan KontinuPenugasan dengan OperatorPrimitif Gerbang BawaanGerbang AND, OR, NOTGerbang XOR, XNORUlasan: Rangkaian Gerbang Logika10Pengambilan Keputusan
Pernyataan IfIf - ElseRangkuman: Komparator SederhanaPernyataan CaseCasex dan CasezRangkuman: Desain ALU5Operator Bagian 2
Operator LogikaOperator ReduksiOperator GeserOperator PenggabunganOperator KondisionalRangkuman, Tantangan Operator3Sistem Bilangan
Representasi BinerBilangan BerukuranBilangan Tanpa UkuranBilangan NegatifNilai Khusus X dan ZRingkasan: Format Bilangan6Modul
Struktur ModulPort Input dan OutputPort InoutInstansiasi ModulPemetaan Port Berdasarkan NamaPemetaan Port Berdasarkan UrutanRangkuman: Bangun Modul9Blok Prosedural
Blok alwaysBlok initialDaftar SensitivitasPenugasan BlockingPenugasan Non-BlockingRangkuman: always vs initial15Pengendali Lampu Lalu Lintas
Menentukan StatusLogika Mesin StatusLatihan sendiri: Compiler Verilog online