• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Functional Verification
  3. How to use cve_coverage_save_nc?

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 65
  • Views 13728
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to use cve_coverage_save_nc?

ciroceissler
ciroceissler over 10 years ago

Hello,


I'm trying to do functional verification using SystemC.

I already create an structure using scv_coverpoint and scv_covergroup, and I can extract the coverage from covergroup using the function coverage() from scv_coverobject_if base class.

The problem is when I try to generate the results to visualize with iccr gui.

Example of code:

int count;

ncsc_viewable<int> vcount;
scv_covergroup cgp_count;
scv_coverpoint cov_count;

cve_coverage_save_nc();

cov_count.cover(scv_expression::create_reference(vcount),
                scv_coverbin::DYNAMIC);
cov_count.sample_at(&this->vcount);

cgp_count.cover(cov_count);


I execute with 'irun -coverage all' and I get this message error:

ncsim: *E,SIGUSR: Unix Signal SIGSEGV raised from user application code.

 

When I remove the function cve_coverage_save_nc, works without problem but I can't visualize with iccr.

Any idea? What I am doing wrong? Exist an example of how to use this function?

 

Best Regards,

 

Ciro Ceissler

  • Cancel
  • StephenH
    StephenH over 10 years ago

    Hi Ciro.

    I'm not completely familiar with the CVE coverage, most folks use Specman/e or SystemVerilog now because these are more expressive languages for coverage. I suspect the problem is that you are calling the cve_coverage_save_nc() function too early, before you have completely set up your coverage points. The examples I have all follow the recommendation of using the constructor macros, so it's possible that you have omitted something vital that the macros would normally provide.
    If you ping me your corporate email address to stephenh _at_ cadence.com I can send you a fully working example that you can crib from.

    Another thing to note is that iccr is an obsolete technology, please consider using the newer "imc" analysis tool which replaced iccr a few years ago; it's a much nicer tool and more powerful.

    Steve.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information