https://www.asic-world.com/verilog/pli1.html
https://www.asic-world.com/verilog/pli.html
demo:
dpi_func.c
#include <stdio.h>
int add_int(){
printf("C::display!!!!\n");
}
test_pli.tab
$add_int call=add_int acc=rw:*
pkg_0.sv
module test;
initial begin
$add_int();
end
endmodule
编译出来.so
gcc -fPIC -shared -o libdpi_func.so dpi_func.c
vcs编译:-P 指定对应的pli的tab
vcs -sverilog -CFLAGS -DVCS -P /home/qingxu12/UVM/dpi_demo/test_pli.tab -LDFLAGS "-Wl,-rpath,/home/qingxu12/UVM/dpi_demo -L/home/qingxu12/UVM/dpi_demo -ldpi_func" -full64 -debug_access -LDFLAGS " " -xprop=xp_config_file -timescale=1ns/1ps -f filelist.lst
仿真:
./simv