Prior to the Vivado 2016.1 release, the MYVIVADO variable was available for users to apply a patch without altering the original install location.
Over time more Xilinx applications have employed the patch process. To avoid confusion for other ("Non-Vivado") products, a new, general variable (XILINX_PATH) is being introduced with the Vivado 2016.1 release.
How do I use the XILINX_PATH environment variable to apply a tactical patch for Vivado or Xilinx tools?
When launching Xilinx software tools a "loader" script is run to set up the environment as needed for the tool.
The loaders will read and handle both the new XILINX_PATH variable and the MYVIVADO variable, although XILINX_PATH will be the preferred variable to use.
The loader will look for the new variable (XILINX_PATH). If it is set, it will be used to locate all patches.
If it is not set, the loader will look for the old variable (MYVIVADO) and use it to locate all patches.
The loader will not use a hybrid of both values. If both are set, the new variable (XILINX_PATH) takes precedence of over the old variable.
In the local tool environment, the loader will ensure both the new variable (XILINX_PATH) and old variable (MYVIVADO) are set to the same value before launching the application executable. This allows applications which are using the new variable and applications still using the old variable to coexist.
The XILINX_PATH can contain one or more paths (delimited by a ':' on Linux, ';' on Windows) to other patches.
The $XILINX_PATH area allows you to use Xilinx software patches without affecting your original install area.
In a shared environment, this allows individual users to apply any patch they need without affecting other users.
The $XILINX_PATH directory structure should match that of the Vivado or other Xilinx Software tool install areas.
Note: If a certain patch is desirable for use by all engineers at a site, In Vivado 2014.4 and later, the patches can be installed in the $XILIINX_VIVADO install directory under a user-created "patches" directory.
It is important to use patches only with the software for which they were built.
For example, if you have a patch in the $XILINX_PATH area that was built for Vivado 2015.3, you must not use this patch with the 2016.1 version of Vivado tools.
Patches that are built for a certain build of software are included in the next full release of the software.
When the Vivado software loads a data file (for example, a speed file), it first checks to see if the required file exists in the $XILINX_PATH area.
If so, it uses it and prints a message notifying the user that a $XILINX_PATH data file is overriding the default Xilinx Software Tool data file.
Next, Vivado will look in the $XILINX_VIVADO/patches directory.
If the file does not exist in the $XILINX_PATH or patches directories then Vivado (or the other Software tool) uses the original data file within the install directory.
The following is an example of how to change from a standard environment to an environment that accesses a patch using the $XILINX_PATH variable on Linux:
setenv XILINX_PATH /home/user/patches/Vivado/2016_1_ar65123_patch
On Windows, the appropriate commands would be:
The paths contained in XILINX_PATH will take precedence going from left to right.
This means that if patches contain the same files, the files in the first patch listed in XILINX_PATH will be used.
Using Multiple Vivado Patches:
These are the options for using multiple patches:
For Vivado 2014.4 to Vivado 2016.2, we have the following support for multiple patches:
One patch with loaders without XILINX_PATH
One patch with loaders using XILINX_PATH