Answers Database
M1.3/M1.4: CONCEPT2XIL, NGD2VER, VERILOG-XL: Error! Instance specific item not found in `uselib path. Directory : <path_to_library>
Record #2122
Product Family: Software
Product Line: FPGA Implementation
Problem Title:
M1.3/M1.4: CONCEPT2XIL, NGD2VER, VERILOG-XL: Error! Instance specific
item not found in `uselib path. Directory : <path_to_library>
Problem Description:
Keywords: instance specific item not found module primitive
defined uselib library, ngd2ver, concept2xil, dsgnmgr
Urgency: standard
General Description:
Verilog-XL may issue the following error when reading in
a Verilog netlist:
<output>
Error! Instance specific item not found in `uselib path.
Directory : <path_to_library)
Error! Module or primitive (XXXX) not defined
[Verilog-MOPND]
</output>
Solution 1:
This error usually means that your uselib statements have been
specified incorrectly. Either:
1. the libraries you have specified do not exist (check that
you have specified the paths correctly)
2. the specified component does not exist in that library
3. you have multiple `uselib statements, and the `uselib
statement that referenced the required library may have
been overridden by a subsequent one (the last `uselib
read in by the simulator always overrrides all earlier
ones).
A common situation which requires multiple `uselib
is a design done in Cadence Concept that includes
LogiBLOX modules. In this case, `uselib directives are
required for both the Verilog Unified Libraries for the
Concept library components (usually located in
$XILINX/cadence/data/verilogxxxx), as well the Xilinx
Verilog SIMPRIM libraries ($XILINX/verilog/data) for the
LogiBLOX modules.
The problem can be resolved in this case by processing
the design up to NGDBUILD, then running NGD2VER on the .NGD file
with the -tf and -ul options and using the resulting .tv
file as the testbench template solves the problem.
Solution 2:
Check the Verilog file for UNIX compatibility. A Verilog file imported
from a DOS environment will designate a new line by a line-feed and a
carriage return. In a UNIX evironment, a new line is designated by
only a line feed. For example, this file was imported from a DOS
environment:
`uselib dir=/qahog/m1builds/x1_4.12/unix/verilog/data libext=.vmd^M
Use the dos2unix utility strip out the "^M" tagging the end-of-line.
Dos2unix is available on most UNIX systems.
End of Record #2122
For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals! |