Open jserv opened 1 year ago
Google's mpact-riscv offers ISA description for the RV32/RV64 architecture. See riscv/*.isa
for details.
riscvhpp is a user-level C++17 header-only RISC-V emulator generator using riscv-opcodes.
Google's mpact-riscv offers ISA description for the RV32/RV64 architecture. See
riscv/*.isa
for details.
MPACT-Sim provides a set of tools and C++ classes that makes it easier to write instruction level simulators for a wide range of architectures.
Build instructions:
$ git clone https://github.com/google/mpact-riscv
$ cd mpact-riscv
$ bazel build //...
Cavatools simulates a multi-core RISC-V machine. It provides "uspike," which is a RISC-V instruction set interpreter. Python scripts extract instruction bit encoding and execution semantics from the official GitHub repository.
There is some relevant documentation included with the current RISC-V instructions decoding implementation. The maintenance and verification, however, are not straightforward. Instead, we may describe how RISC-V instructions are encoded in human readable form; a code generator will then convert this information into C code. See make_decoder.py from arviss and HiSimu for reference.
Expected output:
src/instructions.in
which contains the following:scripts/gen-decoder.py
(other scripting languages are acceptable.) which can convert from the above into the corresponding C implementation.src/decode.c
to be aware of the above changes.docs
which describe the high level idea and the way to describe more extensions.