【发布时间】:2020-07-25 22:16:18
【问题描述】:
我从 Intel 下载了 Modelsim,免费版(Modelsim-Intel FPGA 版)。免费版本是 Ubuntu 64 位 LTS 上的 32 位 Modelsim 版本。我通过安装 apt pkg's for i386 arch 来解决此问题。
我想使用 UVM 在 SV 中创建一个测试平台。
这个modelsim 似乎只编译了设备支持原语的库。于是我从 Accellera 下载了 UVM 2017-1.1 (IEEE 1800.2)。
该文档仅说明如何解压缩 tar.gz。解压缩后,我会看到带有 uvm.sv 和 uvm_pkg.sv 的源文件以及类文件(reg、tlm、宏、驱动程序、监视器、env 等)的许多 svh 文件。
我没有看到任何额外的 makefile 或关于如何为 Modelsim 编译的说明。
然后我创建了自己的编译脚本:
vlog -64 -lint -modelsimini $(MSI_FILE) -quiet -sv17compat -work $(LIB_UVM) ~/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm_pkg.sv
vlog -64 -lint -modelsimini $(MSI_FILE) -quiet -sv17compat -work $(LIB_UVM) ~/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm.sv
我还设置了 UVM_HOME 环境变量指向包含 src 文件夹的目录。
我在编译脚本上遇到的错误是这样的:
Error: ** while parsing file included at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm_pkg.sv(26)
** while parsing file included at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm_macros.svh(82)
** at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/macros/uvm_tlm_defines.svh(642): Cannot open `include file "tlm1/uvm_tlm_imps.svh".
** Error: ** while parsing file included at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm_pkg.sv(30)
** at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/dpi/uvm_dpi.svh(40): Cannot open `include file "dpi/uvm_hdl.svh".
** Error: ** while parsing file included at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm_pkg.sv(30)
** at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/dpi/uvm_dpi.svh(41): Cannot open `include file "dpi/uvm_svcmd_dpi.svh".
我可以在 src 文件夹中看到 svh 文件,它们嵌套在指定的文件夹中。我只能假设 vlog 编译器正在查看我的本地项目文件夹,而不是 uvm_pkg.sv 所在的文件夹。
然后我尝试使用指向 src 文件的 +incdir+$(UVM_HOME) 标志。我仍然遇到同样的错误。
** Error: ** while parsing file included at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm_pkg.sv(35)
** at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/seq/uvm_seq.svh(32): Cannot open `include file "/home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1//seq/uvm_sequence.svh".
** Error: ** while parsing file included at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/uvm_pkg.sv(35)
** at /home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1/src/seq/uvm_seq.svh(33): Cannot open `include file "/home/deadsupra/rtl_lib/UVM-18002-2017-11tar/1800.2-2017-1.1//seq/uvm_sequence_library.svh".
任何帮助将不胜感激。我已经搜索了任何合适的方法来编译 UVM,其中很多似乎指向 +incdir。但是很多示例都是针对较旧版本的 modelsim 和较旧的 UVM 1.1 或 1.2。
【问题讨论】:
标签: compiler-errors simulation system-verilog modelsim uvm