Ana içeriğe geç

Kontrol Akışı

· loading · loading · · ·
HDL Verilog HDL
Axolot Logic
Yazar
Axolot Logic
Sayısal Tasarım Mühendisi
Table of Contents
Verilog HDL Serisi - This article is part of a series.
Part 7: This Article

🔄 Verilog’da Kontrol Akışı Yapıları
#

Kontrol akışı yapıları, always veya initial blokları içinde koşullu ve ardışıl davranışlar oluşturmak için kullanılır.

✅ Yaygın Yapılar:
#

Anahtar Kelime Açıklama Örnek
if, else Koşullu çalıştırma if (a) y = 1; else y = 0;
case Çoklu duruma göre dallanma Aşağıya bak ⬇️
for Sayaçlı döngü for (i=0; i<4; i++) ...
while Koşul sağlandıkça döngü while (a != b) ...
repeat Belirli sayıda tekrar repeat (5) ...
forever Sonsuz döngü (dikkatli kullanılmalı) forever #10 clk = ~clk;

🧰 case Yapısı
#

case, birden fazla değere göre seçim yapmayı sağlayan sade bir yapıdır.

✅ Temel Söz Dizimi:
#

case (sel)
  2'b00: y = a;
  2'b01: y = b;
  2'b10: y = c;
  default: y = 1'b0;
endcase

🔹 casex ve casez
#

  • casex: x ve z değerlerini joker karakter olarak değerlendirir
  • casez: Sadece z değerlerini joker olarak kabul eder, x‘i etmez

🔁 Verilog’da Döngüler
#

Döngüler genellikle testbenchlerde, generate bloklarında veya başlatma rutinlerinde kullanılır.

✅ Örnek – for döngüsü:
#

integer i;
initial begin
  for (i = 0; i < 8; i = i + 1)
    mem[i] = 0;
end

⚠️ Döngüler sentez sırasında sonlu olmalıdır — RTL içinde sonsuz veya değişken uzunluklu döngülerden kaçınılmalıdır.


Verilog HDL Serisi - This article is part of a series.
Part 7: This Article

Related

Blocking ve Non-Blocking Atamalar
· loading · loading
HDL Verilog HDL
Derleyici Yönergeleri ve Makrolar
· loading · loading
HDL Verilog HDL
Gecikme Kontrolleri
· loading · loading
HDL Verilog HDL
Görev (Task) ve Fonksiyon (Function)
· loading · loading
HDL Verilog HDL
Hiyerarşik Referans
· loading · loading
HDL Verilog HDL
Komut Satırı Girdisi
· loading · loading
HDL Verilog HDL