Upgrading a Block Design in Non-Project Mode - 2023.2 English

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

Document ID
UG994
Release Date
2023-10-18
Version
2023.2 English

You can open an existing project from a previous release using the non-project mode flow and upgrade the block design to the current release of Vivado. However, if out-of-context (OOC) mode is used for the block design, then the block design must be upgraded and generated in a global mode ahead of adding the block design to the non-project flow. Use the following script as a guideline to upgrade the IP in the block diagram (applicable only when the block design is synthesized with the Global synthesis option):

# Create a new project in memory
create_project -in_memory -part <partname> 

# Open the block diagram
read_bd <path_to_bd>/<bd_name>.bd

# Make the block diagram current
current_bd_design <bd_name>.bd

# Upgrade IP
upgrade_ip [get_bd_cells -hierarchical * ]

# Reset output products
reset_target {synthesis simulation implementation} [get_files 
<path_to_bd>/<bd_name>.bd]

# Generate output products
generate_target {synthesis simulation implementation} [get_files
<path_to_bd>/<bd_name>.bd]

# Create HDL Wrapper (if needed)
make_wrapper -files [get_files <path to bd>/<bd_name>.bd] -top

# Overwrite any existing HDL wrapper from before
import_files -force -norecurse <path_to_project>/project_name/project_name.srcs/sources_1/bd/bd_name/hdl/bd_name_wrapper.v
update_compile_order -fileset sources_1

# Continue through implementation