Toggle coverage and Expression coverage does not included in coverage report

Hi, I am currently trying to take line, toggle and expression coverage from a verification IP. I have prepared cov_spec file and gave option
-code-cov a
for covering all. However, final db only consist line, functional and assertion coverage. I also wanted to see expression and toggle coverage. Can you describe me except instrumenting using +b option what should I do. Below .dpf file given.
Thanks
Best Answer
-
Hello,
The options "+acc+b -code-cov a" should be sufficient, as long as you are not additionally limiting the gathering of expression/toggle/block coverage with the -code-cov-scope-specs option.
Your .dpf file indicates you are using "-code-cov-scope-specs cov_spec" as an option. I suspect the contents of your cov_spec file are turning off the collection of toggle and expression coverage.
(Note: for the -code-cov-scope file, "+b" means "block coverage (only)", not "callback access" like it would mean in an -acc-specs file. See https://help.metrics.ca/a/solutions/articles/154000141188 for more details).
Try removing "-code-cov-scope-specs cov_spec" from your command line.0
Answers
-
Hello,
The options "+acc+b -code-cov a" should be sufficient, as long as you are not additionally limiting the gathering of expression/toggle/block coverage with the -code-cov-scope-specs option.
Your .dpf file indicates you are using "-code-cov-scope-specs cov_spec" as an option. I suspect the contents of your cov_spec file are turning off the collection of toggle and expression coverage.
(Note: for the -code-cov-scope file, "+b" means "block coverage (only)", not "callback access" like it would mean in an -acc-specs file. See https://help.metrics.ca/a/solutions/articles/154000141188 for more details).
Try removing "-code-cov-scope-specs cov_spec" from your command line.0 -
Hi Christine,
I am using cov_spec file because only give scope DUT to collect block/expression/toggle coverage. Removing cov_spec file is not the case because of simulator crash related with UVM if i do not define cov_scope.
See https://help.metrics.ca/support/discussions/topics/154000626463.
As you told you in note I totally misunderstood +b flag in cov_spec file. When I have access to my environment I am going to try changing cov_spec file content from "path tb.dut +b " to "path tb.dut + ". I have tried "path tb.dut +a" before for (a)ll coverage but that was also mistaken approach of mine
I am going to mark this entry as answer tomorrow after running simulation.
Thanks for the help.0 -
Hi Christine,
Thank you for the feedback. As you guessed, I was not aware of +b option in cov_spec file means only block coverage. Changing cov_spec file content from "path tb.dut +b " to "path tb.dut +" solved issue. I always assumed this "path tb.dut +a" for (a)ll coverage but that was wrong estimation.
Note: Removing cov_spec file option is not the case because of the known issue in DSIM about UVM environment requires path directive else it crashes when collecting coverage. See
Thank you0 -
Hi Deniz. I have moved this post to the more appropriate forum, DSim -> Coverage.
0