Yalnız Mesajı Göster

Verilog Yarış Koşulları

Eski 08-20-2012   #1
Prof. Dr. Sinsi
Varsayılan

Verilog Yarış Koşulları




Yarış Koşulları
Verilog'ta yürütüm sırası her zaman aynı olmayabilir Bu durum iki sonucun çıkışa yarışması gibi düşünülebilir Bu durum klasik bir örnekle açıklanmaktadır

initial
a = 0;


initial
b = a;

initial
begin
#1;
$display("Value a=%a Value of b=%b",a,b);
end

A ve b değerleri için ne çıktı verilecek? Cevap 0 ve 0 olabileceği gibi, 0 ve herhangi değer olabilir Bu olay tamamen "initial" bloklarının yürütüm sırasına bağlıdır Eğer benzetim programının sıralayıcısı dosyayı yukarıdan aşağıya ele alıyorsa 0 ve 0 sonucu alınır Eğer aşağıdan yukarıya ele alıyorsa, b benzetimin başındaki 0'a çekilemeyen "a" değerini alacaktır 3 "initial" bloğunda böyle bir problem yaşanmayacaktır çünkü #1 ifadesi ile küçük bir gecikme eklenmiştir

Kaynak : Wikipedia

Alıntı Yaparak Cevapla