Verification of the state machine

In reply to juhi_p:

My two cents here, from my experience in different projects I consider using functional coverage is more portable since you can use this coverage across different projects and tools, using tool’s specific files to describe the valid state transitions or to exclude them can become tedious especially if you need use more than one EDA simulator, also with new version of the same tool it could become deprecated. In the end is up to your requirements and and resources to decide what approach suits you best.

Just keep in mind that if you implement the functional coverage then you need to make sure you connect the collectors to the right hierarchy, either using bindings or interfaces + UVM, etc
HTH,

-R