From a55bb01d1d9512c444b4a193908f551aedece9eb Mon Sep 17 00:00:00 2001 From: Kunlin Han Date: Thu, 11 Apr 2024 20:16:13 -0700 Subject: [PATCH] Update README and put logs in the right places. --- sim/verilator/Makefile | 9 +++++++-- sim/verilator/README.md | 13 +++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/sim/verilator/Makefile b/sim/verilator/Makefile index bba4b6bb9..8b08e275d 100644 --- a/sim/verilator/Makefile +++ b/sim/verilator/Makefile @@ -17,9 +17,14 @@ profile: obj_dir_profiling/Vtestbench_$(WALLYCONF) mv gmon.out gmon_$(WALLYCONF).out gprof $(WORKING_DIR)/obj_dir_profiling/Vtestbench_$(WALLYCONF) gmon_$(WALLYCONF).out > gmon_$(WALLYCONF).log verilator_profcfunc gmon_$(WALLYCONF).log > gmon_$(WALLYCONF).log2 + mkdir -p $(WORKING_DIR)/logs_profiling + mv gmon_$(WALLYCONF)* $(WORKING_DIR)/logs_profiling + echo "Please check $(WORKING_DIR)/logs_profiling/gmon_$(WALLYCONF)* for logs and output files." run: obj_dir_non_profiling/Vtestbench_$(WALLYCONF) - time $(WORKING_DIR)/obj_dir_non_profiling/Vtestbench_$(WALLYCONF) +TEST=$(TEST) + mkdir -p $(WORKING_DIR)/logs + time $(WORKING_DIR)/obj_dir_non_profiling/Vtestbench_$(WALLYCONF) +TEST=$(TEST) 2>&1 > $(WORKING_DIR)/logs/$(WALLYCONF)_$(TEST).log + echo "Please check $(WORKING_DIR)/logs/$(WALLYCONF)_$(TEST).log for logs and output files." obj_dir_non_profiling/Vtestbench_$(WALLYCONF): $(SOURCE) mkdir -p obj_dir_non_profiling @@ -42,4 +47,4 @@ questa: time vsim -c -do "do ${WALLY}/sim/wally-batch.do $(WALLYCONF) $(TEST)" clean: - rm -rf $(WORKING_DIR)/obj_dir_non_profiling $(WORKING_DIR)/obj_dir_profiling \ No newline at end of file + rm -rf $(WORKING_DIR)/obj_dir_non_profiling $(WORKING_DIR)/obj_dir_profiling $(WORKING_DIR)/logs $(WORKING_DIR)/logs_profiling \ No newline at end of file diff --git a/sim/verilator/README.md b/sim/verilator/README.md index 8f239e9d0..5fd1b57b3 100644 --- a/sim/verilator/README.md +++ b/sim/verilator/README.md @@ -2,11 +2,21 @@ Different executables will be built for different architecture configurations, e.g., rv64gc, rv32i. A executable can run all the test suites that it can run with `+TEST=`. +Demand: + +- Avoid unnecessary compilation by sharing the same executable for a specific configuration + - executables are stored in `obj_dir_non_profiling` and `obj_dir_profiling` correspondingly +- Wsim should support `-s verilator` option and run simulation with Verilator. + +## Folder Structure + This folder contains the following files that help the simulation of Wally with Verilator: +- Makefile: simplify the usage with Verialtor - executables - `obj_dir_non_profiling`: non-profiling executables for different configurations - `obj_dir_profiling`: profiling executables for different configurations +- logs in `logs` and `logs_profiling` correspondingly - [NOT WORKING] `logs`: contains all the logs ## Examples @@ -16,4 +26,7 @@ This folder contains the following files that help the simulation of Wally with make WALLYCONF=rv64gc TEST=arch64i run # profiling mode make WALLYCONF=rv64gc TEST=arch64i profile + +# remove all the temporary files, including executables and logs +make clean ``` \ No newline at end of file