VCS使用教程小结

目录

  • 1. 使用流程
  • 2. 相关参数
  • 3. 具体例子

1. 使用流程

VCS的具体功能是编译文件,包括C和CPP文件,v和sv文件,编译结束后再生成可执行文件simv。

2. 相关参数

-full64 : VCS以64位运行
-sverilog:如果你的文件后缀名用的是.sv,那么编译时要加上该参数
-cpp g++ -4.8 : 要根据的VCS的版本寻找对应的G++的版本
-cc gcc-4.8:对应gcc的版本
-LDFLAGS :这个参数和后面的参数不写有时还会报错,指用GCC等编译器中的一些优化参数
-Wl, --no-as-needed:把用户指定的链接库全部写入可执行文件中,而不是依赖的库写入
-debug_all:这个参数是肯定需要的
-rdynamic:指示需要加载的动态库
-R:表示在编译完成之后自动运行仿真
-f :filelist.f文件,用于表示所有源文件
-o :指定输出的可执行文件的名字,缺省是simv

3. 具体例子

Makefile

compile:
        vcs \
        -full64 \
        -sverilog \
        -cpp g++-4.8 \
        -cc gcc-4.8 \
        -LDFLAGS \
        -Wl, --no-as-needed \
        -debug_all \
        -rdynamic \
        -P ${LD_LIBRARY_PATH}/novas.tab \
        ${LD_LIBRARY_PATH}/pli.a \
        -f filelist.f \
        +vcs+lic+wait \
        -timescale=1ns/1ps \
        -l compile.log

例子中加入-cpp和-cc的主要原因是用的VCS2016.06, 而我电脑里用gcc7.5,所以在下载完gcc4.8之后需要显性的表示出vcs调用GCC的版本。之后动态库链接的一些参数也是因为同样的原因,如果不加-Wl,–no-as-needed会显示其他动态库找不到函数声明,因此需要我们链接的时候把一些链接库直接添加到可执行文件中。

你可能感兴趣的:(软件使用)