AR# 60213

|

Vivado Synthesis - LOC constraint applied in RTL on ports that are vectors is not supported

描述

When setting the LOC constraint in RTL on a port that is a vector instead of a bit, the LOC constraint is not used.  

For example :

my_input_bit : in std_logic;
my_input_vector : in std_logic_vector(1 downto 0);

In cases where attribute LOC of my_input_bit is "K13"; it will work.
In cases where attribute LOC of my_input_vector is "K14,K15"; it will not work.

解决方案

This reason that this does not work is that the tool is unsure what should get forward annotated. 

The meaning of this is ambiguous. 

Since this attribute is just passed along to the back end, does it mean that "K14,K15" should be passed to both my_input_vector(1) and my_input_vector(0), or should the tool parse the string and give K14 to my_input_vector(1) and K15 to my_input_vector(0)?

For this reason, this coding style is not supported in RTL. 

The workaround is to use the XDC file to set LOC constraints instead.

AR# 60213
日期 06/06/2014
状态 Active
Type 已知问题
Tools
People Also Viewed