2024-04-12 03:02:20 +00:00
# Simulation with Verilator
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=<testsuite>` .
2024-04-12 03:16:13 +00:00
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
2024-04-12 03:02:20 +00:00
This folder contains the following files that help the simulation of Wally with Verilator:
2024-04-12 03:16:13 +00:00
- Makefile: simplify the usage with Verialtor
2024-04-12 03:02:20 +00:00
- executables
- `obj_dir_non_profiling` : non-profiling executables for different configurations
- `obj_dir_profiling` : profiling executables for different configurations
2024-04-12 03:16:13 +00:00
- logs in `logs` and `logs_profiling` correspondingly
2024-04-12 03:02:20 +00:00
- [NOT WORKING] `logs` : contains all the logs
## Examples
```shell
# non-profiling mode
make WALLYCONF=rv64gc TEST=arch64i run
# profiling mode
make WALLYCONF=rv64gc TEST=arch64i profile
2024-04-12 03:16:13 +00:00
# remove all the temporary files, including executables and logs
make clean
2024-04-12 03:02:20 +00:00
```