Reply To: Question to the OSVVM community: how to approach the methodology, learning curve

Why OSVVM™? Forums OSVVM Question to the OSVVM community: how to approach the methodology, learning curve Reply To: Question to the OSVVM community: how to approach the methodology, learning curve

Richard Head

Hi Andrea

I am answering as someone who was in a simular position to you, who now has a good working knowledge of OSVVM and a full AXI4 Verification BFM available to me hand written using my own interfacing around OSVVM features. I have never done any OSVVM training, but I do have a background with some experience of SV and UVM.

1. I cannot comment on any training, but I think one big advantage of OSVVM is it’s toolbox like approach. It is very easy to add certain parts to existing testbenches. I have seen several older testbenches where I wrok where people have picked up OSVVM purely for the randomisation package and to a lesser extent, the logging. These are probably the two easiest parts to start using. A lot of the knowledge you need to use OSVVM is more testbench theory than OSVVM itself. I did a Doulos advanced verification course about 15 years ago, plus my UVM experience, which made my take up of OSVVM much easier. Often it is these concepts that are the hardest to learn.

2. I custom built an entire AXI verification package, built around OSVVM. I do not use the OSVVM transaction techniques but it is full of scoreboards and logging. My main reasoning was that simulating a MIG and DDR is SLOOOOOW, so I needed something much more lightweight. It is now capable of bursts, transaction queuing and timeout alerts. And because I went all in with AXI4, AXI4L came for free (its just a limited subset of AXI4 – my AXI4L master BFM are little more than a wrapper around the AXI4 BFM). I have two slave BFMs – a simple one that simply absobs transactions and returns responses (randomised data for reads). This is useful if you are testing only the write side, for example. And another that has a memory model underneath. It is extremely fast (plugging a Master BFM into a Slave BFM I can write an entire 4k picture in about 5 seconds with axi transactions). This initially took about 3 months of work pretty much dedicated to this BFM, with plenty of additions and tweaks in the 2 years since I wrote it.

3. Getting a scoreboard working first comparing actual vs expected data would be a good first step. Then you could probably use the Coverage package to maybe reduce the need of using externally generated data (it would likely require a VHDL model though).

4. I think Jim Covered this.

I think ActiveHDL is pretty cheap for a single language licence. I think it is about 1/4 the price of questa. It is very fast and very capable.

Good luck with your OSVVM journey