vcs 支持3step 仿真
优势:可以将不同的库独立analysis, 后面只对有修改过的库做单独的analysis,没有修改的可以不用重新analysis.
Must:
1.synopsys_sim.setup: 放在执行命令的路径下,目的指示lib的位置。
--VCS MX setup file
--Mapping default work directory
WORK > DEFAULT
DEFAULT: ./work
--Library Mapping
UVM: ./uvm_work
DUT: ./dut_work
TB: ./tb_work
WORK > DEFAULT
DEFAULT: ./work
这两句的作用是在我们没有用-work lib选项时,把生成的库直接放在./work文件下
TB: ./tb_work
这句的作用是在我们用了 vlogan [options] -work TB选项时,把生成的库放在./tb_work;
:前的名字要跟vlogan -work [name] 中的name相同,:后的是analysis后的输入目录
2.config.sv
`include "uvm_macros.svh"
config cfg;
design TB.top; // 2top: design TB.hw_top TB.sw_top
default liblist UVM DUT TB;
partition package uvm_pkg;
`include "uvm_macros.svh"
endconfig
default liblist UVM DUT TB;
这句话会根据后面的UVM DUT TB libname 去synopsys_sim.setup中选择相同名字的library,然后找到需要依赖的work 路径
command
1. analyzing
vlogan [vlogan_options]
eg:vlogan -full64 -sverilog -ntb_opts uvm -kdb -lca +vcs+lic+wait +define+UVM_NO_DEPRECATED -work TB cfg.sv test.sv
2.elaborate
vcs [elaborate_options]
eg: vcs -full64 -sverilog -ntb_opts uvm -kdb -lca +vcs+lic+wait TB.cfg -l elab.log
3.simulation
simv +vcs+lic+wait -l sim.log
demo:
![]()
531

被折叠的 条评论
为什么被折叠?



