|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
代码如下:
env.sv
int port_lane_offset[$] = {0,1,2,3,4,5,6,7};
function int env::get_port_lane_offset(int port);
return port_lane_offset[port];
endfunction
dpi_call.svh
export "DPI-C" function sv_get_port_lane_offset;
function sv_get_port_lane_offset(int port);
...
return env.get_port_lane_offset(port);
endfunction
cpp_dpi.h
extern "C" {
extern int sv_get_port_lane_offset(int port);
}
Class CppDpi
{
...
public:
int GetPortLaneOffset(int port);
}
cpp_dpi.cpp
int CppDpi::GetportLaneOffset(int port){
...
return sv_get_port_lane_offset(port);
}
test.cpp
...
int lane_offset = CppDpi::GetPortLaneOffset(1);
...
我的问题是, 当在C++test中调用DPI函数,从SV环境中取值时,不能取到想要的值,返回的一直是0?
请各位大侠帮我看看这个问题。 |
|