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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor greglac
Visitor
1,502 Views
Registered: ‎02-22-2017

force_replication_on_nets fails due to DONT_TOUCH

I'm using vivado 2017.1 on a rather large design for an ultrascale+ xcvu9p device. The majority of the design is implemented in IP integrator and uses a combination of custom user packed IPs and xilinx IPs.

 

I am having difficulty closing the timing on a synchronous reset with a very high fan out, especially since it crosses SLRs and is on a fairly fast clock domain. In an attempt to fix this I have used phys_opt_design -force_replication_on_nets after placement. However the command doesn't perform any replication since it appears several of the xilinx IPs  connected to the reset have the DONT_TOUCH attribute set to TRUE. To sanity check that I am not using the command improperly I have used it at the same point in the flow on a different net successfully.

 

I am under the impression that I should still be able to replicate the driver and split the global net since the driver cell does not have DONT_TOUCH set and that DON_TOUCH should only apply to the internal hierarchy of the IP blocks that have it set. Is there a way for me force this replication so that I can meet timing?

 

 

 

Command: phys_opt_design -force_replication_on_nets [get_nets {BS_PANEL_i/CLK_AND_CTRL_GRP/CLK_MAIN/ARESETN_PERIPH_MAIN[0]}]

 

...

 

 

Phase 2 Fanout Optimization
INFO: [Physopt 32-76] Pass 1. Identified 1 candidate net for fanout optimization.
INFO: [Physopt 32-782] Net BS_PANEL_i/CLK_AND_CTRL_GRP/CLK_MAIN/RST_DIFF_BUFF_0/inst/aresetn_periph_out was not replicated
INFO: [Physopt 32-780] Instance BS_PANEL_i/JESD_INTERFACE_GRP/ADC_SIGNAL_CONDITION_wrapper_00/inst/ADC_SIGNAL_CONDITION_i/ADC_SIGNAL_CONDITION_00/DDS_SOURCE_GROUP/INTERFACE_CTRL_GRP/axi_clock_converter_0/inst has DONT_TOUCH and is preventing optimization
Resolution: Removing DONT_TOUCH attributes may enable additional optimization
INFO: [Physopt 32-780] Instance BS_PANEL_i/JESD_INTERFACE_GRP/ADC_SIGNAL_CONDITION_wrapper_00/inst/ADC_SIGNAL_CONDITION_i/ADC_SIGNAL_CONDITION_00/SWITCH_GRP/axi_clock_converter_0/inst has DONT_TOUCH and is preventing optimization
Resolution: Removing DONT_TOUCH attributes may enable additional optimization

 

...

 

INFO: [Common 17-14] Message 'Physopt 32-780' appears 100 times and further instances of the messages will be disabled. Use the Tcl command set_msg_config to change the current settings.
INFO: [Physopt 32-232] Optimized 0 net. Created 0 new instance.
INFO: [Physopt 32-775] End 1 Pass. Optimized 0 net or cell. Created 0 new cell, deleted 0 existing cell and moved 0 existing cell

0 Kudos
4 Replies
Voyager
Voyager
1,492 Views
Registered: ‎06-24-2013

Re: force_replication_on_nets fails due to DONT_TOUCH

Hey @greglac,

 

Did you try removing the DONT_TOUCH for the instances in question?

 

Best,

Herbert

-------------- Yes, I do this for fun!
0 Kudos
Visitor greglac
Visitor
1,483 Views
Registered: ‎02-22-2017

Re: force_replication_on_nets fails due to DONT_TOUCH

I'm not sure of how to remove it from the instances in a programmatic way. There are hundreds of instances with this DONT_TOUCH constraint causing the problem, and they inherit the constraint from xilinx IPs that contain it. The design is a large and an actively developing multi-user project so I expect the list of instances with the constraint to fluctuate often. Additionally I'd like to make sure that the logic optimizer respects the DONT_TOUCH within the hierarchy boundaries of the IPs that contain it.

0 Kudos
Visitor greglac
Visitor
1,323 Views
Registered: ‎02-22-2017

Re: force_replication_on_nets fails due to DONT_TOUCH

Hi,

I am still having this problem.

 

The following AR:

AR# 65212 https://www.xilinx.com/support/answers/65212.html

gives me the impression that phys_opt_design -force_replication_on_nets, should override the DONT_TOUCH

 

Can someone at least tell me if I am not interpreting the AR correctly?

0 Kudos
Voyager
Voyager
1,315 Views
Registered: ‎06-24-2013

Re: force_replication_on_nets fails due to DONT_TOUCH

Hey @greglac,

 

AR#65212 gives me the impression that phys_opt_design -force_replication_on_nets, should override the DONT_TOUCH.

This impression is wrong, DONT_TOUCH means DON'T TOUCH.

What AR#65212 states is that you can force the replication outside (specifically after) some instances with DONT_TOUCH attributes which would otherwise not happen.

 

If this is not enough for your purpose, all you can do/try is to remove the DONT_TOUCH from affected instances.

 

Best,

Herbert

-------------- Yes, I do this for fun!
0 Kudos