^

AR# 20048 XST - Warning "Xst:2183: the following tristate(s) are NOT replaced by logic" - Reasons XST cannot replace TBUFs with logic

Keywords: ISE, BUFT, 3-state, tristate, tri-state, mux, MAP

In Spartan-3/-3E and Virtex-4 designs, why are tristates not replaced by logic?

There are four situations where XST is not able to replace a tristate by logic:

- The tristate is connected to a black box.
- The tristate is connected to the output of a block, and the hierarchy of the block is preserved.
- The tristate is connected to a top-level output.
- The "tristate2logic" constraint is set to "no" on the block where tristates are placed or on the signals to which tristates are connected.

For Virtex-5, XST always replaces tristates with logic as long as its not one of the above conditions. This might cause a multi-source generation that is detected in NGDBuild. XST behavior was changed for Virtex-5 families since MAP no longer replaces tristates with logic.

Note that for Virtex-4 and all Spartan-3 variations, MAP can convert the tristates to logic because it has all the information needed to resolve the entire tristate bus. However, MAP does NOT convert tristates for Virtex-5 (even though XST retains them for the reasons mentioned above). Consequently, you must make the necessary adjustments to the design to make sure the synthesis tool can convert them.
AR# 20048
Date Created 09/04/2007
Last Updated 06/04/2008
Status Active
Type
Feed Back