Ana içeriğe geç

SystemVerilog'da Boolean İfadeler ve Assertion Kullanımı

· loading · loading · ·
Kerim Turak
Eğitim SystemVerilog Doğrulama SystemVerilog Assertion Verification Doğrulama
Eğitim SystemVerilog Doğrulama
Yazar
Kerim Turak
Digital IC Design & Verification Engineer
Table of Contents
SystemVerilog Tasarım Serisi - This article is part of a series.
Part 32: This Article

🧩 Boolean İfadeler ve Assertions Arasındaki Benzerlik
#

Assertionlar, basit bir boolean ifade gibi düşünülebilir. Örneğin:

assert(a && b);

bu aslında:

if (!(a && b))
  $error("Assertion failed");

gibi çalışır. Yani assertionlar, runtime’da koşulu kontrol eder ve başarısız olursa simülasyonu uyarır.


📌 Assertion Directives (assert, assume, cover, restrict)
#

SystemVerilog’da assertionlar 4 temel directive kullanılarak tanımlanır:

assert – Tasarım davranışının doğru olup olmadığını kontrol eder. – Eğer assertion fail olursa, hata mesajı üretilir. – Örnek:

assert property (req |-> ##1 ack);

assume – Formal doğrulama araçları için kullanılır ve tasarımın dışarıdan bazı koşulları varsaydığını belirtir. – Simülasyonda assert ile benzer davranır. – Örnek:

assume property (clk == 1'b1);

cover – Tasarımın belirli bir davranışının oluşup oluşmadığını kontrol eder. – Tasarım sürecinde fonksiyonel coverage gibi kullanılabilir. – Örnek:

cover property (req && ack);

restrict – Tasarım alanını kısıtlamak için kullanılır. – Formal doğrulamada kullanılır, simülasyonda genelde etkisi yoktur. – Örnek:

restrict property (reset == 0);

SystemVerilog Tasarım Serisi - This article is part of a series.
Part 32: This Article

Related

Immediate Assertion
· loading · loading
Kerim Turak
Eğitim SystemVerilog Doğrulama SystemVerilog Assertion Verification Immediate Assertion Deferred Immediate Assertion Doğrulama
Eğitim SystemVerilog Doğrulama
SystemVerilog Assertion (SVA) Nedir ve Neden Kullanılır?
· loading · loading
Kerim Turak
Eğitim SystemVerilog Doğrulama SystemVerilog Assertion Doğrulama Formal Verification Concurrent Assertion Immediate Assertion SVA
Eğitim SystemVerilog Doğrulama
SystemVerilog Assertionlar: Delay, Repetition ve Status
· loading · loading
Kerim Turak
Eğitim SystemVerilog Doğrulama SystemVerilog Assertion Verification Repetition Delay Overlap Go-to Repetition Assertion Status
Eğitim SystemVerilog Doğrulama
SystemVerilog Assertions: Same Cycle ve Next Cycle İmplication
· loading · loading
Kerim Turak
Eğitim SystemVerilog Doğrulama SystemVerilog Assertion Verification Same Cycle Implication Next Cycle Implication Assertion Overlapping Fonksiyonlar
Eğitim SystemVerilog Doğrulama
SystemVerilog Sequence, Sequence Implication ve Kullanımı
· loading · loading
Kerim Turak
Eğitim SystemVerilog Doğrulama SystemVerilog Assertion Verification Sequence Sequence Implication Overlapping Non-Overlapping Conditional Property Never Property $Rose $Fell Disable Iff
Eğitim SystemVerilog Doğrulama
SystemVerilog'da Concurrent Assertions Kullanımı
· loading · loading
Kerim Turak
Eğitim SystemVerilog Doğrulama SystemVerilog Concurrent Assertions Property Default Clocking Doğrulama
Eğitim SystemVerilog Doğrulama