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进行编译:

    simulation设置

    1、选择Verilog Compiler Simulator (VCS)
    2、勾选“Generate simulation scripts only”,只生成脚本即可
    3、避免在编译时出错,编译选项加入:-sverilog -timescale=1ns/1ps

    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文件

    作者:啊节奏不对

    物联沃分享整理
    物联沃-IOTWORD物联网 » VCS直接仿真Vivado工程的方法与实践

    发表回复