Ana içeriğe geç

Verilog Atamaları: Prosedürel ve Sürekli Atama Farkları

· loading · loading · ·
Kerim Turak
Donanım Tasarımı Verilog Atamaları Sürekli Atama Prosedürel Atama RTL Tasarımı Donanım Tanımlama Dili
Donanım Tasarımı
Yazar
Kerim Turak
Digital IC Design & Verification Engineer
Table of Contents
Verilog HDL Serisi - This article is part of a series.
Part 9: This Article

🔁 Verilog’ta Procedural ve Continuous Atamalar
#

Verilog’ta donanım davranışını doğru modellemek için iki ana atama türü vardır: continuous ve procedural.


⚙️ Continuous Atama (assign)
#

  • assign anahtar kelimesi ile yapılır
  • Giriş değiştiğinde çıkış anında güncellenir
  • Kombinasyonel mantık modellemek için kullanılır
  • Sinyal tipi wire olmalıdır

✅ Örnek:
#

assign y = a & b;

Özellikler:

  • always veya initial bloğu dışında tanımlanır
  • Basit bağlantılar ve sürekli veri akışı için idealdir
  • Fiziksel bir tel gibi davranır

🔁 Procedural Atama
#

  • always veya initial bloklarının içinde tanımlanır
  • Sıralı veya kontrollü mantığı ifade eder
  • Sinyal tipi reg, integer veya real olmalıdır

✅ Örnek:
#

always @(posedge clk) begin
  count <= count + 1;
end

Özellikler:

  • if, case, for gibi kontrol yapıları desteklenir
  • = (blocking) veya <= (non-blocking) kullanılır
  • Register, FSM, senkron mantık için uygundur

🧠 Özet Tablosu
#

ÖzellikContinuous AtamaProcedural Atama
Anahtar Kelimeassignalways, initial
Sinyal tipiwirereg, integer, vs.
KonumBlok dışındaBlok içinde
Güncelleme ZamanıSürekliOlay tetiklenince
Kontrol Yapıları❌ Yok✅ Var (if, case, vs.)
Sentezlenebilirlik✅ Evet✅ Evet

⚠️ Yaygın Hata
#

reg y;
assign y = a & b;  // ❌ HATA! reg tipi assign ile sürülemez

➡️ assign için wire kullanın ya da always bloğuna taşıyın.


💡 Bu iki atama türünü anlamak, doğru ve sentezlenebilir Verilog kodları yazmak için kritiktir.


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

Related

Verilog Blocking vs. Non-Blocking Atamalar
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Atamaları Blocking Atama NonBlocking Atama RTL Tasarımı Sıralı Mantık
Donanım Tasarımı
Verilog Ad Alanları: Kapsam ve Modülerliği Anlamak
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Ad Alanı Verilog Kapsam Modülerlik RTL Tasarımı Donanım Tanımlama Dili
Donanım Tasarımı
Verilog Parametreleri: Modülleri Yeniden Kullanılabilir ve Yapılandırılabilir Kılmak
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Parametreleri Yeniden Kullanılabilir Tasarım Yapılandırılabilir Modüller RTL Tasarımı Donanım Tanımlama Dili
Donanım Tasarımı
Verilog'a Giriş: Dijital Tasarım Temelleri
·699 kelime·4 dk· loading · loading
Kerim Turak
Donanım Tasarımı Verilog FPGA ASIC RTL Tasarımı Donanım Tanımlama Dili
Donanım Tasarımı
Verilog Kontrol Akışı: if, case, Döngüler ve RTL Kuralları
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Kontrol Akışı Verilog If-Else Verilog Case Verilog Döngüler RTL Tasarımı
Donanım Tasarımı
Verilog Sentezi: RTL'den Kapı Seviyesi Netlist'e
· loading · loading
Kerim Turak
Donanım Tasarımı Verilog Sentez RTL Tasarımı Kapı Seviyesi Netlist FPGA Tasarım ASIC Tasarım
Donanım Tasarımı