vcs编译systemverilog并且用verdi查看波形


 reference : http://blog.chinaaet.com/weiqi7777/p/5100017757

         对于编写的systemverilog代码,在linux下,可以使用vcs编译,但是编译的时候,要注意,要加入几个选项。

 

         整个过程,linux使用的是64位的redhat,vcs使用的是vcs2015,verdi使用的是verdi2015。

 

         如以下的systemverilog代码。

vcs编译systemverilog并且用verdi查看波形_第1张图片

         其中router_test_top.sv是顶层的代码。

 

         使用命令

                   vcs  -sverilog  router_test_top.sv –full64 –debug_all +incdir+./ -y ./ +libext+.sv+.v –P ${VERDI_HOME}/share/PLI/VCS/LINUXAMD64/novas.tab ${VERDI_HOME}/share/PLI/VCS/LINUXAMD64/pli.a

         其中:

         -sverilog : 表示vcs编译,支持systemverilog

         router_test_top.sv:  表示指定的顶层是 router_test_top.sv

         -full64:  当系统是64位,需要此选项,否则编译会出错

         -debug_all: 开始调试功能,这样才能在生成的simv中看波形

         +incdir./+:  将当前目录 加入 `include 的搜索路径

         -y  ./:  将当前目录加入搜索路径,这样在顶层中调用的module才会被找到

         +libext+.sv+.v:  指定文件,这里表示指定后缀为.sv和.v的文件

         -P: 指定使用的PLI,这里指定verdi下的PLI,因为verdi是需要fsdb文件来显示波形的,而fsdb文件的生成,需要系统函数(如$fsdbDumpfile,$fsdbDumpvars等等),而这些系统函数,vcs中是没有的,但是在verdi的PLI中有,所以这里需要指定一下。

 

         执行完毕后,就会生成 simv了。但是别忘记要执行以下simv,因为执行来,才会生成fsdb文件。

vcs编译systemverilog并且用verdi查看波形_第2张图片

 

         生成fsdb后,就可以用verdi打开了。

 

         Verdi软件,需要源代码以及fsdb文件。

         命令:

                   verdi -sv -f filelist –ssf test.fsdb

         其中:

                   -sv: 表示 Verdi 软件 要支持systemverilog

                   -f filelist:  源代码的文件列表

                   -ssf test.fsdb:  指定fsdb文件

 

         而源代码的文件列表:

vcs编译systemverilog并且用verdi查看波形_第3张图片

 

         执行后,就启动verdi了。

vcs编译systemverilog并且用verdi查看波形_第4张图片

 

         将上述的命令,封装成makefile

vcs编译systemverilog并且用verdi查看波形_第5张图片

        

         以后,只需要将objs的变量修改下,修改为当前设计的顶层。然后直接make命令,就可以对systemverilog代码进行编译,然后仿真,最后启动verdi查看波形。

你可能感兴趣的:(synopsys)