I’m a beginner with OVM and when I tried to run the example in $ovm_install_dir/examples/ovm_examples/tlm/fifo with irun (v6.2s3), I got lots of compile error messages.
Could anyone help tell me what’s wrong?
Thanks ahead!
Command: irun -f compile_ius.f
Error message:
file: ./INCA_libs/irun.lnx8664.06.20.nc/svpplib/fifo.sv
import ovm_pkg::*;
|
ncvlog: E,MULTPK (./INCA_libs/irun.lnx8664.06.20.nc/svpplib/fifo.sv,33|15): Multiple (2) packages named “ovm_pkg” were found in the searched libraries:
→ found verilog_package worklib.ovm_pkg:sv (VST)
→ found verilog_package worklib.ovm_pkg:sv (VST).
import ovm_pkg::;
|
ncvlog: *E,NOPBIND (./INCA_libs/irun.lnx8664.06.20.nc/svpplib/fifo.sv,33|15): Package ovm_pkg could not be bound.
ovm_blocking_put_port_int put_port;
|
ncvlog: *E,NOIPRT (./INCA_libs/irun.lnx8664.06.20.nc/svpplib/fifo.sv,40|28): Unrecognized declaration ‘ovm_blocking_put_port_int’ could be a spelling mistake [SystemVerilog].
function new(string name, ovm_component p = null);
|
ncvlog: *E,EXPRPA (./INCA_libs/irun.lnx8664.06.20.nc/svpplib/fifo.sv,42|42): expecting a right parenthesis (‘)’) [A.2.6(IEEE)].
function new(string name, ovm_component p = null);
|
ncvlog: *E,NOIPRT (./INCA_libs/irun.lnx8664.06.20.nc/svpplib/fifo.sv,42|42): Unrecognized declaration ‘ovm_component’ could be a spelling mistake [SystemVerilog].
I just tried running the tlm_fifo example in ovm-1.0.1 and I am able to compile and run it without any issues. See run log below.
I noticed that your file hierarchy is different than the ovm example directory. I have the example located at:
ovm-1.0.1/examples/tlm/tlm_fifo
and your example directory is:
$ovm_install_dir/examples/ovm_examples/tlm/fifo
Can you confirm that in your example directory you see:
test.sv compile_ius.f …
Compile_ius.f uses relative paths to pick up $OVMHOME/src directory. If you have moved the example directory, you’ll have to fix the incdir to point to $OVMHOME/src.
I hope this helps.
Regards,
Umer
SVSEED default: 1
OVM_INFO @ 0: reporter [RNTST] Running test …
0: used = 0 : size = 10
1: put data 0
11: put data 1
21: put data 2
31: put data 3
41: put data 4
51: put data 5
61: put data 6
71: put data 7
81: put data 8
91: put data 9
try_put status return: 10
101: do a blocking put
150: used = 10 : size = 10
300: used = 10 : size = 10
450: used = 10 : size = 10
600: used = 10 : size = 10
1000: getting one
1000: recieved data 0
1000: blocking put succeeded
2000: recieved data 1
2010: recieved data 2
2020: recieved data 3
2030: recieved data 4
2040: recieved data 5
2050: recieved data 6
2060: recieved data 7
2070: recieved data 8
2080: recieved data 9
2090: recieved data 10
2100: used = 0 : size = 10
Simulation complete via $finish(1) at time 2100 NS + 8
/home/umer/work/ovm-1.0.1/src/base/ovm_env.sv:274 $finish;
ncsim> exit
Hello,
I just copied the fifo example from the path your mentioned, i.e.
/examples/ovm_examples/tlm/fifo
and run it without problem.
Can you please check if the compile_ius.f is properly pointing to
the right path ? If you have copied the example in your homedir
you have to change the following lines:
+incdir+…/…/…/…/src
…/…/…/…/src/ovm_pkg.sv
to be sure they are pointing to the correct OVM install.
As Ric pointed out, I was looking at the wrong example. This time, I tried the correct example and the example runs in IUS6.2s3 without errors for me as well.
If you still get the error, I’d like you to try out another example to see if something may be corrupt with your install/examples. I’d recommend that you try running the xbus example in the examples/xbus/example directory.
If you still have issues, please submit a service request on sourcelink.cadence.com with a complete log-file or contact your local Cadence AE.
Hello,
Thanks for your advise. I have tried with xbus example and there is another error reported seems that there are some problem with my NC installation. I have asked local Cadence AE for help. Thanks again for your kindly advice. :-)