Clock Frequency Checker

In reply to leya:
Apologies for my mistake, as the comparison expression I used is incorrect.
What you need, and really mean, is inside a region.

 1800: 11.4.13 Set membership operator
 inside_expression ::= expression  inside  { open_range_list }
 int a, b, c;
if ( a inside {b, c} ) ...
// THUS, 
property p_clk_freq;
            realtime current_time;
            @ (posedge clk)
            disable iff ( !(!(reset) && (flag)))
            ('1, current_time = $realtime) |=> 
           // (clock_input <= ($realtime - (current_time-0.001ns))|| 
           //                 ($realtime - (current_time+0.001ns)));
            ($realtime - current_time) inside {clock_input - 0.001ns, clock_input + 0.001ns}  
        endproperty
        ap_clk_freq: assert property (p_clk_freq); 

Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact Home - My cvcblr


See Paper: 1) VF Horizons:PAPER: SVA Alternative for Complex Assertions | Verification Academy
2) http://systemverilog.us/vf/SolvingComplexUsersAssertions.pdf