Ana içeriğe geç

Sentez

· 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 18: This Article

🏗️ Sentez (Synthesis) Nedir?
#

Sentez, RTL seviyesindeki Verilog kodunun, fiziksel donanıma (FPGA veya ASIC) eşlenecek bir kapı seviyesi netliste dönüştürülmesi sürecidir.

🔧 Sentez sırasında olanlar:
#

  • always ve assign blokları kapılara ve flip-floplara dönüştürülür
  • Parametreler ve lojik ifadeler çözülür
  • Alan, hız ve güç açısından optimizasyon uygulanır

⚠️ Sentezlenebilir Kodda Kaçınılması Gereken Yapılar
#

Yapı Sorun Nedir? Yerine Ne Kullanılmalı?
initial bloğu Sentez desteklemez Reset mantığı
#delay Sadece simülasyon içindir Saatle çalışan always bloğu
$display, $monitor Sentezlenemez Sadece testbench içinde kullan
for, while (değişken sınır) Sonlu olmayabilir Sabit aralıklı generate
Dinamik bellek Donanımda desteklenmez Sabit boyutlu diziler kullanın

🎨 RTL Kodlama Tarzının Senteze Etkisi
#

✅ Doğru Uygulamalar:
#

  • Ardışıl mantık için always @(posedge clk) + <= (non-blocking) kullanın
  • Kombinasyonel mantık için always @(*) + = (blocking) kullanın
  • Tüm çıkışlara atama yapın — aksi takdirde latch oluşabilir
  • Duyarlılık listelerini tam tutun veya (*) kullanın

❌ Kötü Uygulamalar:
#

  • Aynı blokta = ve <= karıştırmak
  • Kısmi atamalar → latch oluşturabilir
  • Simülasyon yapılarını sentez kodunda kullanmak

❗ Örnek: İstenmeyen Latch Türetimi
#

always @(*) begin
  if (en)
    y = a;  // eğer en false ise latch oluşur
end

✅ Doğru sürüm:

always @(*) begin
  if (en)
    y = a;
  else
    y = 0;
end

🔁 Özet Tablosu
#

Konu Davranışsal Sim Kapı Seviyesi Sim Sentez
Simülasyon hızı Hızlı Yavaş Uygulanmaz
RTL yapıları Kullanılır Yassılaştırılır Sentezlenebilir
Zaman modelleme Yaklaşık Gerçekçi Belirlenmiş
Kullanım amacı İşlevsel test Son doğrulama Netlist üretimi
Gecikme desteği Var (#) Var (SDF) Yok

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

Related

Verilog RTL Tasarım – En İyi Uygulamalar
· loading · loading
HDL Verilog HDL
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