{"id":13644816,"url":"https://github.com/chipsalliance/dromajo","last_synced_at":"2025-05-16T13:08:06.103Z","repository":{"id":36389171,"uuid":"221806406","full_name":"chipsalliance/dromajo","owner":"chipsalliance","description":"RISC-V RV64GC emulator designed for RTL co-simulation","archived":false,"fork":false,"pushed_at":"2024-11-20T17:05:17.000Z","size":1098,"stargazers_count":229,"open_issues_count":25,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-05-13T04:35:35.863Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chipsalliance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-14T23:42:57.000Z","updated_at":"2025-05-06T11:54:25.000Z","dependencies_parsed_at":"2023-02-10T13:00:42.276Z","dependency_job_id":"3de03511-f705-4ad9-8d75-9d56a0b8d0eb","html_url":"https://github.com/chipsalliance/dromajo","commit_stats":{"total_commits":114,"total_committers":20,"mean_commits":5.7,"dds":"0.49122807017543857","last_synced_commit":"8c0c1e3afd5cdea65d1b35872e395f988b0ec449"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chipsalliance%2Fdromajo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chipsalliance%2Fdromajo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chipsalliance%2Fdromajo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chipsalliance%2Fdromajo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chipsalliance","download_url":"https://codeload.github.com/chipsalliance/dromajo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535829,"owners_count":22087399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:02:13.975Z","updated_at":"2025-05-16T13:08:06.087Z","avatar_url":"https://github.com/chipsalliance.png","language":"C++","funding_links":[],"categories":["C++","Electronics Simulators","Open Source Toolchains"],"sub_categories":["Simulators/Emulators"],"readme":"\n# Dromajo - Esperanto Technology's RISC-V Reference Model\n\nFunctional verification is key to have a strong RISC-V ecosystem.\nEsperanto is releasing Dromajo to help the RISC-V community.  Dromajo\nis the Esperanto translation for an emu bird. It is a RISC-V RV64GC\nemulator designed for RTL co-simulation.  This is the emulator used\nfor cosimulation inside Esperanto, but it is designed with a simple\nAPI that can be leveraged to other RTL RISC-V cores.\n\nDromajo enables executing application (such as benchmarks running on\nLinux) under fast software simulation, generating checkpoints after a\ngiven number of cycles, and resuming such checkpoints for HW/SW\nco-simulation.  This has proven to be a very powerful way to capture\nbugs, especially in combination with randomized tests.\n\nDromajo's semantic model is based on Fabrice Bellard's RISCVEMU (later\nrenamed TinyEMU), but extensively verified, bug-fixed, and enhanced to\ntake it to ISA 2.3/priv 1.11.\n\n## Building\n\n```\nmkdir build\ncd build\n# Debug build\ncmake ..\n# Release build Ofast compile option\ncmake -DCMAKE_BUILD_TYPE=Release ..\nmake\n```\n\nThe resulting artifacts are the `dromajo` simulator and the\n`libdromajo_cosim.a` library with associated `dromajo_cosim.h`\nheader file.\n\nCheck the [setup.md](doc/setup.md) for instructions how to compile tests like\nbooting Linux and baremetal for dromajo.\n\n## Usage\n\nThe co-simulation environment will link with the libraries and usage\nwill depend on that, but the `src/dromajo.c` utility allows for standalone\nsimulation of RISC-V ELF binaries.\n\n```\n./dromajo\nerror: missing config file\nusage: ./dromajo [--load snapshot_name] [--save snapshot_name] [--maxinsns N] [--memory_size MB] config\n       --load resumes a previously saved snapshot\n       --save saves a snapshot upon exit\n       --maxinsns terminates execution after a number of instructions\n       --terminate-event name of the validate event to terminate execution\n       --trace start trace dump after a number of instructions\n       --memory_size sets the memory size in MiB (default 256 MiB)\n\n./dromajo path/to/your/coremark.riscv\n...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchipsalliance%2Fdromajo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchipsalliance%2Fdromajo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchipsalliance%2Fdromajo/lists"}