Cadence Xrun UVM Makefile

编程入门 行业动态 更新时间:2024-10-08 00:29:29

Cadence <a href=https://www.elefans.com/category/jswz/34/1756328.html style=Xrun UVM Makefile"/>

Cadence Xrun UVM Makefile

#记录工作实践

#基于Cadence Xrun工具的UVM Makefile

#
#--==============================================================
#-- File name        : Makefile
#-- Author           : sh

#-- 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
#######################################################
TOP_BENTCH    = top
TOP_DUT        = cpto_sw_v200_top
#######################################################
uvm_version    = uvm_1.1d
export UVM_HOME    = /tools/uvm/uvm-1.1d
export UVM_PKG      = /tools/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 +%m%d%H%M%S)
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
#######################################################
WAVE_COM_OPTS = +loadpli1=${VERDI_HOME}/share/PLI/IUS/LINUX64/boot/debpli.so:debpli_boot
#######################################################
#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 += -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 += -covdut $(TOP_DUT)
#######################################################
#USER options
USR_COM_OPTS += -top $(TOP_BENTCH)
#USR_COM_OPTS += -define MACRO
#######################################################

#######################################################
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 \
    -licqueue \
    +UVM_TC_CFG_NAME=$(tc) -f $(TC_DIR)/$(tc).cfg \
    +ntb_random_seed=00 -svseed $(seed) -randwarn \
    +loadpli1=${VERDI_HOME}/share/PLI/IUS/LINUX64/boot/debpli.so:debpli_boot \
    +dump_fsdb=$(fsdb) +UVM_VERBOSITY=$(vbt) +UVM_MAX_QUIT_COUNT=$(errnum) \
    -covoverwrite -covworkdir $(COV_DIR) -covbaserun $(tc) \
    -l $(LOG_DIR)/$(tc)/$(tc)_$(seed).log
    @echo "***************************************************";
    @echo "******Simulation Start:$(tc),$(seed),$(vbt);******"
    @echo "***************************************************";
#######################################################

#######################################################
indago:
    @echo "debug is indago"
    @cd ./xrun && indago
    @echo "Welcom indago!"
#######################################################

#######################################################
verdi:
    verdi \
    -2001 \
    -autoalias \
    -sv -ntb_opts uvm-1.1 \
    -f ./incfilelist.f \ 
    -f ./vincfilelist.f \
    -top top \
    +libext +.v +.V +.vg +.vb +veo +.h +.sv \
    &. 
#######################################################

更多推荐

Cadence Xrun UVM Makefile

本文发布于:2023-11-16 18:51:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1631337.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Xrun   Cadence   Makefile   UVM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!