Skip to content

Commit

Permalink
Add torture run options to makefile (#992)
Browse files Browse the repository at this point in the history
* Add torture option to chipyard makefile

* Bump spike to get the signature bug fix
  • Loading branch information
zitaofang committed Oct 1, 2021
1 parent d8d7602 commit 21a44d7
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 5 deletions.
1 change: 1 addition & 0 deletions common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 14 additions & 2 deletions docs/Advanced-Concepts/Debugging-RTL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
---------------------------
Expand Down
2 changes: 1 addition & 1 deletion toolchains/esp-tools/riscv-isa-sim
Submodule riscv-isa-sim updated 213 files
2 changes: 1 addition & 1 deletion toolchains/riscv-tools/riscv-isa-sim
2 changes: 1 addition & 1 deletion tools/torture
18 changes: 18 additions & 0 deletions tools/torture.mk
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 21a44d7

Please sign in to comment.