#VCS# 《VCS、VCS-MX》编译和仿真工具

本文详细介绍了VCS/MX仿真器的功能特性及其在Verilog、VHDL等多种硬件描述语言中的应用。同时,文章提供了VCS/MX的设置指南、仿真步骤以及如何利用SolvNet获取更多支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一    概述 VCS/VCS-MX

二    VCS 的设置

三    VCS 帮助文档

四    利用SolvNet


一 概述 VCS/VCS-MX

VCS是Verilog Compiled Simulator的缩写。VCS MX®是一个编译型的代码仿真器。它使你能够分析,编译和仿真Verilog,VHDL,混合HDL,SystemVerilog,OpenVera和SystemC描述的设计。 它还为您提供了一系列仿真和调试功能,以验证您的设计。 这些功能提供了源码调试和仿真结果查看功能。

VCS仿真可以分成两步法或三步法, 对Mix language, 必须用三步法。仿真前要配置好synopsys_sim.setup文件,里边有lib mapping等信息。设置环境变量’setenv SYNOPSYS_SIM_SETUP /xxx/xxx/synopsys_sim.setup’. VCS对应的waveform工具有DVE和Verdi, DVE因为是原生的,所以VCS对DVE非常友好。但DVE已经过时了,其对uvm等新feature支持的不好。Verdi是Debussy公司的产品,现在已被Synopsys收购并着力发展,说以Verdi是未来的潮流。但由于其原来是Synopsys第三方产品,所以VCS对其支持并不是很友好。 如果要支持Verdi,需要设置好NOVAS_LIB_PATH的环境变量,并且在命令行中添加-kdb的option,knowledge database(kdb)是VCS支持Verdi时的重要概念。另外,VCS支持vpd和fsdb两个格式的dump wave, fsdb的文件相对比较小。

Step 1: analysis  verilog/system verilog/VHDL;

vlogan -kdb -work DEFAULT [rtl.defs] -f filelistname -l  logfilename +incdir+include_dir_name  top.v    
#对verilog file 进行analysis
 
vlogan -kdb -sverilog +define+SVA_OFF -work DEFAULT -f vlog.flist -l  logfilename.log  
#对systemverilog进行analysis
 
vhdlan -kdb -vhdl87  -full64  -work $VCS_LIB  -f VHDL87_FILELIST -l vhdl87.log  
#对VHDL87进行analysis
 
vhdlan -kdb -93  -full64  -work $VCS_LIB  -f VHDL93_FILELIST -l vhdl93.log   
#对VHDL93进行analysis

Step 2: Elaboration

vcs -kdb -lca -noIncrComp +lint=TFIPC-L +lint=PCWM -debug_all -P /xxx/synopsys/verdi/xxxxxx/novas_new_dumper.tab  /xxx/synopsys/verdi/xxx/pli.a top_module_name  -l elab.log  -Mdir=/xxx/incr_compile -o /xxx/simv

Step 3: Run simulation

simv +DUMP_FSDB +FSDB_FILENAME=xxx.rtl.fsdb +PLUSSEED +seed=146123456 -l /xxx/xxx.sim.log
 
simv +DUMP_VPD +VPD_FILENAME=xxx.rtl.fsdb +PLUSSEED +seed=146123456 -l /xxx/xxx.sim.log

注意,上面的两个命令中,参数DUMP_FSDB/VPD是一个dump波形的使能参数,需要在top testbench中添加dump wave的系统命令,配合使用才起作用:

reg [511:0] WAVE_FILENAME; // string definition
 
if ($test$plusargs("DUMP_FSDB"))  begin
      if ($value$plusargs("FSDB_FILENAME=%s", WAVE_FILENAME))    begin
           $fsdbDumpfile(WAVE_FILENAME);  // 具体系统命令查询Verdi安装目录下的文档:linking_dumping.pdf
      end
 end
  
if ($test$plusargs("DUMP_VPD"))  begin
      if ($value$plusargs("VPD_FILENAME=%s", WAVE_FILENAME)) begin
            $vcdplusfile(WAVE_FILENAME);
            $vcdpluson();
      end
end


vcs提供了一系列的feature,如下图:

VCS技术全家桶

(1)业界领先的性能和兼容性,无论是RTL还是gate level,还是TLM,或者AMS
(2)高级仿真技术 X-prop,低功耗,精调的并行化等
(3)次时代的验证planning和覆盖率分析verification planner,verdi coverage和formal coverage分析
(4)广泛的语言和方法学支持UVM, UPF, Analog Mixed-signal, combined TLM/RTL SystemC, SystemVerilog, verilog, VHDL, Mixed-language
 

二   VCS 的设置

通常情况下,公司的IT部门会将工具安装好,一般情况下,不需要我们进行什么设置,下面给出的是万一需要自己安装VCS的时候,需要的设置的环境变量。

setenv VCS_HOME  /tools/synopsys/vcs-2016
set path = ($VCS_HOME/bin $path)
setenv LM_LICENSE_FILE portid@hostname
setenv VCS_CC /usr/bin/gcc

三   VCS 帮助文档

(1)/tools/synopsys/vcs-xxx/doc (xxx is release version)
尽量查阅VCS MX User Guide作为查找某个功能,特性的第一选择
%> vcs –doc
(2)查看vcs工具提供的一些options,这些options的含义可以在UG中查找
%> vcs -help
(3)如果是刚入门,可以查看VCS quickstart
/tools/synopsys/vcs-2016/doc/UserGuide/examples-pdf/systemverilog/vcs_quickstart
 

四    利用SolvNet

VCS/VCS-MX的所有文档(S家其他EDA工具的文档)都可以在SolvNet上查找到。不仅仅是UG,还有很多用户提交的issue和case,供用户参考。如果你在使用VCS的过程中遇到问题,也可以提交case,Synopsys会有专门的人员来帮助解决问题。
但是SolvNet需要用公司的邮箱注册。

Log in to the SolvNet online support site using your SolvNet account at:
https://solvnet.synopsys.com/
Click the Documentation tab and select VCS/VCS-MX.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值