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 10/08/2014
Status Active
Type General Article
Devices
Tools