Standard messaging feature in OSVVM?
May 14, 2013 at 08:37 #613
Having used eRM (Specman/E), RVM and SV/VMM/OVM/UVM side, one of the most common features is to standardize the messaging (reporting/logging as you may refer to). We have had several precursors perhaps much earlier to the birth of SV here (I recall some EASICS package), but what is OSVVM’s position here? I see in FIFO example, a local Message procedure is being deifned & used, but still is rudimentary.
SriniMay 16, 2013 at 13:47 #616Jim LewisMember
Propose something (ie: procedure interfaces). Perhaps we can hash it out. See what is available and what needs to be created.
JimMay 31, 2013 at 00:32 #651Trond DanielsenMember
You might find this open-source library written by a Norwegian company interesting: https://bitvis.no/products/bitvis-utility-library/. It has several useful logging features such as verbosity control etc.August 27, 2013 at 03:46 #711Espen TallaksenMember
I was just made aware of this reference to our library.
Our ‘Bitvis Utility Library’ has a very low user threshold and provides good mechanisms for logging and verbosity control. It also includes alert-mechanisms and various check-routines that you need in all testbenches.
It is extremely easy to use as we have focused on simplicity for simple testbenches – and extendibility for more advance use.
ALDEC found this interesting enough to include in one of their webinars, so you can find my webinar presentation there (see link via https://bitvis.no/downloads/). A presentation on the library details is also available.
In the zip-file you will also find a Quick-Reference and a testbench example for a very simple interrupt Controller.
Try it out. It’s free 🙂
EspenJune 6, 2014 at 06:21 #812RalfMemberJune 6, 2014 at 08:25 #814Jim LewisMember
My preference in OSVVM printing would have been to be closer to textio style operations, however, the coverage data structure must be embedded in a protected type and protected type methods do not allow pointers or file handles.
As a result, to handle anything other than OUTPUT, I embedded the file handle internal to the data structure. It would be possible for OSVVM printing to call a separate protected type that handles this sort of thing for it. For my uses, I need to be able to maintain the options that a model may print to OUTPUT, a file dedicated to its own usage, a single file shared by the whole test, or possibly a file shared by a group of tests (this may require some sort of generic package passing and may be on the bleeding edge of simulator support). With the right foundation layer, it is likely we can apply a name based filtering to the printing – provided of course the foundation layer also allows a “non-optional” mode of printing also.
At test completion, I prefer that each transaction model provides a summary of the errors it has seen and then to print the total error count seen by the testbench. I am not sure how this currently fits into BitVis.
I know Espen, so we may be able to get some convergence on this. Not sure how the difference in our testbench approaches will accommodate each other.
If it does not work out with the BitVis library, I would then expect to find another one – unfortunately , this would also mean finding someone to work on it as I am quite tied up with CoveragePkg and some of the other planned items – scoreboards and memory models.
I have some high priority updates I am working on for CoveragePkg (new features). Once I finish those, I will need to set aside a block of time to come back to reporting.
JimJune 7, 2014 at 01:44 #815Espen TallaksenMember
OSVVM and Bitvis Utility Library both provide excellent support for making good testbenches in VHDL, and they cover some of the most important aspects with respect to improving development efficiency and product quality.
- Functional coverage and Advanced randomisation in OSVVM
- Logging/reporting and checking-methods (incl. simple randomisation) in Bitivis Utility Library
I agree that it would great to make these two libraries more compatible, so that VHDL users can get the best out of both libraries – in the same testbench.
I think it could be possible to add some functionality to Bitvis Utility Library to allow local error/alert summary in addition to the global one – without jeopardising the simplicity required for simple testbenches.
We might actually be able to look into this already during the summer months. Let’s find out what is needed and what we can do 🙂
Jim, – just call me or email me when you have time to discuss this.
- You must be logged in to reply to this topic.