2020-07-14 10:30:37 +08:00
# riscv-formal-nmigen
2020-07-14 10:42:06 +08:00
A port of [riscv-formal ](https://github.com/SymbioticEDA/riscv-formal ) to nMigen
2020-07-21 16:13:52 +08:00
## Dependencies
- [nMigen ](https://github.com/m-labs/nmigen )
2020-08-17 16:46:15 +08:00
- [Yosys ](https://github.com/YosysHQ/yosys )
- [SymbiYosys ](https://github.com/YosysHQ/SymbiYosys )
2020-07-21 16:13:52 +08:00
2020-08-13 17:38:04 +08:00
## Breakdown
| Directory | Description |
| --- | --- |
2020-08-17 12:05:39 +08:00
| `rvfi` | RISC-V Formal Verification Framework (nMigen port) |
| `rvfi/insns` | Supported RISC-V instructions and ISAs |
| `rvfi/cores` | Example cores to be integrated with riscv-formal-nmigen (WIP) |
| `rvfi/cores/minerva` | The [Minerva ](https://github.com/lambdaconcept/minerva ) core |
2020-08-13 17:38:04 +08:00
2020-07-21 16:13:52 +08:00
## Build
2020-08-17 16:46:15 +08:00
### Minerva
`cd` to the root directory of this project and do:
```python
$ python -m rvfi.cores.minerva.verify
```
2020-07-21 16:13:52 +08:00
2020-08-05 12:54:46 +08:00
## Scope
2020-07-21 17:55:28 +08:00
2020-08-13 17:38:04 +08:00
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.
2020-07-21 17:55:28 +08:00
2020-07-21 16:13:52 +08:00
## License
See [LICENSE ](./LICENSE )