Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIRRTL][Verilog] Use Xcelium Coverage Exclusion Magic in Addition to VCS #3329

Open
seldridge opened this issue Jun 11, 2022 · 3 comments
Open
Labels
ExportVerilog FIRRTL Involving the `firrtl` dialect

Comments

@seldridge
Copy link
Member

Currently we only emit extracted covers with the VCS magic file-level comment to exclude them:

// VCS coverage exclude file 
...

However, anywhere we emit this, we should also emit the Xcelium magic off/on comments. Xcelium looks like:

// pragma coverage block = off, toggle = off
...
// pragma coverage block = on, toggle = on

I am not super stoked about this option (and also note that the Xcelium pragmas I've been given are turning off specific types of coverage which may not be the case for all users 🥲 ) and would like to have a better mechanism to indicate that something is a cover, what file it should go to, and what simulators you are using so that we aren't just dropping verbatim Verilog comments all over the place.

@seldridge seldridge added FIRRTL Involving the `firrtl` dialect ExportVerilog labels Jun 11, 2022
@darthscsi
Copy link
Contributor

We need an encoding for the behavior and lowering/emission options for different (possibly multiple) tools.

@uenoku
Copy link
Member

uenoku commented Jun 11, 2022

would like to have a better mechanism to indicate that something is a cover, what file it should go to

+1 on this. I'm wondering if we can create coverage_exclude_file.f so that we can exclude those files directly from tools instead of relying on pragmas. Implementation wise, I think we can add "coverage_exclude_module" attribute to modules we want to exclude and gather them in ExportVerilog.

@srivatsa611y
Copy link

FYI about the comments and pragmas being added. The vcs comment, makes sure we collect only assert coverage, or coverage on the cover properties written in the file and ignore the line, branch and toggle coverage in those files.

We got the comments equivalent in xcellium which does the same. But the code has to be wrapped in the pragma comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ExportVerilog FIRRTL Involving the `firrtl` dialect
Projects
None yet
Development

No branches or pull requests

4 participants