AR# 33037

11.x XST - "WARNING:Xst:647 - Input <sel<3:0>> is never used..."

描述

Keywords: port, Virtex-6, Spartan-6

The following warning occurs in XST when I target Virtex-6 or Spartan-6 devices, but I do not have any issues targeting older devices. Why?

"WARNING:Xst:647 - Input <sel<3:0>> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved."

解决方案

In 11.2, XST introduced a new VHDL/Verilog parser for Virtex-6 and Spartan-6 families. For more information on this change, see (Xilinx Answer 32927).

XST for older devices (non Virtex-6 and Spartan-6) when processing compare operation with operands having different sizes. In the following example, 8-bit sel signal is compared to 4-bit "1111" constant.


File: ex_0012.vhd
Compilation Library: work

library ieee;
use ieee.std_logic_1164.all;

entity ex_0012 is
port(sel: in std_logic_vector(7 downto 0);
res: out std_logic
);
end ex_0012;

architecture bhv of ex_0012 is
begin
res <= '1' when ("1111" < sel) else '0';
end;

XST for older devices adjusts the size of the constant, resulting in the following message:

"WARNING:Xst:1639 - "ex_0012.vhd" line 12: Size of operands are different, smallest operand is adjusted."

Targeting Virtex-5 XST Standard generates the following netlist:

XST interpretation of above code for older devices
XST interpretation of above code for older devices


XST for Virtex-6 and Spartan-6 devices issues the following message:

"WARNING:Xst:647 - Input <sel<3:0>> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved."

The generated netlist is LRM compliant.

XST interpretation of above code for Virtex-6/Spartan-6
XST interpretation of above code for Virtex-6/Spartan-6






AR# 33037
日期 06/24/2009
状态 Active
Type 综合文章