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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3976|回复: 2

[求助] sv与c++的DPI接口问题

[复制链接]
发表于 2017-2-9 19:21:11 | 显示全部楼层 |阅读模式

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

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

x
求助各位前辈:
编了个很简单的代码试试DPI,但是出现错误,错误大概是说找不到我写的C++函数,代码和错误如下,求指路...

sv代码:
module text;
    import "DPI-C" function int factorial(input int i);
    initial begin
        for(int i=1; i<=10; i++) begin
            $display("%0d!=%0d",i, factorial(i)); //就是书上的例子
        end
        $finish;
    end
endmodule

C++代码:
#include <iostream>
#include "svdpi.h"
int factorial(int i){
    if(i<=1) return 1;
    else return i*factorial(i-1);
}

运行指令

g++ -m32 -fpic -shared -o text.so factorial.cpp

irun     -f  ./vlist \
          -sv \
          -sv_root /usr/qingzao/ncsim \
          -sv_lib text.so \
          -access rwc

错误:
ncsim: *F,NOFDPI: Function factorial not found in any of the shared object specified with -SV_LIB switch.

求高人指正,不胜感激。
发表于 2017-2-10 12:52:41 | 显示全部楼层
extern "C"{
  int factorial(int i){
     if(i<=1) return 1;
     else return i*factorial(i-1);
  }
}
 楼主| 发表于 2017-2-12 15:47:45 | 显示全部楼层
回复 2# nativeda


    多谢指正!成功解决!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-12 01:53 , Processed in 0.017734 second(s), 6 queries , Gzip On, Redis On.

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