makefile vcs verdi
时间: 2025-01-22 08:32:58 浏览: 35
使用Makefile进行VCS与Verdi联合仿真配置
编写适用于VCS和Verdi的Makefile
为了使VCS能够自动生成用于调试的.fsdb
文件并配合Verdi工具进行波形查看,可以在Makefile中定义特定的目标来处理编译、运行以及清理操作。以下是基于已有资料构建的一个简化版Makefile实例[^2]:
comp:
vcs +v2k top_tb.v -debug_all -l comp.log
sim:
./simv -l run.log -gui &
clean:
rm -r *.log *.vpd *.vcd *.fsdb
此段代码展示了基本的编译(comp
)、模拟执行(sim
)及清除临时文件(clean
)的操作。
对于更复杂的场景——即希望集成Verdi作为波形观察器的情况,则需进一步调整上述脚本以支持生成适合Verdi读取的数据格式,并提供启动Verdi的具体指令[^4]。
配置环境变量以便于调用Verdi
为了让系统能够在命令行环境中顺利找到并加载Verdi及其依赖项,在用户的shell初始化文件(如.bashrc
)里添加必要的路径设置是非常重要的一步[^5]:
export SNPSYS_HOME=/opt/synopsys
export VERDI_HOME=${SNPSYS_HOME}/verdi
export PATH="${PATH}:${VERDI_HOME}/bin:${VERDI_HOME}/platform/LINUX64/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${VERDI_HOME}/lib"
export LM_LICENSE_FILE="${LM_LICENSE_FILE}:${SNPSYS_HOME}/Synopsys.dat"
这些设定确保了当用户尝试通过终端或其他方式访问Verdi时,操作系统知道去哪里寻找对应的二进制文件及相关资源库。
修改后的Makefile以适应VCS+Verdi工作流
考虑到要利用Verdi来进行详细的信号追踪分析,建议对原始Makefile做如下改动,加入专门针对Verdi的支持[^3]:
.PHONY: all compile simulate view_waveforms clean
all: compile simulate view_waveforms
compile:
vcs -R -f filelist.f +define+FSDB_DUMPFILE=dump.fsdb \
+define+FSDB_DUMP_VCD top_tb.sv -debug_pp -full64 -sverilog \
-timescale=1ns/1ps -o simv -l vcs_compile.log
simulate:
./simv | tee vcs_run.log
view_waveforms:
verdi -ssf dump.fsdb &
clean:
rm -rf csrc DA* lint.* *.key *.dat *.dir *.log ucli.key *.svf *.trc *.h *.cpp *.dll *.so *.exe *.out *.elf *.pdb *.map *.xml *.json *.gz *.bz2 *.xz *.zip *.tar *.tgz *.tbz *.txz *.7z work .work *~ .*~ core.*
这里增加了几个新的目标:all
, view_waveforms
和一些辅助性的清理规则。特别是compile
部分加入了创建.fsdb
文件所需的选项,而view_waveforms
则负责打开Verdi并将之前产生的波形数据传递给它显示。
相关推荐



















