- # ERROR: <path>/220model.vhd(741): サブプログラム「>」が恍惚です。パッケージの「std_logic_1164」と「std_logic_signed」に適切な定義が存在します。
- # ERROR: <パス>/220model.vhd(741): (「-explicit」オプションを使用して以前のエラーチェックを無効にします)
- # ERROR: <path>/220model.vhd(748): サブプログラム "=" は恍惚です。パッケージの「std_logic_1164」と「std_logic_signed」に適切な定義が存在します。
- # ERROR: <パス>/220model.vhd(748): (「-explicit」オプションを使用して以前のエラーチェックを無効にします)
- # エラー: <パス>/220model.vhd(793): VHDL コンパイラー終了
LPM_COMPARE
コンポーネント (署名付き、署名付き) は、>、std_logic_1164 とパッケージも含 std_logic_unsigned
std_logic_signed
まれます。これらの演算子はオーバーロードされています。つまり、これらの演算子の定義は、両方のパッケージで、暗黙のうち std_logic_1164
に明示的に使用 std_logic_unsigned
され、 signed
.
std_logic_unsigned
または signed
パッケージを含むことで std_logic_1164
、設計者は暗黙の定義ではなく、パッケージ内で明示的な定義を使用することを意図しています。
220model.vhdファイルには多くのそのような演算子が含まれていて、異なるコンポーネント用の署名付きパッケージとパッケージが含まれています。Modelsim* でこのファイルをコンパイルする場合、シミュレーターで明示的な定義を推論するために明示的なオプションを指定する必要があります。
ModelSim > vcom 220model.vhd -explicit
ModelSim.iniファイルを編集し、変数 EXPLICIT = 1 に設定すると、このオプションはすべてのコンパイルのデフォルトオプションに設定されます。