AR# 14030


7.1i XST - "ERROR:HDLParsers:3014 - file_name.vhd Line xx. Library unit pkg_name is not available in library lib_name."


General Description:

When I synthesize a VHDL design with XST, the VHDL parser issues the following error:

"ERROR:HDLParsers:3014 - <file>.vhd Line xx. Library unit <my_pkg> is not available in library <my_lib>."


When you access a VHDL library, the library must be declared and then used as follows:

library <my_lib>;

use <my_lib>.<my_pkg>.all;

If the package name listed in the usage line does not match a package name in the library file, this error results. Be sure that the package <my_pkg> exists within a library file compiled into the library <my_lib>.

This error might also occur if the library file has been placed in a library that does not match the usage declaration. For example, compiling "my_lib" into a library called "user_lib" and writing the usage line as:

use work.my_lib.all;

creates the error reported above. "Work" is a valid library, but the proper usage statement is:

use user_lib.my_lib.all;

When a package is declared in a lower-level module, XST has difficulty detecting this and reports the error message above.

NOTE: This specific problem has been fixed in the 7.1i design tools.

This error message might be due to a syntax error in your VHDL module code. Check your VHDL source file for syntax errors.

If no errors are identified, you can avoid the error by creating your own library and placing all packages files into it. XST will automatically compile the user library before the work library and will select the packages information.

XST can then analyze all the files and present information about the true nature of the problem.

NOTE: This specific problem has been fixed in the 5.1i design tools.

XST also issues the above error when a package has been made and compiled into the default "work" library. Adding the work library declaration (which is not necessary according to the VHDL specification) to the source file resolves the error.

For example:

library ieee;

library work; -- add the work library declaration


This error message can occur if your design uses user-defined packages.

XST generates this error message if the package file contains a function definition, but no package body with a description of the function (for instance, if you have placed the package body and the function description into a different file).

To work around the problem, make sure the package and the package body are in the same file.
AR# 14030
Date 03/20/2012
Status Archive
Type General Article
People Also Viewed