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.
Under the <block_design_name> folder, several sub-folders are located as shown in the following figure.
- hdl: Contains the top level netlist of the BD, and also 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 might contain several sub-folders which can vary depending on the IP. Typically you can find all the non-source output product files delivered for the IP 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).
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 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. See
Vivado
Design Suite Tcl Command Reference Guide (UG835) for more information. Whenever you reset and
generate an IP or BD, this command runs automatically. For more information, see
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
you of the cache-ID associated with the cell in the BD. The individual cache-ID folders
can be found in the IP Cache location.