Has anyone got Mentor's Modelsim PE Student version to work with UVM?

Hi all,

I wonder if any of you has been able to get Mentor’s Modelsim PE Student version (10.4a under Windows) working with even the most basic UVM code

I am following instructions provided at following post suggested a couple of times in this forum, with no success. I have also read many other related topics on this forums with no success either.

https://verificationacademy.com/cookbook/questa/compilinguvm

As far as I know the student version should work as long as basic UVM (no coverage, assertions, randomization) is used. Elaboration seems to be ok however as soon as the “run” command is issue to the simulator, it returns following errors

Now, I know this error is to do with the DPI library. There’s a macro that some people claim it works, “+define+UVM_NO_DPI”. This one gets rids of the some warnings at elaboration time, however the final error is still the same.

How to replicate this issue:

  1. Create a test.sv file like this
import uvm_pkg::*;

module test;
endmodule
  1. Elaborate

vlog +define+UVM_NO_DPI test.sv

Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015

Start time: 11:39:50 on Jul 13,2018

vlog -reportprogress 300 “+define+UVM_NO_DPI” test.sv

– Compiling package test_sv_unit

– Importing package mtiUvm.uvm_pkg (uvm-1.1d Built-in)

– Compiling module test

Top level modules:

test

End time: 11:39:51 on Jul 13,2018, Elapsed time: 0:00:01

Errors: 0, Warnings: 0

One thing to note here is that UVM 1.1d is being used. I tried the tool to use the new 1.2 as directed on the UVM cookbook link shown above with no success. I would not think this is the issue however, as UVM 1.1d should work the same for what I am doing.

  1. Simulate

vsim work.test_sv_unit

vsim

Start time: 11:41:05 on Jul 13,2018

Loading sv_std.std

Loading mtiUvm.uvm_pkg

Loading work.test_sv_unit

Loading mtiUvm.questa_uvm_pkg

** Warning: (vsim-3770) Failed to find user specified function ‘uvm_hdl_check_path’ in DPI C/C++ source files.

Time: 0 ns Iteration: 0 Region: /uvm_pkg File: C:/Modeltech_pe_edu_10.4a/win32pe_edu/…/verilog_src/uvm-1.1d/src/uvm_pkg.sv

** Warning: (vsim-3770) Failed to find user specified function ‘uvm_hdl_deposit’ in DPI C/C++ source files.

Time: 0 ns Iteration: 0 Region: /uvm_pkg File: C:/Modeltech_pe_edu_10.4a/win32pe_edu/…/verilog_src/uvm-1.1d/src/uvm_pkg.sv

(AND MANY MORE)…

  1. Run
    run

** Fatal: (vsim-160) C:/Modeltech_pe_edu_10.4a/win32pe_edu/…/verilog_src/uvm-1.1d/src/dpi/uvm_svcmd_dpi.svh(27): Null foreign function pointer encountered when calling ‘uvm_dpi_get_next_arg_c’

Time: 0 ns Iteration: 0 Process: /uvm_pkg/#INITIAL#619 File: C:/Modeltech_pe_edu_10.4a/win32pe_edu/…/verilog_src/uvm-1.1d/src/dpi/uvm_svcmd_dpi.svh

Fatal error in Module uvm_pkg at C:/Modeltech_pe_edu_10.4a/win32pe_edu/…/verilog_src/uvm-1.1d/src/dpi/uvm_svcmd_dpi.svh

Any help greatly appreciated
Thanks

In reply to kitesilicon:

This forum is not for discussing tool specie issues.

I can say switches like +UVM_NO_DPI are used when you compile the UVM package; not your own code. You need to make sure you compile and use the UVM package with those switches turned on instead of the pre-compiled versions.

In reply to dave_59:

Thanks David for the answer and hint

I understand this forum is not for tool-related issues, but this tool doesn’t offer any kind of support, and I do not know anywhere else I can ask

Looks like modelsim was able to support it in the past, from the answer you gave below

https://verificationacademy.com/forums/uvm/can-i-build-uvm-testbench-modelsim-pe-student-edition-101c

Looks like some people also got working UVM with the modelsim 10.1d version, for anyone interested they might want to give that a try. I am tired of uninstalling and reinstalling so the only option left for me is EDA playground