Ana içeriğe geç

Sistem Fonksiyonları ve Görevleri (System Functions & Tasks)

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

⚙️ Verilog Sistem Fonksiyonları ve Görevleri (Tasks)
#

Verilog, simülasyon, veri işleme ve çalışma zamanı kontrolü için $ ile başlayan birçok yerleşik sistem fonksiyonu sağlar. Bu fonksiyonlar sentezlenemez ve yalnızca testbench ya da simülasyon ortamlarında kullanılmalıdır.


🎲 Rastgele Sayı Fonksiyonları
#

Fonksiyon Açıklama Örnek
$random 32-bit işaretli rastgele sayı üretir r = $random;
$urandom 32-bit işaretsiz rastgele sayı üretir r = $urandom;
$urandom_range(min, max) Belirtilen aralıkta rastgele sayı üretir r = $urandom_range(0, 15);

Testbench’te test girdisi (stimulus) üretmek için kullanılır.


🛑 Simülasyon Kontrol Görevleri
#

Görev Açıklama Örnek
$stop Simülasyonu durdurur, varsa hata ayıklayıcıyı açar $stop;
$finish Simülasyonu düzgün şekilde sonlandırır $finish;
$fatal Hatalı şekilde sonlandırır (assert gibidir) $fatal(1, "Hata!");

➗ Matematik ve Dönüştürme Fonksiyonları
#

Fonksiyon Açıklama Örnek
$clog2(x) Log2 tabanında yukarı yuvarlanmış değer localparam W = $clog2(10);
$bits(x) Değişkenin bit genişliğini verir $bits(my_reg)
$signed(x) Değeri işaretli tipe dönüştürür out = $signed(data);
$unsigned(x) Değeri işaretsiz tipe dönüştürür out = $unsigned(signed_data);

$clog2, bellek genişliği veya sayaç gibi parametrelerin belirlenmesinde çok faydalıdır.


Verilog HDL Serisi - This article is part of a series.
Part 16: 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