Add torture run options to makefile (#992)

* Add torture option to chipyard makefile

* Bump spike to get the signature bug fix
This commit is contained in:
John Fang
2021-10-01 11:19:43 -07:00
committed by GitHub
parent d8d760216d
commit 21a44d7596
6 changed files with 36 additions and 5 deletions

View File

@@ -56,6 +56,7 @@ include $(base_dir)/generators/cva6/cva6.mk
include $(base_dir)/generators/tracegen/tracegen.mk
include $(base_dir)/generators/nvdla/nvdla.mk
include $(base_dir)/tools/dromajo/dromajo.mk
include $(base_dir)/tools/torture.mk
#########################################################################################
# Prerequisite lists

View File

@@ -83,8 +83,20 @@ Torture tests
The RISC-V torture utility generates random RISC-V assembly streams, compiles them,
runs them on both the Spike functional model and the SW simulator, and verifies
identical program behavior. The torture utility can also be configured to run
continuously for stress-testing. The torture utility exists within the ``utilities``
directory.
continuously for stress-testing. The torture utility exists within the ``tools``
directory. To run torture tests, run ``make`` in the simulation directories:
.. code-block:: shell
make CONFIG=CustomConfig torture
To run overnight tests (repeated random tests), run
.. code-block:: shell
make CONFIG=CustomConfig TORTURE_ONIGHT_OPTIONS=<overnight options> torture-overnight
You can find the overnight options in `overnight/src/main/scala/main.scala` in the torture repo.
Firesim Debugging
---------------------------

18
tools/torture.mk Normal file
View File

@@ -0,0 +1,18 @@
HELP_COMMANDS += \
" torture = run torture on the RTL testbench" \
" torture-overnight = run torture overnight tests (set TORTURE_ONIGHT_OPTIONS to pass test options)"
#########################################################################################
# run torture rules
#########################################################################################
.PHONY: torture torture-overnight
torture: $(output_dir) $(sim)
$(MAKE) -C $(base_dir)/tools/torture/output clean
$(MAKE) -C $(base_dir)/tools/torture R_SIM=$(sim) gen rtest
cp -r $(base_dir)/tools/torture/output $(output_dir)/torture
rm $(output_dir)/torture/Makefile
TORTURE_ONIGHT_OPTIONS :=
torture-overnight: $(output_dir) $(sim)
$(MAKE) -C $(base_dir)/tools/torture R_SIM=$(sim) OPTIONS="$(TORTURE_ONIGHT_OPTIONS)" rnight