Resources for learning OS-VVM

Status
Not open for further replies.

garvind25

Full Member level 3
Joined
Oct 28, 2012
Messages
176
Helped
0
Reputation
0
Reaction score
1
Trophy points
1,298
Visit site
Activity points
3,066
Hi,

I am looking forward to learn OS-VVM. In this regard, I wanted to know the following:


** Can i use Xilins ISE 10.1 and its in-built simulator for OS-VVM based simulations? If so, how pls (any tutorials etc)

**If not, which free tools (Windows based) will support OS-VVM? I am aware of GHDL but looking for something better.

**Do you know of any books which I can use for learning OS-VVM? I am trying internet resources but I will prefer a systematic approach.



Thanks,

Arvind Gupta
 
Last edited:

OSVVM does not run yet under Xilinx tools. If you want to use it with Xilinx tools, file a bug report against their tools.

OSVVM does run under Aldec ActiveHDL/RivieraPRO, Siemens ModelSim/QuestaSim, GHDL, and Synopsys VCS. We are working with Cadence to get our entire regression suite working under Xcelium - and it is real close.

You can use the free Intel/Altera QuestaSim/ModelSim licenses. You should be able to get a student license from Aldec.

To learn OSVVM on your own, see readme which is rendered at the bottom of the page: github.com/osvvm/documentation

An instructor led class is also available at: synthworks.com/public_vhdl_courses.htm#VHDL_Test_Bench_Training
 

** Can i use Xilins ISE 10.1 and its in-built simulator for OS-VVM based simulations? If so, how pls (any tutorials etc)
**If not, which free tools (Windows based) will support OS-VVM? I am aware of GHDL but looking for something better.

If the ISE comes bundled Modelsim then yes, it can be used. The osvvm.org webpage clearly mentions the simulators supported - Aldec, Mentor(now Siemens), and GHDL.

**Do you know of any books which I can use for learning OS-VVM? I am trying internet resources but I will prefer a systematic approach.
Have you taken a look at the OSVVM Github?

A piece of advice...have a look at VUnit. I am using it and writing better test-cases. VUnit also has plugin for OSVVM.
 

@dpaul OSVVM provides a complete solution - from basic stuff like Message Filtering (logs), Error Handling (alerts in OSVVM), and Self-Checking (affirmations) - to verification capabilities like Functional Coverage and Randomization - to verification data structures like Scoreboards, FIFOs, and Memory models - to a full Transaction based test environment using procedure dispatch and verification components.

Certainly it can handle writing better test cases in a similar fashion to any other approach.

The OSVVM scripting has grown up significantly - it had a complete work over in 2020.

At this point, the reporting in OSVVM test reporting is a combination of VHDL (generating YAML files) plus the scripting (converting the YAML to XML or HTML). Currently OSVVM generates JUnit reports (like VUnit does) and in addition, it produces an Build Summary report in HTML (like JUnit but more verification details including a summary of Checks, Errors, and Functional Coverage), and for each test case, a detailed report is created that includes a summary of the Alerts generated, a detailed functional coverage report (rivaling SystemVerilog tools in capability). Coming in release 2022.02 (already in dev) the test case report will also include Scoreboard reports and transcript files will be able to be generated in HTML (with tags to find each test case results quickly).

An example of the build summary report is at https://osvvm.org/archives/1879. An example of the Functional Coverage portion of the test case report is at https://osvvm.org/archives/1897
 
@SynthWorks
I think you have missed this statement of mine!
VUnit also has plugin for OSVVM.
Moreover OSVVM is a verification methodology whereas VUnit is a test-framework. VUnit is also suitable for test automation and continuous-integration.

I am just trying to show the OP that he can adapt the VUnit as a framework and use OSVVM. In my opinion both of these are a very good combination.
 
Last edited:

@dpaul
> VUnit also has plugin for OSVVM.
VUnit only includes the OSVVM utility library. I think the intent there is to facilitate using the OSVVM RandomPkg and CoveragePkg with VUnit.

OSVVM is more than just a Utility library (also called OSVVM), OSVVM also includes a Verification Component library (currently AXI4 full, AxiStream, AxiLite, and UART) and Scripts (TCL matching what some simulator GUI's use, but also runs nicely under Linux/MSYS2 using tclsh).

So saying VUnit includes OSVVM is not exactly true. VUnit only contains a small portion of OSVVM.

The entire OSVVM project is on GitHub at: https://github.com/OSVVM/OsvvmLibraries
Each piece of OSVVM is a separate submodule of OsvvmLibraries. OSVVM can be downloaded either by:
`git clone --recursive https://github.com/osvvm/OsvvmLibraries`
or as a zip file by going to: https://osvvm.org/downloads

> OSVVM is a verification methodology whereas VUnit is a test-framework
That is just a marketing thing. Like VUnit, OSVVM scripting supports either small tests or large projects. Like VUnit, OSVVM can run CI jobs using the our scripts and produce a JUnit XML file. OSVVM uses the word, "Methodology" to make it clear that VHDL + OSVVM is competitive with SystemVerilog + UVM.

We do have people who use OsvvmLibraries (for VHDL) and VUnit (for python scripting), however, the recent additions of HTML files in OSVVM are not currently available in a VUnit like environment.

Long term, if you prefer python be sure to follow the EDA2 project (https://edaa-org.github.io/) as their intent is to unify the scripting capabilities of VUnit, OSVVM, and others - and important to OSVVM provide the HTML file generation.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…