PDA

View Full Version : Code Coverage for Functionality Check



kunal1514
03-06-2008, 11:48 PM
Hi All,

Can any body tell me that

How Code-Coverage certifies for Functionality Check.

If it is possible then How and also tell me that

Why we need Functional Coverage.

Regards

goyalnilay
03-07-2008, 12:17 AM
Code coverage certifies which part of RTL code is analyzed during simulations. Hence, it tells you what part of RTL design is covered and what is not.

Functional coverage is a more advanced method of checking the functionality coverage. You define various coverage groups for different functionalities that you think you need to verify. During simulations, information is collected about whether the defined functionality is covered or not during simulations.

pjigar
03-08-2008, 10:56 AM
Code coverage can not reliably used to check which functionality was successfully verified. However, code coverage is a good measure to flag which part of RTL were "not excersized".

tessitd
03-09-2008, 12:16 PM
A simple way to think about it is:

Code Coverage provides you a static measurement if a line (simplified view) is executed.

Functional Coverage provides a dynamic measurement of expected temporal behavior. That is we expect that this line would be executed at the same time as another line of code (again a simple view).

Now Code Coverage tools cannot currently perform the operation of Functional Coverage because one is static and the other is dynamic.

Finally posted elsewhere www.verificationguild.com the following thoughts concerning Code Coverage. The absense of 100% Code Coverage indicates that there is more Verification work to be done. 100% Code Coverage does NOT mean the verification effort is complete. A nice goal but you still have work to do!

TomT...

anilraj
03-24-2008, 05:37 PM
Just to add to all the replies above...

Code coverage: Tells you if your tests have exercised a particular part of te code.

Functional coverage: Tells you if your tests have exercises a particular functionality described in the spec.

Its possible to get 100% of coverage on each of these independently.

Meaning it is possible to have 100% functional coverage and 10% code coverage.
This means you have not written enought funcitonal coverage points.

It is possible to have 100% code coverage and only 10% functionaly coverage.
In such a case, write more tests and you will see big HOLES in the RTL.

The good measure is to have close to 100% coverage on both.