Toggle coverage and Expression coverage does not included in coverage report

Deniz Güzel
Deniz Güzel New Altair Community Member
edited February 18 in Community Q&A

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

Tagged:

Best Answer

  • ChristineAndress
    ChristineAndress New Altair Community Member
    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.


Answers

  • ChristineAndress
    ChristineAndress New Altair Community Member
    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.


  • Deniz Güzel
    Deniz Güzel New Altair Community Member

    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. 

  • Deniz Güzel
    Deniz Güzel New Altair Community Member

    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 you

  • Shaun_Altair
    Shaun_Altair
    Altair Employee

    Hi Deniz. I have moved this post to the more appropriate forum, DSim -> Coverage.