【问题标题】:include VHDL package in SystemVerilog Testbench在 SystemVerilog Testbench 中包含 VHDL 包
【发布时间】:2019-11-20 10:11:36
【问题描述】:

我有这个 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 的情况下包含此包?

【问题讨论】:

    标签: package vhdl system-verilog


    【解决方案1】:

    您不使用包含,因为它是预处理器指令,并假定包含的代码是 verilog。你需要import代码:

    import vhdl_lib::desired_pkg::*

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

    【讨论】:

      【解决方案2】:

      谢谢。它适用于 Modelsim。

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

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

      我的两分钱;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多