In reply to dave_59:
Also, in case of $rose(valid) will start the assertion the next clock after the valid has actually gone HIGH. While stating only “valid” starts the assertion on every negative clock edge it finds valid to be HIGH.
Is there any way to start the assertion on exactly the time valid has gone HIGH and only then not every time the edge finds valid HIGH??