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

相关推荐
算家计算4 天前
DeepSeek R2因芯片问题再次延迟发布!千亿级大模型训练的算力之困
人工智能·芯片·deepseek
GOTXX11 天前
【CS创世SD NAND征文】小型夜灯为何需要存储芯片?从基础照明到智能存储的升级密码
数据库·科技·安全·芯片·储存
吾鳴16 天前
网信办约谈英伟达,H20芯片后门风波震动中国AI产业
人工智能·nvidia·芯片
小刘摸鱼中1 个月前
INA226 数据手册解读
stm32·单片机·嵌入式硬件·芯片
YoungHong19921 个月前
如何在 Android Framework层面控制高通(Qualcomm)芯片的 CPU 和 GPU。
android·cpu·gpu·芯片·高通
m0_751336392 个月前
机器学习重构光子学设计范式:从智能器件到前沿系统
人工智能·机器学习·重构·芯片·光学·材料科学·光子器件
13631676419侯2 个月前
ESP32-C3FH4X—低功耗、高集成度的 MCU 系统级芯片 (SoC)
嵌入式硬件·智能家居·芯片
李小白杂货铺2 个月前
芯片制程变化
芯片·量子隧穿·发展历史·制程·芯片制程·芯片制程定义变化·量子效应
AUTO_150756759652 个月前
XS2186 是一个八通道、供电设备(PSE)电源控制器,设计用于IEEE® 802.3at/af兼容PSE,用于交换机/路由器
单片机·嵌入式硬件·芯片