In reply to plin317:
It would help to explain what output you were expecting. Perhaps you meant to use ‘$rose(z)’ instead of just ‘z’.
Also, it is a good practice to drive your stimulus offset from the posedge clk. In this example, use the negedge instead. That will make it clearer what the sampled values are for the assertion. That also avoids potential race conditions when the stimulus is driving your dut.