The Vivado IDE generates output products for three different modes:
- Global: Used for generating output products used in top down synthesis of the whole design. This is essentially disable out-of-context synthesis for the BD, and simply synthesizes it with the whole design.
- Out of context per IP: Generates the output product for each individual IP used in the BD, and a DCP is created for every IP used in the BD. This option can significantly reduce synthesis runtimes because the IP cache can be used with this option to prevent Vivado synthesis from regenerating output products for specific IP if they do not change. For more information on using the IP Cache, see the Vivado Design Suite User Guide: Designing with IP (UG896).
- Out of context per Block Design: This lets you synthesize the complete BD separately from, or out of the context of, the top-level design by generating a design checkpoint for the BD itself. This option is generally selected when third-party synthesis is used.
The following figure shows the Generate Output Products dialog box for a BD.
Global Synthesis
When this mode is chosen, a synthesized design checkpoint (DCP) is created for the entire top-level design, but not for the BD or for individual IP used in the BD. The entire BD is generated in the top-down synthesis mode. You can see this in the Design Runs window, where only one synthesis run is defined.
The Tcl commands used to generate output products with the Global Synthesis mode are as follows:
set_property synth_checkpoint_mode None [get_files <name_of_bd>.bd]
generate_target all [get_files <name_of_bd>.bd]
Out-of-Context per IP
This mode creates an out-of-context (OOC) synthesis run and DCP for every IP that is instantiated in the design.
The Design Runs window lists synthesis runs for each IP used in the BD, as shown in the following figure.
Generation of the individual output products in OOC per IP mode takes longer than a single global synthesis run; however, runtime improvements are realized in subsequent runs because only the updated blocks or IP are re-synthesized instead of the whole top-level design. In addition, with the IP Cache enabled, Vivado synthesis can provide even greater runtime improvements because the only IP to resynthesize are recustomized or were impacted from parameter propagation.
The Tcl commands used to generate output products with the Out-of-Context per IP mode are as follows:
set_property synth_checkpoint_mode Hierarchical [get_files <name_of_bd>.bd]
generate_target all [get_files <name_of_bd>.bd]
You can enable or disable, and change the IP cache settings from the Settings > IP dialog box as shown in the following figure.