Exporting a Manage IP Project - 2021.2 English

Vivado Design Suite User Guide: Logic Simulation (UG900)

Document ID
UG900
Release Date
2021-10-22
Version
2021.2 English

Manage IP project provides users an ability to create and manage a centralized repository of customized IPs. See this link in the Vivado Design Suite User Guide: Designing with IP (UG896) for more information on Manage IP projects. When generating the IP output products for Manage IP projects, the Vivado tool also generates simulation scripts for each IP using the export_ip_user_files command as previously discussed.

Figure 1. Managed IP Project

The Managed IP Project shown above features four different customized IP: blk_mem_gen_0, c_addsub_0, fifo_generator_0, xdma_0. For this project the Vivado Design Suite creates an ip_user_files folder as shown in the following figure.

Figure 2. Managed IP Directory Structure

The ip_user_files folder is generated by the export_ip_user_files command as previously described. When this command is run on a Manage IP project, it will recursively process all the IP in the project and generate the scripts and other files needed for synthesis and simulation of the IP. The ip_user_files folder contains the scripts used for batch simulation, as well as the dynamic and static IP files needed to support simulation.

The simulation scripts for your target simulator, or for all supported simulators, are located in the ./sim_scripts folder as seen in Exporting a Manage IP Project. You can go to the folder of your target simulator and incorporate the compile, elaborate, and simulate scripts into your simulation flow.

The Vivado tool consolidates all the shared simulation files, used by multiple IP and BD in the design, into a folder called ./ipstatic. The dynamic files that vary depending on the specifics of an IP customization are located in the ./ip folder.

Tip: In addition to exporting all the IP in a Manage IP project, you can use the steps outlined in Exporting IP from the Xilinx Catalog and Block Designs to generate scripts for individual IP in the project.