If - Else
Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 53 / 90.
if-else ifadesi, bir koşula göre iki farklı eylem arasından seçim yapmanı sağlar. Koşul doğruysa bir blok yürütülür. Yanlışsa diğer blok yürütülür.
if-else ifadesi koduna bir karar noktası sağlar: koşul doğruysa bir şey yap, koşul yanlışsa başka bir şey yap.
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
Birden Çok İfade
Birden fazla statement olduğunda begin ve end kullanın:
if (enable) begin
out = data_in;
valid = 1;
end else begin
out = 0;
valid = 0;
endBirden Çok Koşullu If-Else
if-else ifadelerini zincirleyebilirsin:
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 if kullanabilirsin |
else en yakın if ifadesine aittir | İç içe kullanımlara dikkat et |
Birden fazla ifade için begin/end kullan | Birden fazla satır için gereklidir |
Görev
Yapılacaklar:
- Eksik
if-elseifadesini ekleyerek bunun çalışmasını sağlayın. enable1 olduğunda,outa & bdeğerine eşit olmalıdır.enable0 olduğunda,outa | bdeğerine eşit olmalı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
// Aksi halde: 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.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod Alma OperatörüKarşılaştırma OperatörleriTekrar - Basit MatematikBit Düzeyi Operatörleri7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND, OR ve NOT KapılarıXOR ve XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Verme
If İfadesiIf - ElseTekrar - Basit KarşılaştırıcıCase İfadesiCasex ve CasezTekrar - ALU Tasarımı2Veri Türleri
Wire TürüReg TürüTamsayı ve GerçelVektörlerDizilerParametrelerÖzet - Sinyalleri Tanımlama5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörTekrar - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüTekrar DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiTekrar - Döngü Kalıpları3Sayı Sistemi
İkili GösterimBoyutlu SayılarBoyutsuz SayılarNegatif SayılarÖzel X ve Z DeğerleriTekrar - Sayı Biçimleri6Modüller
Modül YapısıGiriş ve Çıkış PortlarıÇift Yönlü PortlarModül ÖrneklendirmeAda Göre Port EşlemeSıraya Göre Port EşlemeTekrar - Bir Modül Oluşturma9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiBloklayıcı AtamaBloklamayan AtamaTekrar - Always ve Initial Karşılaştırması15Trafik Işığı Denetleyicisi
Durumları TanımlamaDurum Makinesi MantığıKendi başına pratik yap: Online Verilog derleyicisi