Regarding Assertion Implementation

Here i want that output data should come after end_time -start_time , I read a paper on variable delays , but there is count which is integer and i want it in real_time as t1=14ps and delay is =175 in integer.
property del(exp_delay_time, t1);
realtime start_time,end_time;
@(posedge data_in) disable iff ( !gsrn || !por_n ) // 12.5 ps * mc1_delay_a (sequence)
(1,start_time= $realtime) |-> @(posedge data_out) ##0 (1,end_time=$realtime) ##0 (1,$display("end_time-start_time %t exp_timet1 %t",(end_time -start_time),(exp_delay_timet1)))##0 ((exp_delay_time*t1) == (end_time-start_time));
endproperty
DELAY_CHECK : assert property (del(delay,t1))
so how can i check output data after end_time-start_time should be equal to input data

In reply to Renganathan M:


//  output data should come after end_time -start_time 
//  how can i check output data after (end_time-start_time) should be equal to input data
// [Ben] Your property is simplified to 
property del(exp_delay_time, t1);
  realtime start_time,end_time;
  int vdata_in; // Added this 
    @(posedge data_in) disable iff ( !gsrn || !por_n ) // 12.5 ps * mc1_delay_a (sequence)
    (1,start_time= $realtime) |-> 
       @(posedge data_out) 
          (1,end_time=$realtime, 
             $display("end_time-start_time %t exp_time*t1 %t",
                       (end_time -start_time),(exp_delay_time*t1))),  
          ##0 ((exp_delay_time*t1) == (end_time-start_time)) 
          ##0 data_out==vdata_in; // added this 
endproperty 
// You have 2 clocking events, both of which use data as the events; a bit odd.  
// So essentially, you are doing this: 
@(posedge data_in)  // Here data_in ==1'b1 (or if an int, data_in !=0
    (1,start_time= $realtime) |-> 
       @(posedge data_out) // Here data_out ==1'b1 (or if an int, data_out !=0
          (1,end_time=$realtime),  ##0 
          ((exp_delay_time*t1) == (end_time-start_time));
//so how can i check output data after end_time-start_time should be equal to input data
// [Ben] Add 
##0 data_out==vdata_in;