#
#--==============================================================
#-- File name : Makefile
#-- Author : shzhang
#-- Date : 2023/11/01
#-- Abstract : Cadence Xcelium Xrun Makefile
#--==============================================================
#
#######################################################
.PHONY : com run clean
#######################################################
export cpto_sw_v200_tb_path = ..
#######################################################
SIM_DIR = .
LOG_DIR = ../log
FSDB_DIR = ../wave/fsdb
SHM_DIR = ../wave/shm
TC_DIR = ../tc/cfg
COV_DIR = ../cov/imc/cov_work
#######################################################
TOP_BENTCH = top
TOP_DUT = cpto_sw_v200_top
#######################################################
uvm_version = uvm_1.1d
export UVM_HOME = /DigData/shzhang/uvm/uvm-1.1d
export UVM_PKG = /DigData/shzhang/uvm/uvm-1.1d/src/uvm_pkg.sv
export UVM_EXT_HOME = /tools/edaTools/Cadence/XCELIUM20.09.007/tools/methodology/UVM/CDNS-1.1d
#######################################################
TOP_FILE = ${cpto_sw_v200_tb_path}/th/cpto_sw_v200_top.sv
COMMON_FILE= ${cpto_sw_v200_tb_path}/tt/uvm_plus_arg_def.sv
#######################################################
tc = cpto_sw_v200_basic_test
seed = $(shell date +%s%N | cut -b 12-)
fsdb = on
vbt = UVM_MEDIUM
errnum = 10
gui = off
#######################################################
TIMESCALE += -timescale 1ns/100ps
#TIMESCALE += -vtimescale 1ns/100ps
#######################################################
DFILELIST = -f ./incfilelist.f
VFILELIST = -f ./vincfilelist.f
CFILELIST = -f ./cfilelist.f
#######################################################
#compile options
SYS_COM_OPTS += -v2001 -sv -disable_sem2009
SYS_COM_OPTS += -uvmhome $(UVM_HOME) -uvmexthome $(UVM_EXT_HOME) -uvm $(UVM_PKG)
#SYS_COM_OPTS += -uvmnocdnsextra
SYS_COM_OPTS += -64bit
SYS_COM_OPTS += -notimingcheck
SYS_COM_OPTS += -access +rwc -accessreg +rwc
SYS_COM_OPTS += -genhier
SYS_COM_OPTS += -debug -plidebug -fsmdebug
#SYS_COM_OPTS += -linedebug
#SYS_COM_OPTS += -uvmlinedebug -classlinedebug
SYS_COM_OPTS += -parseinfo include
SYS_COM_OPTS += -date
SYS_COM_OPTS += -dumpstack
SYS_COM_OPTS += -negdelay
SYS_COM_OPTS += $(TIMESCALE)
SYS_COM_OPTS += -lwdgen
SYS_COM_OPTS += -dpi
SYS_COM_OPTS += +cli+3
SYS_COM_OPTS += -errormax 10
SYS_COM_OPTS += -relax
#######################################################
#cov options
#COV_COM_OPTS += -coverage B:E:F:T:U
COV_COM_OPTS += -covfile ./cov_config.ccf
#######################################################
#USER options
USR_COM_OPTS += -top $(TOP_BENTCH)
#USR_COM_OPTS += -define MACRO
#######################################################
#######################################################
#SIM_OPTS
SYS_SIM_OPTS += -licqueue
SYS_SIM_OPTS += +UVM_TC_CFG_NAME=$(tc)
SYS_SIM_OPTS += -f $(TC_DIR)/$(tc).cfg
SYS_SIM_OPTS += +UVM_VERBOSITY=$(vbt)
SYS_SIM_OPTS += +UVM_MAX_QUIT_COUNT=$(errnum)
SYS_SIM_OPTS += -svseed $(seed) -randwarn
COV_SIM_OPTS += -covoverwrite
COV_SIM_OPTS += -covworkdir $(COV_DIR)
COV_SIM_OPTS += -covbaserun $(tc)
WAVE_SIM_OPTS += +loadpli1=${VERDI_HOME}/share/PLI/IUS/LINUX64/boot/debpli.so:debpli_boot
WAVE_SIM_OPTS += +dump_fsdb=$(fsdb)
#######################################################
com:
@echo "******************************";
@echo "******XRUN Compile Start******"
@echo "******************************";
xrun -compile -elaborate \
$(SYS_COM_OPTS) \
$(USR_COM_OPTS) \
$(COV_COM_OPTS) \
$(DFILELIST) $(COMMON_FILE) $(TOP_FILE) $(VFILELIST) $(CFILELIST) \
-l $(SIMDIR)/xrun_compile.log
@echo "******************************";
@echo "*******XRUN Compile End*******"
@echo "******************************";
#$(WAVE_COM_OPTS) \
#######################################################
#######################################################
run:
@echo "***************************************************";
@echo "******Simulation Start:$(tc),$(seed),$(vbt);*******"
@echo "***************************************************";
xrun -R \
$(SYS_SIM_OPTS) \
$(WAVE_SIM_OPTS) \
$(COV_SIM_OPTS) \
+ntb_random_seed=$(seed) \
-l $(LOG_DIR)/$(tc)/$(tc)_$(seed).log
@echo "***************************************************";
@echo "******Simulation Start:$(tc),$(seed),$(vbt);*******"
@echo "***************************************************";
#######################################################
#######################################################
imc_merge:
cd ../cov/imc/cov_work/scope && \
rm -rf merged* && \
cd ../../ && \
imc -execcmd "merge * -overwrite -out merged"
#######################################################
#######################################################
indago:
@echo "debug is indago"
@cd ./xrun && indago
@echo "Welcom indago!"
#######################################################
#######################################################
verdi:
verdi \
-2001 \
-autoalias \
-sv -ntb_opts uvm-1.1 \
/DigData/shzhang/Project/digital_all/cbb/verification/bt/cpto_sw_v200/tt/uvm_plus_arg_def.sv \
-f ./incfilelist.f \
/DigData/shzhang/Project/digital_all/cbb/verification/bt/cpto_sw_v200/th/cpto_sw_v200_top.sv \
-f ./vincfilelist.f \
-top top \
+libext +.v +.V +.vg +.vb +veo +.h +.sv \
&.
#######################################################
#######################################################
clean:
-rm -rf xcelium.d* xrun.key *.history verdiLog *.log
-rf -rf novas*
-rm -rf $(SIM_DIR)/xcelium.d* $(SIM_DIR)/csrc* $(SIM_DIR)/vc_hdrs.h $(SIM_DIR)/*.log
#######################################################
Cadence Xrun UVM Makefile
于 2023-11-04 11:50:48 首次发布