We have been implementing every possible checks to make sure design is verified but what have we done to check our test bench ? How do we make sure that our test bench has covered everything that needs to be covered w.r.t to specification and test plans ? Here is the place “Functional Coverage” and “SVA” comes in picture!
Before we start on few guidelines to follow while working with functional coverage, I would encourage you to refer various posts on functional coverage and assertions to get high level idea on architecture and usage. Click on below links
1. http://asicwithankit.blogspot.in/2011/01/coverage-model-in-system-verilog-test.html
2. http://www.asicwithankit.blogspot.com/2012/12/system-verilog-functional-coverage.html
3. http://www.asicwithankit.blogspot.com/2013/01/the-two-door-keepers-assertion-to-make.html
Sr No
|
Code Coverage
|
Functional Coverage and SVA
|
1
|
Derived from design code with the help of simulation tools
|
It is user specified, controlled approach coverage by test bench
|
2
|
Evaluate design code to check whether structure is covered or not
|
Measures functionality part with the help of covergroup, cover point and bins (with the help of luxury feature of System Verilog J)
(With SVA you can capture functional coverage using cover property)
|
To conclude with few guidelines from various posts on functional coverage and assertions:
Functional coverage and code coverage both are contributing highly on sign off criteria for verification. Verification engineers have to make sure that their test plan and test environment is intelligent enough to satisfy the code/functional coverage closer. Code coverage is generated by tool with the help of the simulations generated by the test environment. So test environment should be random and intelligent enough to make sure design is covered as a part of code coverage and designer should be in agreement while code coverage review. There should be valid comments with reason for all exclusions for code coverage w.r.t to design specification. Functional coverage should be written such a way that it should be able to capture all identified functionality while defining the test plan. Coverage and assertions are very important entity in the verification process and there are few guidelines that would help in verification process.
Few guidelines while working with functional coverage
For guidelines on SVA, please refer to this article (http://www.asicwithankit.blogspot.com/2014/08/system-verilog-assertions-sva-types.html) !
Stay tuned to understand functional coverage sampling mechanism !
Thanks,
ASIC With Ankit
文章评论(0条评论)
登录后参与讨论