OpenCores
URL https://opencores.org/ocsvn/lpffir/lpffir/trunk

Subversion Repositories lpffir

[/] [lpffir/] [trunk/] [uvm/] [tools/] [uvm_syoscb/] [Makefile] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 vladimirar
#############################################################################
2
# Global Common Options
3
#############################################################################
4
# Internal config
5
.DEFAULT_GOAL := help
6
 
7
include Makefile.vendor
8
 
9
# Directories
10
BASE_DIR           := $(CURDIR)
11
OUTPUT_DIR         := $(BASE_DIR)/output
12
COMPILE_DIR        := $(OUTPUT_DIR)/compile
13
RTL_DIR            := $(BASE_DIR)/rtl
14
TB_DIR             := $(BASE_DIR)/tb
15
VC_DIR             := $(BASE_DIR)/src
16
EXTERN_LIB_SRC_DIR := $(BASE_DIR)/extern
17
LIB_DIR            := $(OUTPUT_DIR)/lib
18
 
19
# Misc variables
20
VERIFICATION_COMPS     := syoscb
21
TB                     := scbtest
22
SYOSIL_DISABLE_TLM_GP_CMP_WORKAROUND ?= 0
23
 
24
#############################################################################
25
# Global UVM Options
26
#############################################################################
27
UVM_VERBOSITY ?= UVM_MEDIUM
28
UVM_TESTNAME  ?= cl_scbtest_test_ooo_simple
29
UVM_VERSION   ?= 1.2
30
 
31
#############################################################################
32
# Global Mentor Options
33
#############################################################################
34
ifeq ($(VENDOR),MENTOR)
35
VLIB := vlib
36
VMAP := vmap
37
VLOG := vlog
38
VSIM := vsim
39
GCC  := gcc
40
ifeq ($(SYOSIL_DISABLE_TLM_GP_CMP_WORKAROUND),1)
41
VLOG_OPTS := -64 -timescale "1ps / 100fs" +define+ASSERTIONS +define+CLOCKING +acc -sv -novopt -L $(MTI_HOME)/uvm-$(UVM_VERSION)
42
else
43
VLOG_OPTS := -64 -timescale "1ps / 100fs" +define+SYOSIL_APPLY_TLM_GP_CMP_WORKAROUND +define+ASSERTIONS +define+CLOCKING +acc -sv -novopt -L $(MTI_HOME)/uvm-$(UVM_VERSION)
44
endif
45
VSIM_OPTS := -classdebug -novopt -64 -c -L $(MTI_HOME)/uvm-$(UVM_VERSION)
46
VSIM_WAVE ?= 0
47
VSIM_DO_CMD ?= run -all
48
ifeq ($(VSIM_WAVE), 1)
49
  VSIM_DO_CMD := log -r /*; $(VSIM_DO_CMD)
50
endif
51
endif
52
 
53
#############################################################################
54
# Global Cadence Options
55
#############################################################################
56
ifeq ($(VENDOR),CADENCE)
57
ifeq ($(SYOSIL_DISABLE_TLM_GP_CMP_WORKAROUND),1)
58
IRUN_OPTS :=
59
else
60
IRUN_OPTS := +define+SYOSIL_APPLY_TLM_GP_CMP_WORKAROUND=1
61
endif
62
endif
63
 
64
#############################################################################
65
# Global Synopsys Options
66
#############################################################################
67
ifeq ($(VENDOR),SYNOPSYS)
68
ifeq ($(SYOSIL_DISABLE_TLM_GP_CMP_WORKAROUND),1)
69
VLOG_OPTS :=
70
else
71
VLOG_OPTS := +define+SYOSIL_APPLY_TLM_GP_CMP_WORKAROUND=1
72
endif
73
endif
74
 
75
#############################################################################
76
# Include make targets for each VC
77
#############################################################################
78
include $(foreach vc, $(VERIFICATION_COMPS), $(VC_DIR)/$(vc)_vc.mk)
79
 
80
#############################################################################
81
# Include make target for the testbench
82
#############################################################################
83
include $(TB_DIR)/$(TB).mk
84
 
85
#############################################################################
86
# Rules for directory creation
87
#############################################################################
88
$(OUTPUT_DIR) :
89
        mkdir -p $@
90
 
91
$(COMPILE_DIR) :
92
        mkdir -p $@
93
 
94
#############################################################################
95
# Common targets
96
#############################################################################
97
.PHONY: regression
98
regression:
99
        make UVM_TESTNAME=cl_scbtest_test_ooo_simple sim
100
        make UVM_TESTNAME=cl_scbtest_test_io_simple sim
101
        make UVM_TESTNAME=cl_scbtest_test_iop_simple sim
102
        make UVM_TESTNAME=cl_scbtest_test_ooo_tlm sim
103
        make UVM_TESTNAME=cl_scbtest_test_ooo_io_simple sim
104
 
105
#############################################################################
106
# Mentor targets
107
#############################################################################
108
ifeq ($(VENDOR),MENTOR)
109
.PHONY: compile_vc
110
compile_vc: $(foreach vc,$(VERIFICATION_COMPS), $(COMPILE_DIR)/$(vc)_vc/compiled_vc)
111
 
112
.PHONY: sim
113
sim: $(COMPILE_DIR)/work/compiled_tb
114
        $(VSIM) $(VSIM_OPTS) -lib $(COMPILE_DIR)/work \
115
        +UVM_MAX_QUIT_COUNT=1,0 +UVM_TESTNAME=$(UVM_TESTNAME) +UVM_VERBOSITY=$(UVM_VERBOSITY) \
116
        $(foreach vc,$(VERIFICATION_COMPS), -L $(COMPILE_DIR)/$(vc)_vc)\
117
        -do "$(VSIM_DO_CMD)" \
118
        scbtest_top
119
 
120
.PHONY: mentor_clean
121
mentor_clean:
122
        rm -rf transcript
123
 
124
.PHONY: help_vendor
125
help_vendor:
126
        @echo "Targets:"
127
        @echo "  TARGET: compile_vc"
128
        @echo "  Compile all VCs"
129
        @echo ""
130
        @echo "  TARGET: sim"
131
        @echo "  Run selected test"
132
        @echo ""
133
        @echo "  TARGET: clean"
134
        @echo "  Remove all temporary files"
135
        @echo ""
136
else
137
.PHONY: mentor_clean
138
mentor_clean:
139
endif
140
 
141
#############################################################################
142
# Cadence targets
143
#############################################################################
144
ifeq ($(VENDOR),CADENCE)
145
.PHONY: sim
146
sim:
147
        irun \
148
        -makelib \
149
        worklib \
150
        -endlib \
151
        -uvm \
152
        -uvmhome $(IFV_ROOT)/tools/methodology/UVM/CDNS-$(UVM_VERSION) \
153
        -sv \
154
        -64bit \
155
        +incdir+./src \
156
        +incdir+./tb \
157
        +incdir+./tb/test \
158
        -top scbtest_top \
159
        +UVM_MAX_QUIT_COUNT=1,0 \
160
        +UVM_TESTNAME=$(UVM_TESTNAME) \
161
        +UVM_VERBOSITY=$(UVM_VERBOSITY) \
162
        $(IRUN_OPTS) \
163
        ./src/pk_syoscb.sv \
164
        ./tb/pk_scbtest.sv \
165
        ./tb/scbtest_top.sv
166
 
167
.PHONY: cadence_clean
168
cadence_clean:
169
        rm -rf INCA_libs irun.log
170
 
171
.PHONY: help_vendor
172
help_vendor:
173
        @echo "Targets:"
174
        @echo "  TARGET: sim"
175
        @echo "  Run selected test"
176
        @echo ""
177
        @echo "  TARGET: clean"
178
        @echo "  Remove all temporary files"
179
        @echo ""
180
else
181
.PHONY: cadence_clean
182
cadence_clean:
183
endif
184
 
185
#############################################################################
186
# Synopsys targets
187
#############################################################################
188
ifeq ($(VENDOR),SYNOPSYS)
189
.PHONY: synopsys_uvm
190
synopsys_uvm:
191
        vlogan -ntb_opts uvm-$(UVM_VERSION)
192
 
193
.PHONY: sim
194
sim: elaborate_tb
195
        ./simv +UVM_TESTNAME=$(UVM_TESTNAME) +UVM_VERBOSITY=$(UVM_VERBOSITY)
196
 
197
.PHONY: synsopsys_clean
198
synsopsys_clean:
199
        rm -rf DVEfiles AN.DB csrc simv* ucli.key vc_hdrs.h .vlogansetup.args .vlogansetup.env
200
 
201
.PHONY: help_vendor
202
help_vendor:
203
        @echo "Targets:"
204
        @echo "  TARGET: synopsys_uvm"
205
        @echo "  Compile UVM"
206
        @echo ""
207
        @echo "  TARGET: sim"
208
        @echo "  Run selected test"
209
        @echo ""
210
        @echo "  TARGET: clean"
211
        @echo "  Remove all temporary files"
212
        @echo ""
213
else
214
.PHONY: synsopsys_clean
215
synsopsys_clean:
216
endif
217
 
218
#############################################################################
219
# Clean target
220
#############################################################################
221
clean: cadence_clean mentor_clean synsopsys_clean
222
        rm -rf output
223
 
224
#############################################################################
225
# Help target
226
#############################################################################
227
.PHONY: help_top
228
help_top:
229
        @echo "#############################################"
230
        @echo "#          SyoSil UVM SCB targets           #"
231
        @echo "#############################################"
232
        @echo ""
233
        @echo "Variables:"
234
        @echo "  VENDOR=MENTOR | CADENCE | SYNOPSYS"
235
        @echo "  Current value: $(VENDOR)"
236
        @echo ""
237
        @echo "  UVM_TESTNAME = cl_scbtest_test_base          |"
238
        @echo "                 cl_scbtest_test_ooo_simple    |"
239
        @echo "                 cl_scbtest_test_ooo_tlm       |"
240
        @echo "                 cl_scbtest_test_ooo_heavy     |"
241
        @echo "                 cl_scbtest_test_io_simple     |"
242
        @echo "                 cl_scbtest_test_iop_simple    |"
243
        @echo "                 cl_scbtest_test_ooo_io_simple |"
244
        @echo "                 cl_scbtest_test_gp             "
245
        @echo "  Current value: $(UVM_TESTNAME)"
246
        @echo ""
247
        @echo "  UVM_VERBOSITY = UVM_FULL   |"
248
        @echo "                = UVM_HIGH   |"
249
        @echo "                = UVM_MEDIUM |"
250
        @echo "                = UVM_LOW    |"
251
        @echo "                = UVM_NONE"
252
        @echo "  Current value: $(UVM_VERBOSITY)"
253
        @echo ""
254
ifeq ($(VENDOR), SYNOPSYS)
255
        @echo "  UVM_VERSION = 1.1 |"
256
else
257
        @echo "  UVM_VERSION = 1.1d |"
258
endif
259
        @echo "              = 1.2"
260
        @echo "  Current value: $(UVM_VERSION)"
261
        @echo ""
262
        @echo "  SYOSIL_DISABLE_TLM_GP_CMP_WORKAROUND = 0 |"
263
        @echo "                                       = 1"
264
        @echo "  Current value: $(SYOSIL_DISABLE_TLM_GP_CMP_WORKAROUND)"
265
        @echo ""
266
 
267
.PHONY: help
268
help: help_top help_vendor help_tb $(foreach vc,$(VERIFICATION_COMPS), help_$(vc)_vc)
269
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.