-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate RISC-V instruction decoder from ISA descriptor #103
Comments
Google's mpact-riscv offers ISA description for the RV32/RV64 architecture. See |
riscvhpp is a user-level C++17 header-only RISC-V emulator generator using riscv-opcodes. |
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:
|
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.The text was updated successfully, but these errors were encountered: