如果不使用-EXPLICIT选项,则在Modelsim中编译220model.vhd文件时会出现以下错误:
- #ERROR:< path > /220model.vhd(741):子程序“>”不明确。合适的定义存在于包’std_logic_1164’和’std_logic_signed’中。
- #ERROR:< path > /220model.vhd(741):(使用’-explicit’选项禁用先前的错误检查)
- #ERROR:< path > /220model.vhd(748):子程序“=”不明确。合适的定义存在于包’std_logic_1164’和’std_logic_signed’中。
- #ERROR:< path > /220model.vhd(748):(使用’-explicit’选项禁用先前的错误检查)
- #ERROR:< path > /220model.vhd(793):VHDL Compiler退出
诸如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会将此选项设置为所有编译的默认选项。
没有回复内容