SV Assertions clock period

You need to declare the local variable curr_time within the property declaration.
what you have above is illegal

property p_tclk;
  realtime curr_time;
@(posedge SCLK) ('1, curr_time = $time) |-> @(posedge CLK) (tclk == ($time - curr_time));
endproperty

ap_tclk : assert property (p_tclk);

// The following has formal arguments. 
property Tclk (logic SCLK,time tclk);
...
   Ben Cohen
   Ben@systemverilog.us
   Link to the list of papers and books that I wrote, many are now donated.
   https://systemverilog.us/vf/Cohen_Links_to_papers_books.pdf