-
Notifications
You must be signed in to change notification settings - Fork 6
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
Where to release OSVVM based timing checks? #3
Comments
We would probably want to look at what Vital provides and what OVL provides to make sure we are not creating duplicates. You can find OVL here: https://www.accellera.org/downloads/standards/ovl/ovl-statement-of-use VITAL probably does though, but in a much more complicated way. |
Neither Vital nor OVL can be duplicates as these are not connected to AlertLog. Of cause we can see what kind of checks they have, but we need checks connected to AlertLog in verification components. |
I agree the checks need to report via AlertLog, however, if we did not have to write the base check, that would be nice. |
Timing checks can go here or in osvvm library. It is a matter of perspective. I think these sort of things should go together. And maybe go together with things like generate pulse, ... If you look at them collectively, do you use some of them directly in the testbench/TestCtrl such as generate a pulse, or check that something just pulsed. In that case they probably go in the OSVVM utility library. OTOH, if they are VC specific, maybe they go here (common). OTOH, I put the FIFO fill operations here - because they support MIT, but they are use directly in a testbench. So this would seem to be a precedent to also put the timing checkers here - even if they are used directly in a testbench. |
My feeling is more for Common compared to OSVVM(-Library) because:
Maybe a subdirectory in |
I have developed some timing checks based on the OSVVM lecture material that integrates the basic timing check processes into the AlertLog hierarchy and allows OSVVM-based verification models to add timing checks by instantiating these checks.
Example:
Proposed locations:
The following checks can be offered in a first iteration:
Possible other checkers:
(rise in A → rise on B after X ns but within Y ns)
Possible enhancements:
The following additions to AlertLog would be great to support a better user experience:
Currently, the log reports has in indeterministic order of items due to registering all timing checks in the same Δ-cycle. I currently do some ordering using
block
statements and Δ-cycle delays onModelIDs
, so timing checks are registers Δ+1 compared to e.g. an SPI controller in an DAC verification component.The text was updated successfully, but these errors were encountered: