Ncelab CUVHNF error in ovm_policies.svh and ovm_pair.svh

Hi,
I’m trying to write a SV based OVM environment which has 2 OVCs with virtual sequences. I’m using irun, 9.2 version of NCSIM. I’m getting ncelab error on ovm files. can anyone help me?
#################################################
return a.comp(b);
|
ncelab: *E,CUVHNF (/ovm_sv/ovm-2.1/src/methodology/ovm_policies.svh,106|16): Hierarchical name component lookup failed at ‘comp’.
return t.first.comp(first) && t.second.comp(second);
|
ncelab: *E,CUVHNF (/ovm_sv/ovm-2.1/src/methodology/ovm_pair.svh,81|22): Hierarchical name component lookup failed at ‘comp’.
############################################

Thankyou,
Kaushik

Hello Kaushis,

I am running open source ovm2.1 with IUS9.2s11. I haven’t run into the issue that you are describing. Could you please submit a Cadence Support Request by using sourcelink.cadence.com?

Thanks,

Umer

Hi Sameer,

Can you please checkout that comp method is defined in your data class?

Thanks,
Vaibhav

I’m getting similar messages that previous posters when trying to elaborate the design:
*ncelab: *E,CUVHNF (/vlsicad/soft2010lnx/IUS82HF015/tools/ovm/sv/src/tlm/ovm_imps.svh,94|35): Hierarchical name component lookup failed at ‘ok_to_put’.
NONBLOCKING_PUT_IMP (m_imp, T, t) | ncelab: *E,CUVHNF (/vlsicad/soft2010lnx/IUS82HF015/tools/ovm/sv/src/tlm/ovm_imps.svh,94|35): Hierarchical name component lookup failed at 'ok_to_put'. NONBLOCKING_PUT_IMP (m_imp, T, t)
|
ncelab: *E,CUVHNF (/vlsicad/soft2010lnx/IUS82HF015/tools/ovm/sv/src/tlm/ovm_imps.svh,94|35): Hierarchical name component lookup failed at ‘ok_to_put’.
irun: E,ELBERR: Error during elaboration (status 1), exiting.

I compiled all source codes using ‘irun -compile -sv -ovm’ also including the OVM source library using ‘-ovmhome’. After running ‘irun -sv -ovm -f compile_ius.f’ to my top level module, I got the elaboration errors. File ‘compile_ius.f’ was a modification of the file supplied with OVM 2.0.3.

I could not find ‘ok_to_put()’ method from the OVM reference manual supplied with IUS 8.20 although error messages seem to indicate that I have not implemented such methods somewhere in my code. I have used the macro `ovm_nonblocking_imp_decl in several places. I’m currently trying to use OVM 2.0.1 with IUS 8.20-s015. The code compiled and ran just fine with Modelsim 6.5c using OVM 2.0.3. I do not have a chance to switch to newer versions of IUS, so I have to find a compatible OVM version with IUS 8.20-s015.

If I wanted to use OVM 2.0.3, should I compile ovm_pkg.sv first, before compiling and running my own code, and then link the compiled library to my code?
I tried compiling ovm_pkg.sv (OVM 2.0.3) using ‘irun -sv -compile ovm_pkg.sv’ but got the following errors messages:

*irun(64): 08.20-s015: (c) Copyright 1995-2009 Cadence Design Systems, Inc.
file: ovm_pkg.sv
Q.delete(); //SV 2008
|
ncvlog: *E,NPITEM (ovm_macros.svh,30|5): Not a valid package item: ‘module/udp instance’ [SystemVerilog].
(include file: ovm_macros.svh line 30, include file: ovm.svh line 23, file: ovm_pkg.sv line 26)
Q.delete(); //SV 2008
|
ncvlog: *E,EXPLPA (ovm_macros.svh,30|5): expecting a left parenthesis (‘(’) [12.1.2][7.1(IEEE)].
(include file: ovm_macros.svh line 30, include file: ovm.svh line 23, file: ovm_pkg.sv line 26)
if(ovm_report_enabled(VERBOSITY)) \
|
ncvlog: *E,NULLEI (macros/ovm_message_defines.svh,107|38): zero length escaped identifier [2.7.1(IEEE)].
(include file: macros/ovm_message_defines.svh line 107, include file: ovm_macros.svh line 39, `include file: ovm.svh line 23, file: ovm_pkg.sv line 26)

*Thanks in advance, and I’d appreciate all the help I can get to be able run the code with IUS. Let me know if you need more information.