Main

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

AR# 20048

Search For Another Answer

Topic SW-XST
Last Updated 06/04/2008
Status Active
Description

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?

Solution

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.
 
 
/csi/footer.htm