Examining Generated Output Products - 2020.2 English

Vivado Design Suite User Guide: Designing IP Subsystems Using IP Integrator (UG994)

Document ID
Release Date
2020.2 English

The BD source files can always be found in the <project_name>/<project_name>.srcs/sources_1/bd folder. However, the generated output products for a BD can be found in the <project_name>/<project_name>.gen/sources_1/bd folder.

Inside the .gen folder is a separate directory for each BD. In the following figure, design_1 is the only BD.

Figure 1. Locating Output Products for Block Designs

Under the <block_design_name> folder, several sub-folders are located as shown in the following figure.

Figure 2. Sub-Folders of a Block Design

  • hdl: Contains the top level netlist of the BD as well as the Vivado managed wrapper file for the BD.
  • hw_handoff: Contains intermediate files needed for hardware handoff to Vitis.
  • ip: Contains several sub-folders, one per IP inside the BD. These IP folders may contain several sub-folders which may vary depending on the IP. Typically all the non-source output product files delivered for the IP can be found in these sub-directories.
  • ipshared: Contains files that are common between various IP. IP can have several sub-cores within them. Files shared by these sub-cores can be found in the ipshared folder.
  • ui: This folder contains the *.ui file which has the graphical information such as coordinates of different blocks on the canvas, comments, colors and layer information.

Additionally, when the Vivado IDE generates output products for the BD it also creates a folder called <project_name>/<project_name>.ip_user_files, as shown in the following figure. Inside of the <project_name>.ip_user_files folder there are a number of folders depending on the contents of your project (IP, BDs, and so forth).

Figure 3. Sub-Folders Under the ip_user_files Folder

The following is a brief description of the directories that could be present in the <project_name>.ip_user_files folder:

  • bd: Contains a sub-folder for each IP integrator BD in the project. These sub-folders will have support files for the various IP used in the BDs.
  • ipstatic: Contains common IP static files from all IP/BDs in the project.
  • mem_init_files: Is present if any IP deliver data files.
  • sim_scripts: By default, scripts for all supported simulators for the OS selected are created for each IP and for each BD present.

To manually export IP or BD files to the ip_user_files directory, you can use the export_ip_user_files command at the Tcl Console. Whenever you reset and generate an IP or BD, this command runs automatically. For more information, see this link in the Vivado Design Suite User Guide: Designing with IP (UG896).

When the Output Products for a BD are generated, several status messages are flagged on the Tcl Console as shown below.

catch { config_ip_cache -export [get_ips -all design_1_microblaze_0_0] }
INFO: [IP_Flow 19-4993] Using cached IP synthesis design for IP design_1_microblaze_0_0, cache-ID = ad1c1f104aa1beee; cache size = 8.220 MB.

catch { config_ip_cache -export [get_ips -all design_1_dlmb_v10_0] }
INFO: [IP_Flow 19-4993] Using cached IP synthesis design for IP design_1_dlmb_v10_0, cache-ID = ecf144ac474f353c; cache size = 8.220 MB.

The [IP_Flow 19-4993] message informs the user of the cache-ID associated with the cell in the BD. The individual cache-ID folders can be found in the IP Cache location.

Figure 4. Cache-ID Directories