After first "pass" assertion does not fire unless a failure occurs

In reply to silverace99:

You will need to check your simulator’s documentation on how it reports coverage of assertions.

An implication can pass vacuously (antecedent/LHS is false), or non-vacuously (both antecedent and consequent/RHS are true). Typically a tool considers a implication property covered once it has passed non-vacuously .