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

Implement $width timing check (only vvp for now) #999

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

mole99
Copy link
Contributor

@mole99 mole99 commented Sep 12, 2023

This PR contains my latest work on implementing the $width timing check. It checks that the pulse width of a signal does not fall below a limit.

It is described by a record of type .tchk_width, e.g.:

.tchk_width 3 8, "posedge", v0x55a707f6d570_0, v0x000000000000_0, 1.0, 0, v0x55a707f6d450_0;

The individual elements:

.tchk_width <file_idx> <line_num>, "<starting_edge>", <reference_signal>, <condition>, <limit>, <threshold>, <notifier_signal>;

Note: The automatic insertion of such a record into the .vvp file is not yet implemented, for now this has been tested manually.

The following is supported:

  • Both "posedge" and "negedge" as starting edge
  • Violation message
  • SDF annotation
  • cbTchkViolation VPI callback

The following is not supported:

  • Conditions

I have got some tests prepared, but I will commit them only after the record insertion works.

Since my GSoC project is coming to an end and the next few weeks will be busy for me, it may be some time before I get back to finish this, but I do intend to.

However, what has already been implemented could be reviewed in the meantime, thanks!

@mole99 mole99 marked this pull request as draft September 12, 2023 09:50
@mole99
Copy link
Contributor Author

mole99 commented Sep 12, 2023

The CI fail is because the output for one testcase is now different.

@mole99
Copy link
Contributor Author

mole99 commented Dec 22, 2023

Unfortunately nothing has progressed here. I hope to find more time in the new year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant