Quantcast
Channel: Cadence Functional Verification Forum
Viewing all articles
Browse latest Browse all 1074

System Verilog Assertions

$
0
0

Hi all,

I have the following scenario for writing assertion.

Signal  'A' rises two cycles after 'B' falling. The high period of 'A' is, 70 + (var_value) clock cycles.

I wrote two assertions to check this scenario;

1. property A_RISE;
    @(posedge clk) 
    $fell(B) |-> ##2 $rose(A);                                                //to check the dependency of A w.r.t B
    endproperty

    ASSERT_A_RISE : assert property(A_RISE);

2. property A_HIGH_PERIOD;
    @(posedge clk)
     $rose(A) |-> A[*70] ##1 A[*var_value] ##1 !A;           //to check the high period of A
    endproperty

    ASSERT_A_HIGH_PERIOD : assert property(A_HIGH_PERIOD);

Is there any better way to check both dependency and high period together?

How can we use variable cycle delays or sequence repetitions in assertion properties??

I have started to practice system verilog assertions recently only; Please provide me some guidelines to proceed with this.

Thanks


Viewing all articles
Browse latest Browse all 1074

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>