AR# 4413

ModelSim (MXE、SE、PE) - 「ERROR (行番号): Subprogram is ambiguous」 または 「ERROR (行番号): Use '-explicit' option to disable」というエラー メッセージが表示される (VHDL)

説明

キーワード : ModelSim, MTI, Model Technology, ambiguous, explicit, subprogram, libraries, packages, VHDL, VCOM, std_logic_1164, std_logic_unsigned, 明示的な, サブプログラム, ライブラリ, パッケージ

重要度 : 標準

概要 :
ModelSim で VHDL ファイルをコンパイルすると、次のエラー メッセージが表示されます。

"ERROR: <file>.vhd (line number): Subprogram "=" is ambiguous. Suitable
definitions exist in package 'std_logic_1164' and 'std_logic_unsigned'."

"ERROR: <file>.vhd (line number): (Use the '-explicit' option to disable the previous
error check)"

ソリューション

このエラーは、ファンクションが 2 つのライブラリで定義されているために発生します。 -explicit オプションを使用してこのファンクションを解決します。 -explicit オプションを使用すると、ほかの EDA ベンダーで提供されたパッケージ内のエラーを無視するように指定できます。このオプションでは、ファンクションが明示的に定義されるため、コンパイラであいまいなファンクションのオーバーロードが解決されます。

コマンド ラインの例

vcom -explicit <ファイル名>.vhd

ModelSim GUI でのオプション設定

1. [Compile] をクリックしてコンパイル ウィンドウを開きます。
2. [Default Options] をクリックします。
3. [VHDL] タブを選択します。
4. [Use explicit declaration only] をオンにします。
5. [Apply] をクリックします。
AR# 4413
日付 12/15/2012
ステータス アクティブ
種類 一般