Skip to content

2022.2 Block Design support #14

@LRitzdorf

Description

@LRitzdorf

As it stands currently, vivado-git doesn't seem to properly handle block designs in the TCL script it generates, at least for Vivado 2022.2 (the only version I currently have access to).

While I'm not terribly familiar with TCL scripting, I was able to modify the script generated for one of my own projects. The necessary changes are described below, in case they prove useful for development purposes (or for other users to reference when making their own modifications).

  • Local IP repositories are actively filtered out during script generation. If any IP components from them are required by the BD, the relevant IP repo must be added manually to the project.
    However, the script actively removes them by default. This can be prevented by simply not setting the IP repo path:
    (Yes, it would be preferable to not use IP repos that are external to the project, but this is sometimes not an option)
 # Set IP repository paths
 set obj [get_filesets sources_1]
 if { $obj != {} } {
-  set_property "ip_repo_paths" "" $obj
  • The BD itself should not be added to the list of IPs required for its creation:
   set bCheckIPs 1
   if { $bCheckIPs == 1 } {
      set list_check_ips "\
-  xilinx.com:user:my_design"1.0\
   "
  • Vivado doesn't like references to DCP files that do not exist. To ensure that first-time project creation is successful, don't set an incremental checkpoint:
 set obj [get_runs synth_1]
-set_property -name "incremental_checkpoint" -value "$proj_dir/my_project.srcs/utils_1/imports/synth_1/my_design_wrapper.dcp" -objects $obj
 set_property -name "auto_incremental_checkpoint" -value "1" -objects $obj

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions