If - Else
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 53 / 90.
if-else statement, bir condition'a bağlı olarak iki farklı eylem arasında seçim yapmanıza olanak tanır. condition true ise bir blok çalışır. False ise diğer blok çalışır.
if-else deyimi kodunuza bir karar noktası kazandırır: condition doğruysa bir şey yapın, condition yanlışsa başka bir şey yapın.
Sözdizimi:
if (condition) begin
// condition true (1) olduğunda çalışır
end else begin
// condition false (0) olduğunda çalışır
endBasit Örnek
if (reset) begin
count = 0;
end else begin
count = count + 1;
endreset1 ise →count0 olurreset0 ise →count1 artar
Çoklu İfadeler
Birden fazla ifadeniz olduğunda begin ve end kullanın:
if (enable) begin
out = data_in;
valid = 1;
end else begin
out = 0;
valid = 0;
endÇoklu Koşullarla If-Else
if-else ifadelerini zincirleme bağlayabilirsiniz:
if (a > b) begin
max = a;
end else if (b > a) begin
max = b;
end else begin
max = a; // a ve b eşittir
endÖnemli Kurallar
| Kural | Açıklama |
|---|---|
else isteğe bağlıdır | else olmadan da if kullanabilirsiniz |
else en yakındaki if ifadesine aittir | İç içe kullanımlara dikkat edin |
Birden fazla statement için begin/end kullanın | Birden fazla satır için gereklidir |
Görev
Ne yapılmalı:
- Bunun çalışmasını sağlamak için eksik
if-elseifadesini ekleyin. enable1 olduğunda,outifadesia & bdeğerineequalolmalıdır.enable0 olduğunda,outifadesia | bdeğerineequalolmalıdır.
Kendin dene
module ifelse_challenge;
reg a, b, enable;
reg out;
initial begin
a = 1;
b = 0;
enable = 1;
// TODO: if-else ifadesi ekle
// Eğer enable 1 ise: out = a & b
// Değilse: out = a | b
$display("out = %d (should be 0 because 1&0=0)", out);
$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ığı