To revision control IP, follow these recommendations:
- Preserve the IP repository.
- Check in the .xci file.
The IP repository contains parametrizable IP source code, and the .xci file stores parameters values. Together, they allow Vivado to regenerate the IP instance for your design. You do not need to preserve generated IP to recreate the project; Vivado can rebuild it.
Manage the project from which custom packaged IP was created. Vivado installs the latest AMD IP versions by default. When upgrading to a new Vivado version, the AMD IP repository contains only the latest IP versions. Use Report IP Status to decide whether to upgrade your design to the latest IP.
Depending on changes, modify your design to maintain functionality. Upgrade AMD IP when upgrading Vivado. If you choose not to upgrade, revision control the .xci file along with IP output products in the project.gen directory.
Without the original repository, re-customization of the IP is impossible. Generated output products must be preserved to recreate the design. These output products effectively become project sources. Locked IP remains uncustomizable.
Locked IP can be preserved as an .xcix file
(IP core container). An .xci file contains the
.xci file and generated output products,
enabling a single file for revision control.
You can also preserve IP using Tcl. Run write_ip_tcl to generate a
script that recreates the IP with the current configuration. Replaying the script
recreates the .xci file. Ensure the IP repository is present when
replaying the script, because the script does not preserve it.