为什么在编译220model.vhd文件时我必须在Modelsim中使用-EXPLICIT选项?-Altera-Intel社区-FPGA CPLD-ChipDebug

为什么在编译220model.vhd文件时我必须在Modelsim中使用-EXPLICIT选项?

如果不使用-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_1164std_logic_unsignedstd_logic_signed包。这些运营商超载;也就是说,这些运算符的定义在两个包中都可用,隐式在std_logic_1164并在std_logic_unsignedsigned显式。

通过包含std_logic_unsignedsigned包以及std_logic_1164 ,设计者打算在包中使用显式定义而不是隐式定义。

220model.vhd文件包含许多此类运算符,并包含用于不同组件的已签名和未签名包。在Modelsim中编译此文件时,必须指定显式选项以强制仿真器推断显式定义。

 ModelSim> vcom 220model.vhd -explicit

编辑ModelSim.ini文件并设置变量EXPLICIT = 1会将此选项设置为所有编译的默认选项。

请登录后发表评论

    没有回复内容