Functional coverage plays a very important role in verifying the completeness of a design. However customizing a coverage plan for different chips, users, specification versions etc is a very tedious process especially when dealing with a complex design.Quite often a verification engineer needs to customize the coverage plan. Customization might be required as the coverage plan can vary amongst multiple users. Additionally, users might need to reflect regular updates in specifications in the coverage plan. Making all these changes in the source coverage code leads to conflicts and confusion amongst different users and projects. Managing the above stated issues is one of the most challenging and time consuming tasks a verification engineer faces today.
This blog/article describes a simple methodology which addresses all the above issues, using the concept of inheritance. This customization methodology can be used across all protocols.