09-18-2018 03:56 PM
I am trying to switch my workflow to the non-project mode for a variety of reasons, but I am having difficulty adding my block design. I have a block design in my project which I exported using the Export -> Export Block Design command. This created a .tcl script which I've called create_bd.tcl. The contents of that script are attached.
In my new, non-project mode directory, I source that script which creates a new project called project1 under a directory called "mpmc_bd_proj" where it then re-creates the block design. I then copy the whole block design directory to my source folder (cp -r mpmc_bd_proj/project1.srcs/sources_1/bd src/). My non-project mode tcl script then has the following:
set project_name "my_proj" set_part ... set output_dir ./build file mkdir $output_dir read_bd ./src/bd/MPMC/MPMC.bd ...
This results in the following error:
ERROR: [BD 41-1942] The design 'MPMC.bd' is set for Out-of-Context synthesis mode Hierarchical (Out of context per IP) but is not fully generated. Please ensure that design sources are fully generated before adding them to non-project flow. You an also try setting the mode to None (Global Synthesis), or use Save Project As to save your work in a project flow to use this mode.
And then the script quits, without giving me the chance to ever run generate_target.
How do I solve this? Do I need to generate all the output products in the setup_bd.tcl script before I copy everything over to my source directory? If that's the case, why is that not included already as part of the Export Block Design feature?
09-19-2018 03:23 AM
Please reference the Vivado Design Suite Designing IP Subsystems Using IP Integrator User Guide (UG994; v2018.2) in Chapter 8: Using IP Integrator in Non-Project Mode. I would suggest creating your Block Diagram and setting the "Synthesis Options" = "Global".
I hope this helps.
09-19-2018 10:03 AM
This is helpful, but it's still not clear to me what the correct/recommended flow is for using this in a non-project batch flow. The exported Tcl script does not contain the necessary commands to set the Synthesis mode to global, nor does it generate any output products. So do I have to modify the Export Block Design Tcl script to add those commands? Is there anyway to do this using the unmodified script (which would greatly simplify this flow)?