m1_pcie

#PARAMETERS for the Makefile optional input

PRJ NAME =

TВ_TOP ?= rkv_pcie_tb

OUT = out

RTLLIB = 1

SEED = 1

GUI ?=0

COV ?=0

DEBUG ?=0

DOTCL ?=1

FSDB ?=0

#14 GEN4 ?=0

#15 PSS 7=0

#16 SEOOVRD 7

#17 SEQORGN ?=

VERB =UVM LOW # UVM DEBUG

UTEST ?=linkup_test

PARTCOMP ?=1

NO_DPI_REG_INFO_REPORT ?=0

#22 CTEST 7=

#23 C_IOC_ADDR_BASE ?= 0xA0003000

DFILES += -f ../tb/dut.lst

VFILES += ../cfg/rkv_pcie_common_pkg.sv \

../agents/elbi/rkv_pcie_elbi_pkg.sv \

./agents/elbi/rkv pcie elbi if.sv \

./agents/msi/rkv pcie msi pkg.sv \

./agents/msi/rkv pcie msi if.sv \

./agents/vmi/rkv pcie vmi pkg.sv \

./agents/vmi/rkv pcie vmi if.sv \

./env/rkv pcie pkg.sv \

../tb/rkv_pcie_if.sv \

$(PFILES) \

../tb/rkv pcie tb.sv

PTEST_DIR ?=../pss_model/run/target_dir_1

37 PFILES

38

39

40 # Export environment variables for other files' reference

41 # such as synopsys_sim.setup file to share the ENV variables

42 #*****

43 export SIM_OUT=$(OUT)

44 export SIM_FSDB=$(FSDB)

45 #export PERSPEC_TEST_DIR=$(PTEST_DIR)

46

47

48 ### DO NOT modif 49 the parameters if unnecessary

50 AHB NET ADDR WIDTH ?= 32 # 32 bits default

51 AHB_NET_DATA_WIDTH ?= 64 # 64 bits default

52 APB END DATA WIDTH ?= 32 53 AXI END DATA WIDTH 7= 64 54 AHB NET SLAVE NUM ?= 16 55 LVC_IOC_WIDTH_P ?= 1000 56 57 #* 58 # Parameters for compilation & elaboration & simrun 59 # 60 GCC_HOME ?= /usr/bin/gcc 61 UVM_VER 7= uvm-1.2 62 SVT AMBA = /opt/sv pkgs/uvm/svt 2018.12/svt amba 63 SVT_PCIE = /opt/sv_pkgs/uvm/svt_2018.12/svt_pcie 64 65 VCOMP = vlogan (COMP OPTS) (COMP INCDIR) 66 ELAB = VCS S(ELAB OPTS) -top S(TB TOP) -O S(SIMV) 67 c COMP OPTS -CFLAGS -DVcs-W-Wall -Werror-implicit-function-declaration-Wno-comment-m64 -fPIC -g-shared 68 P COMP OPTS=-DVCS -W-Wall -Werror-implicit-function-declaration-Wno-comment-m64-fPIC -g-shared 69 ifneg ((C_IOC_ADDR_BASE).) 70 C_COMP_OPTS +=-D LVC_IOC_ADDR_BASE=(C_IOC_ADDR_BASE) 71 endif 73 COMP_OPTS 75 76 77 78 79 80 81 83 84 82 -sverilog-full64 -kdb-ntb opts rvm+s(UVM VER) -ntb opts vera compat +define+Vcsl +define+UVM NO DEPRECATED +define+UVM REG BYTE ADDRESSING FIX +define+UVM EVENT CALLBACK FIX -l s(OUT)/log/comp (TB TOP).log -timescale-lps/lps V +define+UVM OBJECT MUST HAVE CONSTRUCTOR+SYNOPSYS SV +define+SVT_PCIE_ENABLE_GEN4 +define+PCIESVC PIPE SPEC VER GTR 4 0 +define+PCIESVC PIPE SPEC VER 4 3 \\ +define+PCIESVC_PIPE_SPEC_VER_4_4 1 +define+SVT UVM TECHNOLOGY\\ +define+UVM_PACKER_MAX_BYTES=1500000+NO_VMM_UVM_INTEROP 85 ifnea ((AHB NET ADDR WIDTH).) 86 COMP_OPTS += +define+AHB_NET_ADDR_WIDTH=(AHB_NET_ADDR_WIDTH) 87 endif 88 89 ifneg ((AHB NET DATA WIDTH). 90 COMP OPTS += +define+AHB NET DATA WIDTH=(AHB NET DATA WIDTH) 91 AHB_COMP_OPTS += +define+SVT_AHB_MAX_DATA_WIDTH=(AHB_NET_DATA_WIDTH) 92 endif 93 94 ifneg ((APB END DATA WIDTH).) 97 ifneg ((AXI END DATA WIDTH).) 95 APB_COMP_OPTS += +define+SVT_APB_MAX_DATA_WIDTH=(APB_END_DATA_WIDTH) 96 endif 98 AXI_COMP_OPTS += +define+SVT_AXI_MAX_DATA_WIDTH=(AXI_END_DATA_WIDTHI 99 endif 100 ifneg ((AHB NET SLAVE NUM).) 101 AHB_COMP_OPTS += +define+SVT_AHB_MAX_NUM_SLAVES_(AHB_NET_SLAVE_NUM) 102 endif

104 ifeq (1, (strip (NO DPI REG INFO REPORT))) 105 COMP_OPTS += +define+NO_DPI_REG_INFO_REPORT 106 endif 107 108 ifneq ((LVC IOC WIDTH P).) 109 IOC_COMP_OPTS += +define+LVC_IOC_WIDTH_P= (LVC_IOC_WIDTH_P) 110 endif 111 112 DPI OPTS= -CFLAGS -DVCS {VCS HOME}/etc/uvm-1.2/src/dpi/uvm_dpi.cc 113 ELAB OPTS s(DEBUG OPTS) -check-full64 -kdb +vpi -ntb opts use sigprop -lca 114 -1 (oUT)/log/elab_(TB TOP).log -sim res-(RESOLUTION) 115 116 -Mdir=(OUT)/obj/csrc -ntb_opts (UVM_VER) -ntb_opts vera_compat \ +warn=noINAV +warn=noTFIPC +warn=noFRCREF 117 118 ifeg (1, (strip (PARTCOMP)) 119 ELAB_OPTS += -partcomp -fastpartcomp=j4 +optconfigfile+partcomp.config 120 endif 121 122 RUN_OPTS = -1 (OUT)/sim/(CM_NAME)/simrun.log +ntb_random_seed=(SEED) +UVM_TESTNAME=(UTEST) +UVM_VERBOSITY=(VERB) +SIM_DIR=(OUT)/sim/(CM_NAME)/ 123 124 ifeq ((GUI),1) 125 RUN_OPTS +=-gui 126 endif 127 ifea (s(GUI),dvel 128 RUN_OPTS +=-gui=dve 129 endif 130 ifeq ((GUI),verdi) 131 RUN_OPTS += -gui=verdi -verdi_opts "-rcFile novas.rc" +UVM_VERDI_TRACE-HIER +UVM_VERDI_TRACE-RAL +UVM_TR_RECORD 132 endif 133 134 ifeg ((FSDB),1) 135 RUN_OPTS += +fsdb_dump +fsdbfile+(FSDBFILE) 136 endif 137 138 ifeq ((DOTCL),1) 139 RUN OPTS += -ucli-ucli2Proc -do (SIMRUNFILE) 140 endif 141 142 ifneg ((CTEST).I 143 RUN_OPTS += -sv_lib lzn_dpi 144 endif 145 146 ifneg ((SEQOVRD),) 150 ifnea (S(SEOORGN).) 147 RUN_OPTS += +SEQUENCE_OVERRIDE=(SEQOVRD) 148 endif 149 151 RUN OPTS + +SEQUENCE ORIGINAL=$(SEQORGN) 152 endif 153

相关推荐
贾斯汀玛尔斯2 小时前
每天学一个算法--堆排序(Heap Sort)
数据结构·算法
programhelp_2 小时前
ZipRecruiter CodeSignal OA 2026|最新真题分享 + 速通攻略
数据结构·经验分享·算法·面试
绿豆人2 小时前
go语言的Reflect包
java·开发语言·数据结构
liuyao_xianhui2 小时前
map和set_C++
java·开发语言·数据结构·c++·算法·宽度优先
脱氧核糖核酸__3 小时前
LeetCode热题100——41.缺失的第一个正数(题解+答案+要点)
数据结构·c++·算法·leetcode·哈希算法
努力努力再努力wz4 小时前
【MySQL入门系列】:不只是建表:MySQL 表约束与 DDL 执行机制全解析
android·linux·服务器·数据结构·数据库·c++·mysql
贾斯汀玛尔斯4 小时前
每天学一个算法-- 归并排序(Merge Sort)
数据结构·算法·排序算法
算法鑫探4 小时前
算法中的二分法(二分查找)详解及示例
c语言·数据结构·算法·新人首发
澈2074 小时前
排序算法入门:冒泡、选择、插入排序详解
数据结构·算法·排序算法