In the 4.1i version of XST, VHDL library management was significantly enhanced by the introduction of a library mapping file and two new parameters: XSTHDPINI and XSTHDPDIR. The library mapping file contains the library name and the directory in which this library is compiled. XST can maintains the following two library mapping files:
- The "pre-installed" file that is installed during the Xilinx software installation.
- The "user" file that you can define for your own projects.
The "pre-installed" (default) INI file is named "xhdp.ini" and is located in %XILINX%\vhdl\xst. This file contains information about the locations of the standard VHDL and UniSim libraries. Do not modify this file, but the syntax can be used for user library mapping. This file appears as follows:
-- Default lib mapping for XST
You can use this file format to define where each of your own libraries are placed. By default, all compiled VHDL files are stored in the "xst" sub-directory of the ISE project directory. You can put your custom INI file any where on a disk using one of the following methods:
- Select the "VHDL INI File" menu in the "Synthesis Options" tab of the Synthesis process properties within ISE.
- Set up the XSTHDPINI parameter using the following command in stand-alone mode:
set -xsthdpini <file_name>
You can give this library mapping file any name that you want, but it is best to keep the .ini classification. The format is: <library_name>=<path_to_compiled_directory>. (Use "--" for comments.)
Sample text for "my.ini":
The XSTHDPDIR parameter defines the location in which VHDL compiled files must be placed if the location is not defined by library mapping files. You can access this switch with one of the following methods:
- Select the "VHDL Work Directory" menu in the "Synthesis Options" tab of the Synthesis process properties within ISE.
- Using the following command in stand-alone mode:
set -xsthdpdir <file_name>
In this example, three different users are working on the same project. They share one standard pre-compiled library, "shlib" that contains specific macro blocks for the project. Each user also maintains a local work library, but User 3 places it outside the project directory (i.e., in c:\temp). Users 1 and 2 share another library ("lib12"), but do not share it with User 3. The settings required for the three users are as follows:
User 3 must also set:
XSTHDPDIR = c:\temp