In reply to gsulliva:
Yes, all the good tools by default report coverage for each assert property. You can use cover property when you want to collect coverage based on temporal behavior of a signal. Meaning you are not checking protocol but a certain behavior. Collecting coverage on a temporal sequence using cover property is easier than writing SV Function Coverage.