如何为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

相关推荐
JSMSEMI1113 小时前
JSM4421 SOP‑8‑60V P 沟道 MOSFET
芯片
深圳市贝乐实业股份有限公司1 天前
APS1604M-DQRA:16Mb PSRAM助力智能设备升级
芯片·psram·aps1604m-dqra
至为芯3 天前
IP2758至为芯支持PD3.2快充的双C口独立快充协议芯片
集成电路·芯片·电子元器件
每天进步一点点️3 天前
透视 SOC 内部:APU Cluster 如何驱动 DB15 的 CAN/ETH 信号输出
arm开发·soc·芯片
嵌入式小企鹅3 天前
国芯抗量子MCU突破、太空算力元年开启、AI编程工具密集发布
学习·ai·边缘计算·算力·risc-v·芯片·半导体
每天进步一点点️4 天前
CMN600AE——片上总线
嵌入式硬件·soc·芯片
森利威尔电子-6 天前
森利威尔SL6129兼容 AL8805 / AL8806,输入电压 5.5V - 30V,最大输出电流 1.2A
单片机·嵌入式硬件·集成电路·芯片·电源芯片
不会武功的火柴7 天前
UVM验证入门(6)-config_db机制
嵌入式·芯片
深圳市贝乐实业股份有限公司8 天前
APS6404L-3SQN-ZR:64Mbit PSRAM助力物联网设备高效运行
芯片·psram·存储芯片·aps6404l-3sqn
森利威尔电子-9 天前
森利威尔 SL3160A 降压型 DC - DC 转换器:10V - 150V 宽输入,稳出 5V/2.5A
单片机·嵌入式硬件·集成电路·芯片·电源芯片