IMPORTANT NOTICE: Please be advised that the Verification Academy Forums will be offline for scheduled maintenance on Sunday, November 9th at 1:00 AM US/Pacific.
Looks legal. The only thing is the startup. The fix:
##2 @(posedge slow_clk) |->
@(posedge fast_clk) |->
FF_fast == $PAST(FF_fast,2,1,@posedge fast_clk);
Can also do the following, which is more readable because the first implication opr is not needed