在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2921|回复: 4

[求助] 求教程序调用DPI函数遇到的问题

[复制链接]
发表于 2019-12-17 19:10:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
根据绿皮书描述,在sv侧定义如下函数
export "DPI-C" sv_display;
function sv_display()
     $display("sv_display");
endfunction
在C文件侧定义
extern void sv_display();
vcs编译过程中为啥会报错,显示找不到sv_display函数,报错如下:
c.so:undefined reference to 'sv_display'
编译命令:
gcc -m64 -fPIC -g -w -shared -x c -DVCS  *.c -o c.o
vlogan $CMP_LIST
vcs c.so

 楼主| 发表于 2019-12-17 19:14:57 | 显示全部楼层
编译命令:
gcc -m64 -fPIC -g -w -shared -x c -DVCS  *.c -o c.so
vlogan $CMP_LIST
vcs -top top_soc_tb c.so
发表于 2019-12-18 14:53:17 | 显示全部楼层
在c测#include <svdpi.h>试试
 楼主| 发表于 2019-12-20 11:31:07 | 显示全部楼层


shuidi 发表于 2019-12-18 14:53
在c测#include 试试


多谢,问题已经找到了。export DPI函数需要放在module的外部,否则会找不到。如果需要放在module内部,需要加上CONTEXT定义
发表于 2022-3-22 22:48:21 | 显示全部楼层
你好请教一下  sv调用c函数需要在eda编译的时候做个加载静态库的动作,c调用sv的函数需不需要做类似动作加载sv的编译文件,还是直接定义extern就可以用?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-14 11:57 , Processed in 0.016871 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表