sv与c++的DPI接口问题
时间:10-02
整理:3721RD
点击:
求助各位前辈:
编了个很简单的代码试试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.
求高人指正,不胜感激。
编了个很简单的代码试试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.
求高人指正,不胜感激。
extern "C"{
int factorial(int i){
if(i<=1) return 1;
else return i*factorial(i-1);
}
}
多谢指正!成功解决!