{"id":25663752,"url":"https://github.com/maxxsoft/bossa","last_synced_at":"2025-04-22T11:35:43.764Z","repository":{"id":133589955,"uuid":"432888368","full_name":"MaxXSoft/Bossa","owner":"MaxXSoft","description":"BOOM's Simulation Accelerator.","archived":false,"fork":false,"pushed_at":"2021-12-16T04:06:04.000Z","size":106,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T14:41:27.940Z","etag":null,"topics":["accelerator","boom","chipyard","chisel","firrtl","risc-v","riscv","rocket","rocket-chip","rtl","simulation","soc","verilator"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaxXSoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-11-29T03:05:53.000Z","updated_at":"2025-01-08T13:27:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"91999775-187f-4dff-bf40-798291463082","html_url":"https://github.com/MaxXSoft/Bossa","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxXSoft%2FBossa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxXSoft%2FBossa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxXSoft%2FBossa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxXSoft%2FBossa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxXSoft","download_url":"https://codeload.github.com/MaxXSoft/Bossa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250233258,"owners_count":21396772,"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":["accelerator","boom","chipyard","chisel","firrtl","risc-v","riscv","rocket","rocket-chip","rtl","simulation","soc","verilator"],"created_at":"2025-02-24T05:18:56.342Z","updated_at":"2025-04-22T11:35:43.740Z","avatar_url":"https://github.com/MaxXSoft.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boosa: BOOM's Simulation Accelerator\n\nBossa is a [Chipyard](https://github.com/ucb-bar/chipyard)-based framework designed to accelerate the BOOM simulation process.\n\nBossa keeps only the necessary components for simulating BOOM, and the submodules in Chipyard, such as Gemmini, Hwacha, IceNet, NVDLA, etc. are all removed.\n\nBossa will use [Frenda](https://github.com/MaxXSoft/Frenda) to incrementally compile the generated FIRRTL. This will be very helpful if you keep modifying the BOOM and then run simulation again and again, it can save you a lot of time.\n\nBossa currently supports only Verilator-based simulations.\n\n## Prerequisites\n\n### Using Bossa's Docker Image\n\nJust run:\n\n```sh\ndocker pull maxxing/bossa-image\ndocker run -it maxxing/bossa-image bash\n```\n\nSee [docker/README.md](docker/README.md) for more details.\n\n### Using Bossa on Your Local Machine\n\n* Ubuntu (20.04+ recommended).\n* JDK 11+.\n* C++ compiler and Make (`build-essential`).\n* Python 3.7+.\n* Verilator.\n* Device tree compiler (for building `riscv-isa-sim`).\n* Git.\n\nYou can run the following command to setup prerequisites on Ubuntu:\n\n```sh\nsudo scripts/setup-prerequisites.sh\n```\n\n## Getting Started\n\n### Setting Up Prerequisites and Initializing\n\n```sh\nsudo scripts/setup-prerequisites.sh\ngit submodule update --init --recursive --depth=1\n```\n\n### Building for Simulation\n\n```sh\ncd sims/verilator\n# build simulation for small BOOM\nmake CONFIG=SmallBoomConfig -j`nproc`\n# or, enable multi-threading\nmake CONFIG=SmallBoomConfig VERILATOR_THREADS=8 -j`nproc`\n# or, enable debugging with VCD waveform dump\nmake CONFIG=SmallBoomConfig debug -j`nproc`\n# or, enable debugging with FST waveform dump\nmake CONFIG=SmallBoomConfig VERILATOR_FST_MODE=1 debug -j`nproc`\n```\n\n### Bulding and Running Simulator\n\n```sh\ncd sims/verilator\nmake CONFIG=SmallBoomConfig -j`nproc`\n./simulator-SmallBoomConfig path/to/riscv/program\n```\n\n## Make Options Supported during Simulator Build\n\n* `CONFIG`: the configuration class to give the parameters for the project (default `SmallBoomConfig`).\n* `FRENDA_THREADS`: how many threads the incremental FIRRTL compiler will use (default `nproc`).\n* `FRENDA_CLEAN_BUILD`: perform clean FIRRTL build instead of incremental FIRRTL build.\n* `VERILATOR_THREADS`: how many threads the simulator will use (default 1).\n* `VERILATOR_FST_MODE`: enable FST waveform instead of VCD. use with debug build.\n* `TOP_MODULE`: the top level module of the project (default `TestHarness`).\n* `VERILATOR_OPT_FLAGS`: Verilator optimization flags (default `-O2 --x-assign fast --x-initial fast --output-split 30000 --output-split-cfuncs 30000`).\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxxsoft%2Fbossa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxxsoft%2Fbossa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxxsoft%2Fbossa/lists"}