A port of [riscv-formal](https://github.com/SymbioticEDA/riscv-formal) to nMigen
nmigen | ||
rvfi | ||
LICENSE | ||
README.md |
riscv-formal-nmigen
A port of riscv-formal to nMigen
Dependencies
-
Note that:
- Even though this project includes a copy of nMigen, it is highly recommended to remove the copy and install the latest version of nMigen on your system for building this repo
- The nMigen package that comes with the Nix package manager may not contain the latest changes and therefore may not work with this repo
- If you do choose to keep the copy of nMigen provided in this repo anyway, you may need to separately install its dependencies for the build to work:
Breakdown
Directory | Description |
---|---|
`nmigen | nMigen |
rvfi |
RISC-V Formal Verification Framework (nMigen port) |
rvfi/insns |
Supported RISC-V instructions and ISAs |
rvfi/cores |
Example cores for verification with riscv-formal-nmigen |
rvfi/cores/minerva |
The Minerva core |
Build
Minerva
cd
to the root directory of this project and do:
$ python -m rvfi.cores.minerva.verify
You may see some warning messages about unused Elaboratable
s and deprecated use of Simulation
which can be safely ignored.
Scope
Support for the RV32I base ISA and RV32M extension are planned and well underway. Support for other ISAs in the original riscv-formal such as RV32C and their 64-bit counterparts may also be added in the future as time permits.
License
See LICENSE