MAKE FILE

用VCS很久了,一直都用的是csh脚本编译,学习UVM开始到现在,用make file脚本来编译发现比csh要实用一点。

常见的makefile脚本:

UVM_HOME         = /mnt/hgfs/EDA_SHARE/uvm-1.1d
WORK_HOME         = /home/verifier/UVM_Code/abc

VCS             = vcs
VCS_OPTS         = -sverilog +v2k +acc +vpi -timescale=1ns/1ns $(EXTRA_VCS_OPTS)
EXTRA_VCS_OPTS     = -full64 $(UVM_HOME)/src/dpi/uvm_dpi.cc    \
                  -CFLAGS -DVCS -debug_acc+all
                  
SIMV             = ./simv -gui    # -l vcs.log

VCAT_FILE        = $(WORK_HOME)/xyz.vcd
VCS_FILE        = $(WORK_HOME)xxxyyyzzz.v

default:
    # To use with VCS verilog, enter:
    #     make vcs_v
    # To use with VCS UVM, enter:
    #     make vcs_uvm
    # To remove temporary files, enter
    #   make clean
#--------------------------------------#
all_v:clean vcs_v run
all_uvm:clean vcs_uvm
#--------------------------------------#
vcat_vcd:
    vcat -full64 ${VCAT_FILE} -vgen DUT_vgen.cfg
#--------------------------------------#
vcs_v:
    $(VCS) -full64 $(VCS_FILE) +v2k -debug_pp
#--------------------------------------#
vcs_uvm:
    $(VCS) $(VCS_OPTS) +incdir+$(UVM_HOME)/src \
    $(UVM_HOME)/src/uvm_pkg.sv \
    $(VCS_FILE)

run:
    $(SIMV) 
 
clean:
    clear
    \rm -rf simv* *.vpd *.dump csrc *.sim *.mra *.log ucli.key *.db vcs.key *.h log DVEfiles .restartSimSession.tcl.old .inter.vpd.uvm


也可以看看这个:

makefile介绍 — 跟我一起写Makefile 1.0 文档 (seisman.github.io)

synopsis VCS makefile编写

最后修改:2022 年 03 月 28 日
如果觉得我的文章对你有用,请随意赞赏