int c_CarWaiting()
{
printf("There's a car waiting on the other side. \n");
printf("Initiate change sequence ...\n");
sv_YellowLight();
sv_WaitForRed();
sv_RedLight();
return 0;
}
//test.sv
module test ();
typedef enum {RED, GREEN, YELLOW} traffic_signal;
traffic_signal light;
function void sv_GreenLight ();
begin
light = GREEN;
end
endfunction
function void sv_YellowLight ();
begin
light = YELLOW;
end
endfunction
function void sv_RedLight ();
begin
light = RED;
end
endfunction
task sv_WaitForRed ();
begin
#10;
end
endtask
export "DPI-C" function sv_YellowLight;
export "DPI-C" function sv_RedLight;
export "DPI-C" task sv_WaitForRed;
import "DPI-C" context task c_CarWaiting ();
initial
begin
#10 sv_GreenLight;
#10 c_CarWaiting;
#10 sv_GreenLight;
end
我今天遇到了和你同样的问题,不知道是不是太晚了,你不会看本帖了。
你说的环境变量设置错误,是指什么?是visaul studio 2003吗?
我想问,modelsim是怎么调用visaul studio 2003编译c代码的?需要什么设置吗?
-dpiheader 和 -dpiexportobj选项是什么意思?我没有查到,谢谢!期待你的答复4#lee_267
9#dpivpipli
the gcc and vs are two different compiler , how can gcc tell vs to generate 32-bit version ,btw , all these software work under Windows platform , which uses DLL file to link the DPI interface function, not .so file . is that right? thank you .