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# 22916

XST - 「ERROR:HDLParsers:810 - <file_name>.vhd Line <#> = has two possible definitions in the scope」というエラー メッセージが表示される

説明

キーワード : HDL, parser, check, syntax, 解析, チェック, 構文

XST 8.1i に含まれる HLD Parser で合成を実行すると、次のエラーが発生します。

次のライブラリ宣言が使用されています。
use ieee.std_logic_signed.all
use ieee.std_logic_unsigned.all
...

次の構文が使用されています。
case MODE is
when ''0001'' =>
if ( DIN(2 downto 0)= ''011'' ) then
SIG_EN <= '1';
else
SIG_EN <= '0';
end if;
...
end case;

HDL Parser で次のエラー メッセージが表示されます。

''ERROR:HDLParsers:810 - ''C:/Work/MyFile.vhd'' Line <#>. = has two possible definitions in this scope."

ISE 6.3.03i および 7.1.04i では合成が正しく実行できました。

ソリューション

これは、有効なエラー メッセージです。 IEEE ライブラリ std_logic_signed に srd_logic_unsigned でも推論されるファンクションがあります。 このため、この 2 つのライブラリを同じ範囲で宣言することはできません。 VHDL のコードには、これらのライブラリの 1 つのみを含めてください。

古いバージョンの XST で合成が実行できたは、この構文チェックが正しく実行されていなかったためです。
AR# 22916
日付 12/15/2012
ステータス アクティブ
種類 一般
このページをブックマークに追加