在SystemVerilog Testbench中包含VHDL软件包

时间:2019-11-20 10:11:36

标签: package vhdl system-verilog

我有这个Systemverilog测试平台,我想在其中使用以VHDL编写的软件包。 当我执行以下操作时:'include "desired_pkg.vhd",它会解释为Verilog程序包,正如ModelSim报告的那样:

Error: (vlog-13069) ** while parsing file included at C:/Users/VHDL/CO_code/CO_18_03/simulation/ed_sim/models/tb_top.sv(22)
** at C:/Users/VHDL/CO_code/CO_18_03/CO_simulation/mentor/020_regmaps_struct_pkg.vhd(1): near "--": syntax error, unexpected --, expecting class.

因此,它尝试将--(在VHDL中的注释)解释为Verilog中的某种内容。如何包含此软件包而不将其重写为Verilog?

2 个答案:

答案 0 :(得分:2)

您不使用include,因为那是预处理程序指令,并假定包含的代码是verilog。您需要import代码:

import vhdl_lib::desired_pkg::*

但是请注意,从verilog导入VHDL并没有任何标准的定义,这完全取决于该工具是否有效,以及软件包中支持哪些项目。

答案 1 :(得分:0)

谢谢。它适用于 Modelsim。

为了完整性,让我在下面添加一些细节:

  • 我用 -mixedsvvh
  • 编译了 Vhdl 包
  • 在编译我的 SystemVerilog 模块
  • 时,我还添加了 -mixedsvvh
  • 我在我的 SystemVerilog 模块文件的开头添加了 import my_pkg::*;
  • 注意大小写:似乎所有变量都是以小写导入的(我的意思是,有时人们习惯于在 HIGH_CASE 中定义 Vhdl 常量,但是如果您按原样复制粘贴到 SystemVerilog 中,您将get "未定义变量")

我的两分钱;)