Handshake with two different clocks

In reply to dave_59:

I have tried this as well, but it’s a vacuous pass even when ack rises after say 4 or 6 clk2 cycles.
How do I fix it?

@(negedge clk1) $rose(req) |-> @(posedge clk2) !ack[*4:$] ##1 ack;