• 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. per_instance coverage

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 64
  • Views 13371
  • 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

per_instance coverage

archive
archive over 17 years ago

Hello,
My eVC has a configurable list of agents. Every agent in the list may be of kind SLAVE or MASTER.
Of course, every agent kind has some configuration fields in common and other fields are idividual to
SLAVE and MASTER agent kinds.  Hence,  the configuration struct looks like this:

struct my_config_s { agent_name : agent_name_t; agent_type : agent_type_t; a : uint(bits:5); event my_cov_ev; cover my_cov_ev is { item agent_type using per_instance; item a; }; when MASTER config_s { master_b : bool; cover my_cov_ev is also { item master_b; }; }; when SLAVE config_s { slave_b : bool; cover my_cov_ev is also { item slave_b; }; }; };

I can see in the coverage browser that every cover group instance for every agent has all possible cover items no matter of the agent kind. The strange thing is, that I see e.g. the master_b cover item incremented inside the cover group for the agent of kind SLAVE!. What I would expect is that every cover item added by e.g the MASTER "when" inheritance is left empty ( = 0) and is never incremented inside a SLAVE agent kind.

Has somebody made the same experiance and an explanation for this behaviour? Do I miss something?

Thanks in advance,
bug_hunter


Originally posted in cdnusers.org by bug_hunter
  • Cancel
  • archive
    archive over 17 years ago

    Hello bug_hunter,

    when you write:
         . . .
         cover my_cov_ev is also {
             item master_b;
          };
          . . .
    you will extend the base coverage definition.

    What you are looking for is to do a conditional extension of the coverage
    definition, which would look like this:
          . . .
          cover my_cov_ev(agent_type==MASTER) is also {
             item master_b;
          };
          . . .

    Regards,
    -hannes 


    Originally posted in cdnusers.org by hannes
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Thanks, hannes.
    I'll try this....

    Regards,
    bug_hunter


    Originally posted in cdnusers.org by bug_hunter
    • 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