Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chipsalliance/dromajo
RISC-V RV64GC emulator designed for RTL co-simulation
https://github.com/chipsalliance/dromajo
Last synced: 3 days ago
JSON representation
RISC-V RV64GC emulator designed for RTL co-simulation
- Host: GitHub
- URL: https://github.com/chipsalliance/dromajo
- Owner: chipsalliance
- License: apache-2.0
- Created: 2019-11-14T23:42:57.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-11T23:41:08.000Z (about 2 months ago)
- Last Synced: 2024-11-01T02:35:44.295Z (8 days ago)
- Language: C++
- Size: 1.05 MB
- Stars: 213
- Watchers: 16
- Forks: 63
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-opensource-hardware - dromajo
README
# Dromajo - Esperanto Technology's RISC-V Reference Model
Functional verification is key to have a strong RISC-V ecosystem.
Esperanto is releasing Dromajo to help the RISC-V community. Dromajo
is the Esperanto translation for an emu bird. It is a RISC-V RV64GC
emulator designed for RTL co-simulation. This is the emulator used
for cosimulation inside Esperanto, but it is designed with a simple
API that can be leveraged to other RTL RISC-V cores.Dromajo enables executing application (such as benchmarks running on
Linux) under fast software simulation, generating checkpoints after a
given number of cycles, and resuming such checkpoints for HW/SW
co-simulation. This has proven to be a very powerful way to capture
bugs, especially in combination with randomized tests.Dromajo's semantic model is based on Fabrice Bellard's RISCVEMU (later
renamed TinyEMU), but extensively verified, bug-fixed, and enhanced to
take it to ISA 2.3/priv 1.11.## Building
```
mkdir build
cd build
# Debug build
cmake ..
# Release build Ofast compile option
cmake -DCMAKE_BUILD_TYPE=Release ..
make
```The resulting artifacts are the `dromajo` simulator and the
`libdromajo_cosim.a` library with associated `dromajo_cosim.h`
header file.Check the [setup.md](doc/setup.md) for instructions how to compile tests like
booting Linux and baremetal for dromajo.## Usage
The co-simulation environment will link with the libraries and usage
will depend on that, but the `src/dromajo.c` utility allows for standalone
simulation of RISC-V ELF binaries.```
./dromajo
error: missing config file
usage: ./dromajo [--load snapshot_name] [--save snapshot_name] [--maxinsns N] [--memory_size MB] config
--load resumes a previously saved snapshot
--save saves a snapshot upon exit
--maxinsns terminates execution after a number of instructions
--terminate-event name of the validate event to terminate execution
--trace start trace dump after a number of instructions
--memory_size sets the memory size in MiB (default 256 MiB)./dromajo path/to/your/coremark.riscv
...
```