|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 jimmy_dip 于 2017-6-21 21:10 编辑
共有三个文件,pli.c pli.tab test.v
pli.c中代码:
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <unistd.h>
- #include <sys/sem.h>
- #include <signal.h>
- #include "vcsuser.h"
- #include "veriuser.h"
- #include "acc_user.h"
- #include "vcs_acc_user.h"
- #include "vpi_user.h"
- int test ()
- {
- s_setval_value val;
- s_setval_delay zero_delay;
- zero_delay.mode = accNoDelay;
- zero_delay.time.type = accRealTime;
- zero_delay.time.real = delay;
- val.format = accRealVal;
- val.value.real=(double) 10000/2000;
- acc_set_value((handle)tf_getinstance(), &val, &zero_delay);
- return 0;
- }
复制代码 test.sv代码
- module top();
- initial begin
- $test;
- end
- endmodule
复制代码 pli.tab
- $test call=test acc=rw,cbk:*
复制代码 vcs -R -P pli.tab test.v -CFLAGS "-g -I/$VCS_HOME/amd64/include" +acc+3
出错信息:
在调用PLI时,执行到acc_set_value出错,像是访问空间出错了。具体的出错信息不能复制粘贴过来(公司内网,大家懂的)。
请熟悉PLI的朋友帮我看看。此段代码使用cadence的nc可以,但是vcs则出错。 |
|