Tuesday, July 23 2024

[1] : Environment setup

Dear internet traveler,

First, I want to have an environment I can use to test and learn about Verification/OSVVM. To do that, I will use different resources, based on the "Getting Started with OSVVM" page from the OSVMM documentation. I am using Ubuntu 22.04.4.

Modelsim :

The first step will be to install Modelsim. I chose to use Modelsim instead of other tools like GHDL because the documentation seems to use Modelsim as the default tool for the tutorial.

I downloaded Modelsim from this page . Once downloaded, I followed the instructions by running the ".run" file :

After the installation, to test Modelsim, I went to the installation folder under ~/intelFPGA/20.1/modelsim_ase/linux and used the command ./vsim to launxh Modelsim. I encountered a little problem when trying to launch vsim :

$ bash: ./vsim: No such file or directory

To fix it, I used the instructions from another blog—huge thanks to Matthew for that.

After that, I was able to launch vsim and get the following window :

OSVVM :

The next step is to download the OSVVM libraries. I chose to use the GitHub repository instead of the zip file. To do that, I started by cloning the repository when in my home folder:

$ git clone --recursive https://GitHub.com/OSVVM/OsvvmLibraries

And that's it ! It is now time to test the demo, to ensure that the installation was done correctly.

The demo :

I followed the getting started instructions by first creating a "sim" directory in my home directory and launching Modelsim from inside the sim directory (I did not add the Modelsim binary to the PATH yet) :

$ cd ~
$ mkdir sim
$ cd sim
$ ~/intelFPGA/20.1/modelsim_ase/linux/vsim .

Once Modelsim was launched, I used the command from the getting started page directly in Modelsim :

source ../OsvvmLibraries/Scripts/StartUp.tcl
build  ../OsvvmLibraries
build  ../OsvvmLibraries/RunDemoTests.pro

And ... Hooray! We got some results that seem to show the demo tests worked :

For the moment, this will be good enough to validate the environment setup. Some changes may be needed in the future, but I'll see that later.

In future posts, we will take a look at the process used for verification and we will start to look at how OSVVM works and can help us simplify our testbenches.

Thank you, and see you soon!

[0] : I am going on an adventure !

Dear internet traveler,

This is a first for me! I have never written a blog before. I will go straight to the point: The purpose of this website is to document my journey into OSVVM (and design verification first, I guess).

I will go into more detail about what is OSVVM once It gets more clear for me. Same for FPGA verification. I had some courses about this subject during my studies, but the problem is that I can't find too much information about digital design verification, specifically using OSVVM and VHDL in general. I want to document everything so that if someone finds himself in the same place as me, he can get some useful information about the process. Especially if the person is me in some month.

There are multiple points that I would like to start documenting :

  • The installation process, or how to get an environment allowing the user to learn.
  • Theoretical subject about why verification is important, how it works, and what are the benefits of it (Based on more experienced engineers' posts on the internet of course)
  • Theoretical approach of the verification process for FPGA-based design
  • Practical examples with simple design/premade demo from OSVVM

If I can make half of the posts I am thinking about, I would be very happy!

Even if this blog may mainly benefit me, because I think that it is easier to learn things when writing and reporting about them, I hope that it may help some people. Also, If I write here some stuff that is not correct and you happen to pass by, please feel free to comment about it to correct me, as I say it is a journey and I am starting it with not a lot of XP.

That's it for now! Not a lot of information, but we have a plan at least. The next post will probably be about the installation process as it is the easier place to start.

Thank you, and see you soon!