Hi all,
I am new to OVM and SV. I am integrating JTAG UVC into SoC env. During compilation, I am getting following error on IUS (8.20-s014).
ncvlog: ***E,MULTPK** (/nas/cadence/tools/VIPP_latest/jtag/08.20.002-s/cdn_jtag/sv/cdn_jtag_ovm_utilities.svh,22|13):
Multiple (3) 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)
-> found verilog_package worklib.ovm_pkg:sv (VST)
(\`include file: line ...)
**
import ovm_pkg::***
How can I get rid of this error?
Please note that SoC env. already has another UVC integrated.
Thanks
Sandeep
Hi Sandeep,
You can use “%nchelp -ncvlog MULTPK” to see what is the meaning of the error message.
Asa,
I already know the meaning of MULTPK error. It is flagged when there are packages compiled multiple times and when you try import it, simulator gets confused which compiled object to pick up. What I am asking is that why IUS compiles ovm_pkg multiple times? Is there any ways to find it out?
One reason could be that I am using 2 version of compiling ovm_pkg. At one place I am using `include ovm.svh and other place I am using import ovm_pkg::*. Probably, due to this, compiler is compiling ovm_pkg multiple times. But I am not sure about it. Any expert has any view on this?
Best Regards,
Sandeep.
http://digitalverification.blogspot.com
Sandeep,
I haven’t tried IUS, but from what I have heard/read about, IUS with OVM works best if you stick to single “include “ovm.svh”” at TOP level and avoid the import route.
Try it and it may work for you!
Srini
www.cvcblr.com
Hi Srini,
Multiple include of ovm.svh does not have any issue because this file uses `ifndef OVM_SVH condition. So once it is included, it will not be compiled again. Issue might come if we have two ways of using ovm.svh. One place we use include ovm.svh and at other place we use import ovm_pkg::* may cause probel. But for me this is not the problem as I have taken care of all this things.
After doing lot of trial and errors, I find out the file which is causing this problem. File is cds.lib where multiple logical libraries were pointing to same physical libraries as shown below.
-------Content of cds.lib--------
define lib1 ./INCA_libs/worklib
define lib2 ./INCA_libs/worklib
define worklib ./INCA_libs/worklib
Due to this, somehow, IUS is compiling ovm.svh in two diff logical library and when it finds import statement, its getting confused which lib to pick. So for time being, I changed cds.lib where lib1 and lib2 are now pointing to two different physical directory. This solves my problem. I am now using following cds.lib.
-------Content of cds.lib--------
define lib1 ./INCA_libs/lib1
define lib2 ./INCA_libs/lib2
define worklib ./INCA_libs/worklib
Thanks and Regards,
Sandeep
http://digitalverification.blogspot.com