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# 64023

Vivado Synthesis - Hierarchical name used in defparam causes "ERROR: [Synth 8-27] complex defparam not supported"

Description

The following error is received when using a hierarchical name in defparam.

ERROR: [Synth 8-27] complex defparam not supported.

Example code:

genvar i;

generate
for ( i=0; i<6; i++ )
  begin : my_gen_ff
 
  FDCE my_ff (
    .D(din[i]),
    .CLR(1'b0),
    .CE(1'b1),
    .C(clk),
    .Q(qout[i])
    );
 
  end
endgenerate
 
defparam my_gen_ff[0].my_ff.INIT = 1'b0;
defparam my_gen_ff[1].my_ff.INIT = 1'b1;
defparam my_gen_ff[2].my_ff.INIT = 1'b0;
defparam my_gen_ff[3].my_ff.INIT = 1'b1;
defparam my_gen_ff[4].my_ff.INIT = 1'b0;
defparam my_gen_ff[5].my_ff.INIT = 1'b1;


How can I resolve the error?

 

Solution

Currently, use of a hierarchical name in defparam is not supported by default. 

However, this syntax can be used by including the following Tcl command in your script, or running it in the Tcl console:

set_param synth.elaboration.rodinMoreOptions "rt::set_parameter allowIndexedDefparam true"

 

AR# 64023
Date Created 03/24/2015
Last Updated 04/08/2015
Status Active
Type Known Issues
Tools
  • Vivado Design Suite