https://github.com/mit-plv/riscv-coq
RISC-V Specification in Coq
https://github.com/mit-plv/riscv-coq
Last synced: about 1 year ago
JSON representation
RISC-V Specification in Coq
- Host: GitHub
- URL: https://github.com/mit-plv/riscv-coq
- Owner: mit-plv
- License: bsd-3-clause
- Created: 2018-06-22T15:09:34.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-01-23T17:01:37.000Z (over 1 year ago)
- Last Synced: 2025-03-29T06:03:53.436Z (about 1 year ago)
- Language: Coq
- Size: 1.11 MB
- Stars: 111
- Watchers: 15
- Forks: 17
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-coq - RISC-V Specification in Coq - Definition of the RISC-V processor instruction set architecture and extensions. (Projects / Verified Software)
README
# RISC-V Specification in Coq
Generated from the [RISCV Semantics in Haskell](https://github.com/mit-plv/riscv-semantics) using [hs-to-coq](https://github.com/antalsz/hs-to-coq), with some manually written Coq files too.
Currently, the architectures RV32I and RV64I with any combination of the extensions A and M are supported.
### Build
You will need the latest released version of Coq, or master.
`riscv-coq` depends on the `coqutil` library. You can get this dependency and build the project using the following commands:
```
git clone https://github.com/mit-plv/coqutil.git
git clone https://github.com/mit-plv/riscv-coq.git
make -C coqutil
cd riscv-coq/
make
```
### If it doesn't build
If something doesn't work, you could try to do exactly the same as [bedrock2](https://github.com/mit-plv/bedrock2/commits/master) does, which uses riscv-coq as a dependency and has continuous integration, so if you pick a commit with a green tick there, you can be sure to have a working version.