Karşılaştırma Operatörleri
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 21 / 90.
Karşılaştırma operatörleri iki değeri karşılaştırır ve ya 1 (doğru) ya da 0 (yanlış) değerini döndürür.
Mevcut Karşılaştırma Operatörleri
| Operatör | Anlamı |
|---|---|
== | Eşittir |
!= | Eşit değildir |
> | Büyüktür |
< | Küçüktür |
>= | Büyük veya eşittir |
<= | Küçük veya eşittir |
Kod Örneği
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 (yanlış)
result = (a != b);
$display("5 != 3 : %d", result); // 1 (doğru)
result = (a > b);
$display("5 > 3 : %d", result); // 1 (doğru)
result = (a < b);
$display("5 < 3 : %d", result); // 0 (yanlış)
result = (a >= 5);
$display("5 >= 5 : %d", result); // 1 (doğru)
result = (a <= 3);
$display("5 <= 3 : %d", result); // 0 (yanlış)
$finish;
end
endmoduleÇıktı:
5 == 3 : 0
5 != 3 : 1
5 > 3 : 1
5 < 3 : 0
5 >= 5 : 1
5 <= 3 : 0Koşullarda Karşılaştırmaların Kullanımı
Karşılaştırmalar genellikle if ifadelerinde kullanılır:
if (count == 10)
$display("Reached maximum");
if (value > threshold)
$display("Value is too high");Önemli Notlar
- Karşılaştırma sonuçları 1-bitlik değerlerdir (0 veya 1)
- Karşılaştırmalar herhangi bir bit genişliği ile çalışır
- Sinyaller X veya Z içerdiğinde
==ve!=operatörlerine dikkat edin (X döndüreceklerdir)
Görev
Her görev için doğru karşılaştırma ifadelerini yazın.
Yapılması gerekenler:
a'nınb'ye eşit olup olmadığını kontrol edin veeqiçinde saklayına'nınb'den büyük olup olmadığını kontrol edin vegtiçinde saklayına'nınb'den küçük veya eşit olup olmadığını kontrol edin veleiçinde saklayın
Kopya kağıdı
Verilog'daki karşılaştırma operatörleri iki değeri karşılaştırır ve 1 (doğru) veya 0 (yanlış) döndürür.
| Operatör | Anlamı |
|---|---|
== | Eşittir |
!= | Eşit değildir |
> | Büyüktür |
< | Küçüktür |
>= | Büyük veya eşittir |
<= | Küçük veya eşittir |
Karşılaştırmalar yaygın olarak if ifadelerinde kullanılır:
if (count == 10)
$display("Reached maximum");
if (value > threshold)
$display("Value is too high");Not: Sonuçlar 1-bitlik değerlerdir. X veya Z içeren sinyallerle == veya != kullanılması X döndürecektir.
Kendin dene
module comparison_challenge;
reg [3:0] a, b;
reg eq, gt, le;
initial begin
a = 4'd7;
b = 4'd7;
eq = ______; // a eşittir b
gt = ______; // a büyüktür b
le = ______; // a küçük veya eşittir 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
endmoduleBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüKarşılaştırma OperatörleriÖzet - Basit MatematikBitsel Operatörler7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND OR NOT KapılarıXOR XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Yapıları
If İfadesiIf - ElseÖzet - Basit KarşılaştırıcıCase İfadesiCasex ve CasezÖzet - ALU Tasarımı5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörÖzet - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüRepeat DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiÖzet - Döngü Kalıpları3Sayı Sistemleri
İkilik GösterimBoyutlandırılmış SayılarBoyutlandırılmamış SayılarNegatif SayılarÖzel Değerler X ve ZÖzet - Sayı Formatları6Modüller
Modül YapısıGiriş ve Çıkış PortlarıInout PortlarıModül Örneklendirmeİsme Göre Port EşlemeSıraya Göre Port EşlemeÖzet - Bir Modül Oluşturun9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiEngelleyici AtamaEngelleyici Olmayan AtamaÖzet - Always vs Initial15Trafik Işığı Kontrolcüsü
Durumları TanımlamaDurum Makinesi Mantığı