Step 4: Add Existing IP - 2021.1 English

Vivado Design Suite Tutorial: Designing with IP (UG939)

Document ID
UG939
Release Date
2021-07-19
Version
2021.1 English
Important: NGC format files are not supported in the Vivado® Design Suite for UltraScale™ devices. It is recommended that you regenerate the IP using the Vivado Design Suite IP customization tools with native output products. Alternatively, you can use the NGC2EDIF command to migrate the NGC file to EDIF format for importing. However, Xilinx® recommends using native Vivado® IP rather than XST-generated NGC format files going forward.

You will also import IP cores into the project. There are four IP cores used in this design:

Accumulator
A legacy CORE Generator IP, with the associated NGC.
Block Memory Generator
An outdated version of native Vivado Design Suite IP with no output products generated.
FIFO Generator
Vivado 2021.1 version with all output products, including DCP.
Clock Wizard
Vivado 2021.1 version with no output products.

All of these IP, with the exception of the Accumulator IP, are native Vivado cores. They have already been customized, and have a Xilinx Core Instance (XCI) file.

In the case of the Accumulator IP, the imported file is a CORE Generator™ log file (.xco), which is a legacy IP.

To import these IP cores into the project, add the following lines to your script:
import_ip -files {../Lab_3_4_sources/IP/Accumulator/Accumulator.xco \ 
../Lab_3_4_sources/IP/blk_mem/blk_mem_gen_v7_3_0.xci \ 
../Lab_3_4_sources/IP/clk_wiz/clk_wiz_0.xci \ 
../Lab_3_4_sources/IP/char_fifo/char_fifo.xci}
When this line is processed, the Vivado Design Suite returns two warning messages:
WARNING: [IP_Flow 19-2162] IP 'Accumulator' is locked:
* IP definition 'Accumulator (11.0)' for IP 'Accumulator' has a newer major version in the IP Catalog.
Please select 'Report IP Status' from the 'Tools/Report' menu or run Tcl command 'report_ip_status' for more information.
WARNING: [IP_Flow 19-2162] IP 'blk_mem_gen_v7_3_0' is locked:
* IP definition 'Block Memory Generator (7.3)' for IP 'blk_mem_gen_v7_3_0' has a newer major version in the IP Catalog.
Please select 'Report IP Status' from the 'Tools/Report' menu or run Tcl command 'report_ip_status' for more information.

The issue with the Accumulator is that the version in the design does not match the latest version in the IP catalog. However, there is a netlist output product (.ngc) so you can work with the version in the design, or upgrade it to the latest version from the IP catalog.

The blk_mem_gen_v7_3_0 core is also not the latest version in the IP catalog. There are no output products to drive synthesis or simulation, so it will have to be upgraded to the latest version. You will upgrade this IP in a subsequent step. If no upgrade path is available, you must recreate the IP.

For the clk_wiz_0, no output products were found with the XCI customization (.xci) file, but the IP is the current version in the IP catalog. You will manually generate the output products for this IP in the next step.

The char_fifo version is current and all output products are present so no warning messages display when importing.
Recommended: When there is a major version change to an IP core in the catalog, changes to the IP such as parameter or port name changes, may make upgrading the IP to the latest version require changes to the design.