我从英特尔下载了Modelsim,免费版本(Modelsim-Intel FPGA版)。免费版本是Ubuntu 64位LTS上的Modelsim的32位版本。我通过安装i386 arch的apt pkg来解决这个问题。
我想使用UVM在SV中创建一个测试平台。
这个modelsim似乎只有用于设备支持原语的编译库。因此,我从Accellera下载了UVM20171.1 (IEEE 1800.2)。
该文档仅指导如何解压缩tar.gz。解压后,我看到了包含uvm.sv & uvm_pkg.sv的源文件和许多用于类文件(注册表、tlm、宏、驱动程序、监视器、环境等)的svh文件。
我没有看到任何关于如何编译Modelsim的额外makefile或说明。
然后我创建了自己的编译脚本:
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所在的文件夹。
然后,我尝试使用+incdir+$(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(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。
发布于 2020-07-27 10:44:18
Xilinx Vivado 2020.1支持UVM1.2和Systemverliog的许多特性。它在WebPack (免费软件)版本中支持相同的功能。我开发了一个工具"tbengy“来生成一个UVM TB和Makefile。您可以在https://github.com/prasadp4009/tbengy上阅读说明
https://stackoverflow.com/questions/63094101
复制相似问题