UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 32976

11.x XST - 「ERROR:HDLCompiler:69 - "<file>.vhd" Line xx:: <xyz> is not declared」というエラー メッセージが表示される

説明

キーワード : XST, Spartan-6, Virtex-6, S6, V6, 11.2 , Parser, HDLCompiler:69, 解析

Virtex-6/Spartan-6 デバイスを使用すると XST で次のエラー メッセージが表示されます。Virtex-6/Spartan-6 以前にリリースされたデバイスを使用してもエラー メッセージは表示されません。この理由を教えてください。

ERROR:HDLCompiler:69 - "<file>.vhd" Line xx:: <xyz> is not declared.
ERROR:HDLCompiler:461 - "<file>.vhd" Line xx:: If you are trying to directly instantiate a design entity, please use expanded name.

コード例 :

library ieee;
use ieee.std_logic_1164.all;

entity subb_0007 is
port(in_port : in std_logic;
out_port: out std_logic);
end subb_0007;

architecture beh of subb_0007 is
begin
out_port <= in_port;
end;

-----------------------------------

library ieee;
use ieee.std_logic_1164.all;

entity ex_0007 is
port(in_port : in std_logic;
out_port: out std_logic);
end ex_0007;

architecture beh of ex_0007 is
begin
my_name : entity subb_0007 port map(in_port =>in_port,
out_port=>out_port);
end;

ソリューション

上記の例では、直接的なインスタンシエーションの使用が試みられていますが、subb_0007 エンティティがライブラリ名なしで使用されています。このコードは、VHDL LRM に準拠していません。この問題を解決するには、インスタンシエーションに拡張名を使用する必要があります。

たとえば work.subb_0007 を使用すると、上記のコードを修正できます。

library ieee;
use ieee.std_logic_1164.all;

entity subb_0007 is
port(in_port : in std_logic;
out_port: out std_logic);
end subb_0007;

architecture beh of subb_0007 is
begin
out_port <= in_port;
end;

-----------------------------------

library ieee;
use ieee.std_logic_1164.all;

entity ex_0007 is
port(in_port : in std_logic;
out_port: out std_logic);
end ex_0007;

architecture beh of ex_0007 is
begin
my_name : entity work.subb_0007 port map(in_port =>in_port, -- Note: Error points here
out_port=>out_port);
end;

11.2 XST では Virtex-6 および Spartan-6 ファミリに新しい VHDL/Verilog 解析が導入されました。この変更の詳細は、(Xilinx Answer 32927) を参照してください。
AR# 32976
日付 12/15/2012
ステータス アクティブ
種類 一般
このページをブックマークに追加