UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 67849

Vivado IP Flows - synth_ip command results in: CRITICAL WARNING: [BD 41-1715] Block design 'bd_54be.bd' is set for out-of-context synthesis mode Hierarchical (Out of context per IP).

Description

When using the non-project flow and running synth_ip, I receive the following Critical Warning:

CRITICAL WARNING: [BD 41-1715] Block design 'my_block.bd' is set for out-of-context synthesis mode Hierarchical (Out of context per IP). This is not supported in a non-project flow and
will be ignored. Please set the mode to None (Global Synthesis), or use Save Project As to save your work in a project flow to use this mode.

I subsequently receive errors like the following:

INFO: [Synth 8-638] synthesizing module 'debug_bridge_0' [/proj/.srcs/sources_1/ip/debug_bridge_0_5/synth/debug_bridge_0.v:58]
INFO: [Synth 8-638] synthesizing module 'bd_54be' [/proj//.srcs/sources_1/ip/debug_bridge_0_5/bd_0/hdl/bd_54be.v:13]
ERROR: [Synth 8-439] module 'bd_54be_xsdbm_0' not found [/proj/.srcs/sources_1/ip/debug_bridge_0_5/bd_0/hdl/bd_54be.v:68]
ERROR: [Synth 8-285] failed synthesizing module 'bd_54be' [/proj//.srcs/sources_1/ip/debug_bridge_0_5/bd_0/hdl/bd_54be.v:13]
ERROR: [Synth 8-285] failed synthesizing module 'debug_bridge_0' [/proj/.srcs/sources_1/ip/debug_bridge_0_5/synth/debug_bridge_0.v:58]

Solution

This is due to a Scoped Block Design (SBD) being synthesized, but not as an out of context (OOC) module in non-project mode. 'synth_ip' is not intended to work with OOC_NONE and is unsupported in Vivado 2016.x.

To work around this issue you can do the following:

1) Set out-of-context mode to None as instructed by the CRITICAL WARNING. For example:

set_property generated_synth_checkpoint false [get_files .xci])

OOC is unsupported for SBD IP in disk-less project mode.

2) Replace the 'synth_ip' command in Vivado script(s) with the synth_design command where applicable to avoid errors stating that the synth_ip command does not support OOC_MODE==NONE.

synth_ip supports OOC enabled IP only

Note: When using Vivado IDE, the GUI handles the synth_ip vs synth_design /launch_runs as needed.

In Vivado 2016.3 calling 'synth_ip' on an IP with OOC disabled (for example, SBD IP) will result in the following error:

ERROR: [Vivado 12-3437] This command only supports sub-design files marked for netlist generation. To enable this functionality, set the GENERATE_SYNTH_CHECKPOINT property to true. If the GENERATE_SYNTH_CHECKPOINT property is marked read-only, then select 'Report IP Status' from the 'Tools' menu, or run the 'report_ip_status' Tcl command to see why the sub-design is locked.

AR# 67849
Date Created 09/12/2016
Last Updated 09/22/2016
Status Active
Type General Article
Tools
  • Vivado Design Suite - 2016.1