I have created an IP core, either using Manage IP or from a project IP catalog targeting a specific part.
However, when I read the IP core (read_ip) in a non-project mode Tcl script or select Manage IP => Open_Previously_Created_IP, the part for the IP core does not appear to be correct.
The IP core targets are generated for the wrong part (for example, xc7vx485tffg1157-1), instead of the device I selected.
Vivado issues messages similar to the following examples:
An error will result if the IP in use does not support the xc7vx485tffg1157-1 device.
Even though the Vivado tool is being run in "Non-project" mode, there is a pseudo project being created and used by Vivado.
The pseudo project will have less automated control over files and flow management.
The problem is a combination of two things:
If the created IP core device is anything other than the default, there will be a device mismatch with generated warnings or errors.
The simple way to work around this issue is to run a set_property Tcl command before reading the IP cores.
For example, the following command is run before the read_ip commands:
set_property part xc7k325tfbg900-2 [current_project]
In Vivado 2013.3, the IP association of IP core device and project device will be changed to require the user to issue a command to generate IP core targets in non-project mode.
This will eliminate the issue described above and bring the IP related flows more into alignment with the general non-project mode use model which is intended to give the user more control of (and generally requires a user to control) the management of the files and operations.