如何为intel-modelsim加上已经编译好的uvm

intel-modelsim不会像vcs那样自动编译uvm,需要手动编译 编译的命令 gcc -fPIC -shared -o libuvm_dpi.so uvm_dpi.cc -I/home/zhoujie/intelFPGA/20.1/modelsim_ase/include/ -DQUESTA

含义: uvm_dpi.cc,这是入口,它通过include已经包括了dpi目录下所有文件 -I/home/zhoujie/intelFPGA/20.1/modelsim_ase/include/ 有些依赖在仿真器里,需要include -DQUESTA指定,因为在uvm_hdl.c里面,判断使用哪一个编译器,如果用modelsim,需要指定QUESTA

另外

ini 复制代码
uvm_common.c: In function 'm_uvm_report_dpi':
uvm_common.c:50:3: error: unknown type name 'svScope'
   50 |   svScope old_scope = svSetScope(svGetScopeFromName(uvm_package_scope_name));
      |   ^~~~~~~
uvm_common.c:50:23: warning: implicit declaration of function 'svSetScope' [-Wimplicit-function-declaration]
   50 |   svScope old_scope = svSetScope(svGetScopeFromName(uvm_package_scope_name));
      |                       ^~~~~~~~~~
uvm_common.c:50:34: warning: implicit declaration of function 'svGetScopeFromName' [-Wimplicit-function-declaration]
   50 |   svScope old_scope = svSetScope(svGetScopeFromName(uvm_package_scope_name));
      |                                  ^~~~~~~~~~~~~~~~~~
uvm_common.c: In function 'int_str_max':
uvm_common.c:57:15: error: 'INT_MAX' undeclared (first use in this function)
   57 |     int val = INT_MAX;
      |               ^~~~~~~
uvm_common.c:1:1: note: 'INT_MAX' is defined in header '<limits.h>'; did you forget to '#include <limits.h>'?
  +++ |+#include <limits.h>
    1 | //----------------------------------------------------------------------
uvm_common.c:57:15: note: each undeclared identifier is reported only once for each function it appears in
   57 |     int val = INT_MAX;
      |               ^~~~~~~

这个虽然不知道为什么,但是就是缺

arduino 复制代码
#include <svdpi.h>
#include <limits.h>

在uvm_common.c加上即可

UVM版本

1800.2-2020

Merge pull request #18 from jrefice/official_release_3_1 · accellera-official/uvm-core@78c0654

坑2

刚刚编译的uvm是64位的,但是intel-modelsim是32位的,不匹配

需要编译32位的, gcc -m32 -fPIC -shared -o libuvm_dpi.so uvm_dpi.cc -I/home/zhoujie/intelFPGA/20.1/modelsim_ase/include/ -DQUESTA

缺一些依赖,根据gcc和g++版本装即可

sudo apt-get install gcc-11-multilib g++-11-multilib

相关推荐
CHY_1281 天前
Synopsys AXI VIP 解析(5)——寄存器模型
芯片
义嘉泰1 天前
把显示、触控和手写笔都管起来
人工智能·芯片
深圳市贝乐实业股份有限公司2 天前
APS1604M-SQRX-SN:高级智能玩具里的“隐藏芯片”
芯片·psram·存储芯片·aps1604m-sqrx
CHY_1282 天前
Synopsys AXI VIP 解析(2)——配置类和传输类
芯片
程序员爱德华2 天前
华为韬定律
集成电路·芯片·韬定律
ZenasLDR4 天前
Type-C接口iPad键盘皮套
接口·芯片·usb
至为芯5 天前
IP5385P至为芯支持2路C口双向快充100W新国标移动电源方案芯片
集成电路·芯片·电子元器件
义嘉泰5 天前
PN27G04BBGITG 存储芯篇章
芯片
深圳市贝乐实业股份有限公司6 天前
APS1604M-SQR-SN:这颗芯片如何成为移动打印机的“隐形功臣”?
芯片·psram·存储芯片·aps1604m-sqr-sn
洞察物理世界6 天前
【硬件_τ定律】华为韬定律(τ 定律)理论重塑半导体行业
芯片·半导体·韬定律·摩尔定律