Compiling UVM Express examples with ModelSim 10.1b

Hi,

I’m trying to compile the UVM Express examples with ModelSim 10.1b out-of-the-box, which fails as expected, since the example download page specifically states they don’t use the built-in UVM release. However, so far I couldn’t find any instructions on how to actually convert the code or the makefile(s) to use the built-in UVM 1.1 release (or how to compile my own code for that matter).

Any pointers greatly appreciated. I’m probably just missing a compile switch or something…

Thanks,

Joern

OK, I figured it out myself.
For anybody else new to UVM with a clean-room ModeSim installation, this is what I had to do (and yes, I realize this is the Academy Forum, not the ModelSim helpdesk):

  • point ModelSim to it’s own built-in UVM library using the LibrarySearchPath variable in the [vlog] section of the modelsim.ini file
  • download the appropriate UVM package from Accellera, since the built-in lib seems not to provide the include files required

I could raise the question of

  • why ModelSim doesn’t come with the LibrarySearchPath pre-configured
  • why ModelSim wouldn’t provide the include files with the built-in library

but what’s the point…

In reply to jhenneberg:

Hi Joern,

We highly recommend that people use the built-in UVM - the SystemVerilog and the DPI-C code are both pre-compiled, and Questa will pre-load it for you. UVM Express has the same recommendation - use the built-in UVM.

I ran Questa 10.1b (win32) and ModelSim 10.1b (linux) using UVM Express 0.7, compiling and running the examples. Each time, the built-in UVM was automatically used. I didn’t need to download the Accellera source code.

In the default modelsim.ini file from 10.1b, the LibrarySearchPath is defined as:

LibrarySearchPath = mtiAvm mtiOvm mtiUvm mtiUPF

If I change this line (removing the mtiUvm setting):

LibrarySearchPath = mtiAvm mtiOvm mtiUPF

then I get an error:

** Error: ../abc_pkg/abc_pkg.sv(22): Could not find the package (uvm_pkg).  Design read will continue, but expect a cascade of errors after this failure.  Furthermore if you experience a vopt-7 error immediately before this error then please check the package names or the library search paths on the command line.

Could it be possible that you are using a modelsim.ini file that does not have mtiUvm in the search path?

Can you share the error messages you saw?

Best regards,

rich

In reply to richedelman:

Hello,
A little off-topic question - does Modelsim 10.1b (Not Questasim) now support UVM?

Ajeetha, CVC

In reply to ajeetha:

We don’t qualify Modelsim with the UVM because most of the examples in our regressions use constructs that are not licensed for use without Questa. However, the UVM base class library should work with Modelsim.

HI All,

As Richedelman mentioned, below method will work for while using the precompiled libraries for uvm_reg-*(eg: uvm_reg-1.1),which where used when we are using the uvm register model in ovm.I given the way to use the pre-compiled libraries for register model.

In modelsim.ini local file provied the variable like mtiUvmReg = $MODEL_TECH/…/uvm_reg-1.1
Provied this variable in the LibrarySearchPath = mtiAvm mtiOvm mtiUvm mtiUvmReg mtiUPF

****other wise you will get the error like as below mentioned by Richedelmen.

thanks to Richedelman ,i used this way to fix my uvm_reg package issue.

i hope this will help …

thanks

Given below is the post replied by Richedelman,this is for reference in my post*******
Re: Compiling UVM Express examples with ModelSim 10.1b

Hi Joern,

We highly recommend that people use the built-in UVM - the SystemVerilog and the DPI-C code are both pre-compiled, and Questa will pre-load it for you. UVM Express has the same recommendation - use the built-in UVM.

I ran Questa 10.1b (win32) and ModelSim 10.1b (linux) using UVM Express 0.7, compiling and running the examples. Each time, the built-in UVM was automatically used. I didn’t need to download the Accellera source code.

In the default modelsim.ini file from 10.1b, the LibrarySearchPath is defined as:
LibrarySearchPath = mtiAvm mtiOvm mtiUvm mtiUPF

If I change this line (removing the mtiUvm setting):
LibrarySearchPath = mtiAvm mtiOvm mtiUPF

then I get an error:
** Error: …/abc_pkg/abc_pkg.sv(22): Could not find the package (uvm_pkg). Design read will continue, but expect a cascade of errors after this failure. Furthermore if you experience a vopt-7 error immediately before this error then please check the package names or the library search paths on the command line.

Could it be possible that you are using a modelsim.ini file that does not have mtiUvm in the search path?

Can you share the error messages you saw?

Best regards,

rich