用VCS直接仿真vivado工程

用VCS直接仿真vivado工程

  • 前言
    • 编译vcs仿真库
    • simulation设置
    • Run Simulation
    • 写Makefile
    • 执行脚本,运行vcs仿真

前言

在日常搬砖过程中,在IC design进行fpga原型验证时,在上fpga测试之前,往往需要对vivado工程进行仿真,而vivado工程中可能存在较多的xilinx ip或者block design,直接使用vivado仿真,速度难以接收。如果使用vcs进行仿真,这些ip的仿真文件较多,更恶心的是如果使用axi_interconnect等ip时,每重新generate一次block design,仿真文件会发生变化,难以维护固定的vcs仿真脚本。为了直接对vivado工程进行仿真,vcs可以直接调用vivado自动生成的vcs脚本。包含以下几个步骤:

编译vcs仿真库

选好vcs的path进行编译:

用VCS直接仿真vivado工程_第1张图片

simulation设置

1、选择Verilog Compiler Simulator (VCS)
2、勾选“Generate simulation scripts only”,只生成脚本即可
3、避免在编译时出错,编译选项加入:-sverilog -timescale=1ns/1ps
用VCS直接仿真vivado工程_第2张图片

Run Simulation

运行仿真生成vcs脚本:compile.sh和elaborate.sh

写Makefile

编写vcs仿真的makefile,调用上面的两个脚本文件。

#-------------------------------------------------------------------------------------------------------
all:comp elaborate sim
#-------------------------------------------------------------------------------------------------------
export VERDI_HOME=/nfs/tools/synopsys/verdi/R-2020.12-SP1
vcs_elab_opts=-full64 -debug_pp -t ps -licqueue -l elaborate.log -P ${VERDI_HOME}/share/PLI/VCS/LINUX64/novas.tab ${VERDI_HOME}/share/PLI/VCS/LINUX64/pli.a
vcs_sim_opts=-ucli -licqueue -l sim.log
top=top
#ref_dir=$(abspath $(lastword $(MAKEFILE_LIST)))
ref_dir=$(shell pwd)
#-------------------------------------------------------------------------------------------------------
comp: 
	cd ../project_test/project_ex.sim/sim_1/behav/vcs && ./compile.sh

#-------------------------------------------------------------------------------------------------------
elaborate:
	cd ../project_test/project_ex.sim/sim_1/behav/vcs && ./elaborate.sh
	cp -rf ../project_test/project_ex.sim/sim_1/behav/vcs/csrc ./
	cp -rf ../project_test/project_ex.sim/sim_1/behav/vcs/t* ./
#-------------------------------------------------------------------------------------------------------
sim:
	./tb_${top}_simv ${vcs_sim_opts} -do simulate.do \
	-cm line+cond+fsm+branch+tgl \
	-cm_name ${top} \
	-cm_dir ./${top}.vdb

执行脚本,运行vcs仿真

terminal下直接make命令执行vcs仿真,生成fsdb文件

你可能感兴趣的:(vcs仿真,fpga开发,risc-v,嵌入式硬件)