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

Vivado Synthesis - Why do flip-flops not get packed into the IOB when DONT_TOUCH & IOB attributes are applied in HDL?

Description

 Why do flip-flops not get packed into the IOB when DONT_TOUCH and IOB attributes are applied in HDL?

Solution

The DONT_TOUCH attribute in RTL is evaluated early and doesn't allow the register/flip-flop to be packed into the IOB.

When using the DONT_TOUCH attribute in the HDL code, it prevents Vivado Synthesis from doing any optimization to the logic applied.

As a result, certain logic defined with the I/O registers (like in I/O ports) may prevent the tool from mapping the flip-flops into the corresponding I/O registers.

This can cause a conflict between attributes, for example DONT_TOUCH and IOB.

 
AR# 62099
Date Created 09/19/2014
Last Updated 10/08/2014
Status Active
Type General Article
Devices
  • FPGA Device Families
Tools
  • Vivado Design Suite