Previously, the TestDriver would set MODEL to TestHarness if unset. This fixes the feature to let us set MODEL from the makefile.
58 lines
1.5 KiB
Makefile
58 lines
1.5 KiB
Makefile
WAVEFORM_FLAG=+vcdplusfile=$(sim_out_name).vpd
|
|
|
|
# If ntb_random_seed unspecified, vcs uses 1 as constant seed.
|
|
# Set ntb_random_seed_automatic to actually get a random seed
|
|
ifdef RANDOM_SEED
|
|
SEED_FLAG=+ntb_random_seed=$(RANDOM_SEED)
|
|
else
|
|
SEED_FLAG=+ntb_random_seed_automatic
|
|
endif
|
|
|
|
CLOCK_PERIOD ?= 1.0
|
|
RESET_DELAY ?= 777.7
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
# gcc configuration/optimization
|
|
#----------------------------------------------------------------------------------------
|
|
include $(base_dir)/sims/common-sim-flags.mk
|
|
|
|
VCS_CXXFLAGS = $(SIM_CXXFLAGS)
|
|
VCS_LDFLAGS = $(SIM_LDFLAGS)
|
|
|
|
# vcs requires LDFLAGS to not include library names (i.e. -l needs to be separate)
|
|
VCS_CC_OPTS = \
|
|
-CFLAGS "$(VCS_CXXFLAGS)" \
|
|
-LDFLAGS "$(filter-out -l%,$(VCS_LDFLAGS))" \
|
|
$(filter -l%,$(VCS_LDFLAGS))
|
|
|
|
VCS_NONCC_OPTS = \
|
|
-notice \
|
|
-line \
|
|
+lint=all,noVCDE,noONGS,noUI \
|
|
-error=PCWM-L \
|
|
-error=noZMMCM \
|
|
-timescale=1ns/10ps \
|
|
-quiet \
|
|
-q \
|
|
+rad \
|
|
+vcs+lic+wait \
|
|
+vc+list \
|
|
-f $(sim_common_files) \
|
|
-sverilog +systemverilogext+.sv+.svi+.svh+.svt -assert svaext +libext+.sv \
|
|
+v2k +verilog2001ext+.v95+.vt+.vp +libext+.v \
|
|
-debug_pp \
|
|
+incdir+$(build_dir) \
|
|
$(sim_vsrcs)
|
|
|
|
PREPROC_DEFINES = \
|
|
+define+VCS \
|
|
+define+CLOCK_PERIOD=$(CLOCK_PERIOD) \
|
|
+define+RESET_DELAY=$(RESET_DELAY) \
|
|
+define+PRINTF_COND=$(TB).printf_cond \
|
|
+define+STOP_COND=!$(TB).reset \
|
|
+define+MODEL=$(MODEL) \
|
|
+define+RANDOMIZE_MEM_INIT \
|
|
+define+RANDOMIZE_REG_INIT \
|
|
+define+RANDOMIZE_GARBAGE_ASSIGN \
|
|
+define+RANDOMIZE_INVALID_ASSIGN
|