VCS动态加载DPI shared lib,在vcs compile之后,调用GCC执行C的编译,产生so文件。 在vcs run的时候,手动加载so。加载的命令包括: 1) -sv_liblist,指定一个so的list文件,其中的so不需要加后缀名。 2) -sv_root,加lib so的hier。之后再加-sv_lib。 3) -sv_lib,加lib名,不需要加后缀。 VCS动态加载PLI sh...
./simv -sv_lib test all : comp_soft comp_eda run 使用DPI-C 需要导入sv_dpi.h 的include 文件 ,C_INC 变量即存放vcs软件提供的inc文件夹 可以看出 makefile 呈现三个功能: 1. 将软件编译成动态链接库(.so) a. -I include文件夹 b. -fPIC 按照动态地址链接 c. -shared 生成动态链接库.so d. ...
对于DPI动态共享库,在编译时需要加上 -sverilog选项;在仿真时,需要加上仿真参数:-sv_lib .so文件名(不要.so扩展名)一个编译c到so的例子:gcc -fPIC -Wall ${CFLAGS} -I${VCS_HOME}/include \other_libraries -c test.cgcc -fPIC -shared ${CFLAGS} -o test.so test.o 4.动态加载PLI库实际工程中...
这种情况在vcs编译阶段不需要编译c代码: 在执行simv的时候通过-sv_lib 参数传递共享库。共享库文件名为cprog.so,但传递-sv_lib参数时不带.so后缀。 -sv_root参数可以指定共享库的路径,在共享库与simv不在同一目录时需要-sv_root指定共享库所在路径。
-v lib_flie:搜索指定lib库文件 -y lib_dir:搜索指定lib库路径 +libext+ext:搜索具有指定文件扩展名的文件,如+libext+.v +.sv +incdir+directory:搜索指定include文件路径 +define+macro:使用源代码中`ifdef所定义的宏或者define源代码中的宏 -parameters filename:将filename文件中指定...
忽略警告消息-l filename指定VCS记录分析器消息的日志文件-sverilog启用分析SystemVerilog源代码-sv_pragma指示VCS在单行或多行注释中编译sv_pragma关键字后面的SystemVerilog断言代码-timescale=time_unit/time_precision为不包含timescale编译器指令的源文件指定unit和precision,并在包含时间表的源文件之前指定时间表-v ...
-v lib_flie:搜索指定lib库文件 -y lib_dir:搜索指定lib库路径 +libext+ext:搜索具有指定文件扩展名的文件,如+libext+.v +.sv +incdir+directory:搜索指定include文件路径 +define+macro:使用源代码中`ifdef所定义的宏或者define源代码中的宏 -parametersfilename:将filename文件中指定的参数更改为此时指定的值...
然后在simv运行时加载这个动态库,vcs提供了两种加载方式:bootstrap file和-sv_lib指定动态库的方式: 比如我的Makefile就是这么写的: 后言: 网上关于DPI的资料比较少,这里补充点资料途径: 1、绿皮书中"Systemverilog与C语言的接口"一章 2、systemverilog2012标准里面的第35章“Direct programming interface” ...
-Marchive[=N] create intermediate libs to reduce link line length; N objs per lib -P plitab compiles user-defined pli definition table 'plitab' -PP enable optimizer postprocessing capabilities for vcd+ -R after compilation, run simulation executable ...
⑦+libxt+.v+.V+.sv+.svh用于识别多种格式的设计文件; ⑧-sverilog表示支持Systemverilog的编译; ⑨+memcbk+all可以查看多维数组的波形; ⑩-P表示指定使用的PLI文件与库文件pli.a,.tab是PLI接口说明; 11. –cpp /user/bin/g++-4.4或者-cc /user/bin/gcc-4.4,用于指定gcc与g++的位置与版本; ...