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