lakeroad
lakeroad copied to clipboard
Add a `--simulate-with-verilator` flag to `main.rkt`
It would be cool to be able to double check that a generated instruction is correct with verilator. This would act as a sort of dynamic end to end test
Gus's notes:
We're at the point where this would both be pretty easy (because we have a script for validation with Verilator that can just be called) and very useful (it would clean up both integration tests and the evaluation).
Tasks:
- [ ] Call the simulate with Verilator script from main.rkt
We'll need to pass through flags for the Verilator script. As a rough first pass, we can just have an argument
--simulate-with-verilator-flags
which takes a string of all the flags to pass to the script. - [ ] Convert integration tests over to using the new flag, rather than explicitly calling the script (example here)
- [ ] Convert evaluation over to using this flag This doesn't need to be done before merging, but we should open an issue for it on the eval. The gist is: instead of creating a task to run Lakeroad and then a separate task for running Verilator, we can just pass the new flag to Lakeroad.