Coverage

Hi All
If my Code coverage is 100% and Functional coverage is 100% then how can we ensure our verification is 100% completed.
if some features are missing in the RTL then how can we know we need to write some portion of code in RTL.
If possible can any one explain with example.

In reply to srikanth.verification:

If you have 100% functional coverage and still missing RTL functionality, it means that you your “functional coverage” is incomplete. It is verification engineer who defines functional coverage points and tool only measures how much of these points were covered in the tests. Therefore 100% functional coverage means that you tested all you wanted to test. You should have requirement document and then you create coverage points for each requirements in such way, that all requirements are covered. And then if you have 100% functional coverage you know, that you have implemented and tested all functionality from requirement document.

Jan

[i]In reply to galloth:

im asking if there is a chance of getting 100% func and 100% code coverage. because if the verification engineer sees the design and implemented the same as design in TB then we will get this scenario. so how can we find at that point of view some portion of code is missing in the design

In reply to srikanth.verification:

I am not sure I understand your question correctly. Can you elaborate it more? I believe, that when you see 100% coverage, that you do not find missing RTL or any error at this point of view. Because if there is an error, it was made in previous step during creation of the cover points.
Lets suppose you are verifying simple CPU. You start with the requirements document, which specifies instruction set of the CPU. Therefore you define cover point for every instruction in every mode that is defined. Then you implement verification and obtain 100% functional coverage. This means that you tests all coverpoints. If there is some block of code that is missing from your RTL, that means that the functionality it implements is missing from functional coverage as well. Which means that it is also missing from the requirement document
or that there was mistake during definition of functional cover point and your functional coverage is meaningless (because you obviously are missing parts of requirements). To detect this mistake, you should have trace matrix that will link all your cover points to the requirements and you should always perform peer review of the cover points.

There is second thred with similar question, maybe their answers will be more clear :
https://verificationacademy.com/forums/uvm/coverage#reply-89754

Jan