What is Coverage Metrics?
Hi Friends, in my previous Functional Coverage blog, I’ve shared high level idea & understanding about Coverage & types of Coverage i.e. Code Coverage & Functional Coverage with an example of Coverage data model i.e. cover groups. If we want to understand about Coverage as a whole, there are different sections to know about, which are listed below:
Coverage Metrics
Functional Coverage Metrics
Code Coverage Metrics
Coverage Planning – Specification to Test plan
Coverage Modeling – Test plan to Functional Coverage Model
Functional Coverage Model Coding Standards – Coding for effective analysis & easy debugging
Coverage Reports Generation & Report Analysis
Since it will not be a very good idea to cover everything in a single post, in this post we’ll only focus on Coverage Metrics (particularly Functional Coverage Metrics) & will try to get information about it. Other sections will be covered in upcoming Functional Coverage posts in near future, so please tune in for those posts as well…
Ok, First I would like to share something said by legendary Peter Drucker who is known for developing Metric Driven Processes.
Whats get measured, gets done,
Whats get measured, gets improved,
Whats get measured, gets managed.
– Peter Drucker
Success
Lets start discussing the Coverage Metrics as described above.
Coverage Metrics:
Whatever our simulation methodology is, directed testing approach or constrained random verification, following questions always pops-up to understand our verification progress –
Are all the design features and requirements identified in the testplan got verified?
Are some lines of the code or structure in the design model (e.g RTL Code) never covered?
“Coverage” is the Metric we use during simulation to answer these questions.
To comprehend the Coverage in proper way, we need to understand the concepts of Controllability and Observability. Lets talk about these concepts – Controllability refers to the ability to influence or activate an embedded finite state machine, structure, specific line of code, or behavior within the design by stimulating various input ports. On the other side, Observability refers to the ability to observe the effects of a specific internal finite