当我在网上遇到这个问题时,我发现了how to use verilog PLI communicate with c by ncverilog compiler这个问题。
我跟踪了最后一个答案,但不起作用。其中一个错误是hello_vpi.c:"vpi_user.h No .文件或目录“hello_vpi.c 12 :hello_vpi.c‘s_vpi_systf_data’未声明(在此函数中首次使用).
我该解决什么问题?
更新
@Greg ::我的模拟器是Incisive15.10.002和Linux6.0。
我遇到了一个问题,当我像这个gcc hello_vpi.c -fPIC -shared -o hello_vpi.so -I /cadence/Incisive/Incisive15.10.002/tools.lnx86/include运行时,我收到了如下消息。
hello_vpi.c : Infunction 'register_hello‘: hello_vpi.c :16:警告:来自不兼容指针类型的赋值。
在运行此命令ncverilog test.v +access+r -v hello_vpi.so时,我收到了一些错误消息,如下所示
..。 *W.LIBNOU :库"hello_vpi.so提供但没有使用。 ..。 $hello; 未识别的系统任务或功能 ..。 libvpi.so无法打开shaed对象文件:没有这样的文件目录或文件是无效的ELFCLASS64库 ..。 *E,MSSYSTF :用户定义的系统任务或功能( $hello)在精化过程中注册,并在仿真中使用。
我不知道我该怎么办?
发布于 2016-01-04 00:53:47
删除-I后的空格
gcc hello_vpi.c -fPIC -shared -o hello_vpi.so -I/cadence/Incisive/Incisive15.10.002/tools.lnx86/include你也可以试试:(注:我猜这条路带着尖锐的gcc )
/cadence/Incisive/Incisive15.10.002/tools.lnx86/bin/gcc hello_vpi.c -fPIC -shared -o hello_vpi.so如果ncverilog test.v +access+r -v hello_vpi.so不能工作,请尝试:
ncverilog test.v +access+r -loadvpi ./hello_vpi.so:register_hellohttps://stackoverflow.com/questions/34447953
复制相似问题