Respond to PR comments

clean up usage of vcs.mk
Bump hammer and plugins for updated API
This commit is contained in:
Colin Schmidt
2020-05-21 12:26:45 -07:00
parent bbe296be51
commit 5407018bb4
6 changed files with 32 additions and 75 deletions

View File

@@ -41,36 +41,7 @@ include $(base_dir)/common.mk
######################################################################################### #########################################################################################
VCS = vcs -full64 VCS = vcs -full64
VCS_CC_OPTS = \ VCS_OPTS = -notice -line $(VCS_CC_OPTS) $(VCS_NONCC_OPTS) $(VCS_DEFINE_OPTS)
-CC "-I$(VCS_HOME)/include" \
-CC "-I$(RISCV)/include" \
-CC "-std=c++11" \
$(RISCV)/lib/libfesvr.a
VCS_NONCC_OPTS = \
+lint=all,noVCDE,noONGS,noUI \
-error=PCWM-L \
-timescale=1ns/10ps \
-quiet \
-q \
+rad \
+v2k \
+vcs+lic+wait \
+vc+list \
-f $(sim_common_files) \
-sverilog \
+incdir+$(build_dir) \
+define+CLOCK_PERIOD=1.0 \
$(sim_vsrcs) \
+define+PRINTF_COND=$(TB).printf_cond \
+define+STOP_COND=!$(TB).reset \
+define+RANDOMIZE_MEM_INIT \
+define+RANDOMIZE_REG_INIT \
+define+RANDOMIZE_GARBAGE_ASSIGN \
+define+RANDOMIZE_INVALID_ASSIGN \
+libext+.v
VCS_OPTS = -notice -line $(VCS_CC_OPTS) $(VCS_NONCC_OPTS)
######################################################################################### #########################################################################################
# vcs simulator rules # vcs simulator rules

8
vcs.mk
View File

@@ -3,8 +3,10 @@ PERMISSIVE_OFF=+permissive-off
WAVEFORM_FLAG=+vcdplusfile=$(sim_out_name).vpd WAVEFORM_FLAG=+vcdplusfile=$(sim_out_name).vpd
CLOCK_PERIOD ?= 1.0
RESET_DELAY ?= 777.7
VCS_CC_OPTS = \ VCS_CC_OPTS = \
-CC "-I$(VCS_HOME)/include" \
-CC "-I$(RISCV)/include" \ -CC "-I$(RISCV)/include" \
-CC "-std=c++11" -CC "-std=c++11"
@@ -21,12 +23,14 @@ VCS_NONCC_OPTS = \
+vc+list \ +vc+list \
-f $(sim_common_files) \ -f $(sim_common_files) \
-sverilog \ -sverilog \
-debug_pp \
+incdir+$(build_dir) \ +incdir+$(build_dir) \
$(sim_vsrcs) \ $(sim_vsrcs) \
+libext+.v +libext+.v
VCS_DEFINE_OPTS = \ VCS_DEFINE_OPTS = \
+define+CLOCK_PERIOD=1.0 \ +define+CLOCK_PERIOD=$(CLOCK_PERIOD) \
+define+RESET_DELAY=$(RESET_DELAY) \
+define+PRINTF_COND=$(TB).printf_cond \ +define+PRINTF_COND=$(TB).printf_cond \
+define+STOP_COND=!$(TB).reset \ +define+STOP_COND=!$(TB).reset \
+define+RANDOMIZE_MEM_INIT \ +define+RANDOMIZE_MEM_INIT \

View File

@@ -106,41 +106,28 @@ $(SIM_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_common_file
done done
echo " input_files_meta: 'append'" >> $@ echo " input_files_meta: 'append'" >> $@
echo " timescale: '1ns/10ps'" >> $@ echo " timescale: '1ns/10ps'" >> $@
echo " options: [" >> $@ echo " options:" >> $@
echo " '$(RISCV)/lib/libfesvr.a'," >> $@ for x in $(VCS_NONCC_OPTS); do \
echo " '+lint=all,noVCDE,noONGS,noUI'," >> $@ echo ' - "'$$x'"' >> $@; \
echo " '-error=PCWM-L'," >> $@ done
echo " '-quiet'," >> $@
echo " '-q'," >> $@
echo " '+rad'," >> $@
echo " '+v2k'," >> $@
echo " '+vcs+lic+wait'," >> $@
echo " '+vc+list'," >> $@
echo " '-f $(sim_common_files)'," >> $@
echo " '-sverilog'," >> $@
echo " '-debug_pp']" >> $@
echo " options_meta: 'append'" >> $@ echo " options_meta: 'append'" >> $@
echo " defines: [" >> $@ echo " defines:" >> $@
echo " 'CLOCK_PERIOD=1.0'," >> $@ for x in $(VCS_DEFINE_OPTS); do \
echo " 'PRINTF_COND=$(TB).printf_cond'," >> $@ echo ' - "'$$x'"' >> $@; \
echo " 'STOP_COND=!$(TB).reset'," >> $@ done
echo " 'RANDOMIZE_MEM_INIT'," >> $@
echo " 'RANDOMIZE_REG_INIT'," >> $@
echo " 'RANDOMIZE_GARBAGE_ASSIGN'," >> $@
echo " 'RANDOMIZE_INVALID_ASSIGN']" >> $@
echo " defines_meta: 'append'" >> $@ echo " defines_meta: 'append'" >> $@
echo " compiler_opts: [" >> $@ echo " compiler_opts:" >> $@
echo " '-I$(RISCV)/include'," >> $@ for x in $(filter-out -CC,$(VCS_CC_OPTS)); do \
echo " '-std=c++11']" >> $@ echo ' - "'$$x'"' >> $@; \
done
echo " compiler_opts_meta: 'append'" >> $@ echo " compiler_opts_meta: 'append'" >> $@
echo " execution_flags_prepend: ['$(PERMISSIVE_ON)']" >> $@ echo " execution_flags_prepend: ['$(PERMISSIVE_ON)']" >> $@
echo " execution_flags_append: ['$(PERMISSIVE_OFF)']" >> $@ echo " execution_flags_append: ['$(PERMISSIVE_OFF)']" >> $@
echo " execution_flags: [" >> $@ echo " execution_flags:" >> $@
echo " '+max-cycles=$(timeout_cycles)'," >> $@ echo " - '+max-cycles=$(timeout_cycles)'" >> $@
for x in $(SIM_FLAGS); do \ for x in $(SIM_FLAGS); do \
echo ' "'$$x'",' >> $@; \ echo ' - "'$$x'"' >> $@; \
done done
echo " ]" >> $@
echo " execution_flags_meta: 'append'" >> $@ echo " execution_flags_meta: 'append'" >> $@
echo " benchmarks: ['$(BINARY)']" >> $@ echo " benchmarks: ['$(BINARY)']" >> $@
echo " tb_dut: 'testHarness.top'" >> $@ echo " tb_dut: 'testHarness.top'" >> $@
@@ -148,22 +135,19 @@ $(SIM_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_common_file
$(SIM_DEBUG_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_common_files) $(SIM_DEBUG_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_common_files)
mkdir -p $(dir $@) mkdir -p $(dir $@)
echo "sim.inputs:" > $@ echo "sim.inputs:" > $@
echo " defines: [" >> $@ echo " defines: ['DEBUG']" >> $@
echo " 'DEBUG']" >> $@
echo " defines_meta: 'append'" >> $@ echo " defines_meta: 'append'" >> $@
echo " execution_flags: [" >> $@ echo " execution_flags:" >> $@
for x in $(VERBOSE_FLAGS) $(WAVEFORM_FLAG); do \ for x in $(VERBOSE_FLAGS) $(WAVEFORM_FLAG); do \
echo ' "'$$x'",' >> $@; \ echo ' - "'$$x'"' >> $@; \
done done
echo " ]" >> $@
echo " execution_flags_meta: 'append'" >> $@ echo " execution_flags_meta: 'append'" >> $@
echo "sim.outputs.waveforms: ['$(sim_out_name).vpd']" >> $@ echo "sim.outputs.waveforms: ['$(sim_out_name).vpd']" >> $@
$(SIM_TIMING_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_common_files) $(SIM_TIMING_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_common_files)
mkdir -p $(dir $@) mkdir -p $(dir $@)
echo "sim.inputs:" > $@ echo "sim.inputs:" > $@
echo " defines: [" >> $@ echo " defines: ['NTC']" >> $@
echo " 'NTC']" >> $@
echo " defines_meta: 'append'" >> $@ echo " defines_meta: 'append'" >> $@
echo " timing_annotated: 'true'" >> $@ echo " timing_annotated: 'true'" >> $@
@@ -179,13 +163,11 @@ $(POWER_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_common_fi
echo " '$(OBJ_DIR)/sim-par-rundir/$(notdir $(BINARY))/ucli.saif'" >> $@ echo " '$(OBJ_DIR)/sim-par-rundir/$(notdir $(BINARY))/ucli.saif'" >> $@
echo " ]" >> $@ echo " ]" >> $@
echo " waveforms: [" >> $@ echo " waveforms: [" >> $@
echo " '$(OBJ_DIR)/sim-par-rundir/$(notdir $(BINARY))/$(sim_out_name).vcd'" >> $@ #echo " '$(OBJ_DIR)/sim-par-rundir/$(notdir $(BINARY))/$(sim_out_name).vcd'" >> $@
echo " ]" >> $@
echo " start_times: [" >> $@
echo " 0" >> $@
echo " ]" >> $@ echo " ]" >> $@
echo " start_times: ['0ns']" >> $@
echo " end_times: [" >> $@ echo " end_times: [" >> $@
echo " 15000" >> $@ #timeout_cycles * clock_period echo " '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@
echo " ]" >> $@ echo " ]" >> $@
######################################################################################### #########################################################################################