{"id":31289093,"url":"https://github.com/pulp-platform/chimera","last_synced_at":"2026-04-17T19:05:17.201Z","repository":{"id":249690884,"uuid":"826809455","full_name":"pulp-platform/chimera","owner":"pulp-platform","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-16T13:29:37.000Z","size":422,"stargazers_count":23,"open_issues_count":14,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-16T15:31:47.992Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/pulp-platform.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-10T12:23:29.000Z","updated_at":"2026-04-16T13:29:44.000Z","dependencies_parsed_at":"2024-11-11T17:19:59.265Z","dependency_job_id":"b9374a97-8e16-438a-b4f5-2d37761ee4ba","html_url":"https://github.com/pulp-platform/chimera","commit_stats":null,"previous_names":["pulp-platform/chimera"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pulp-platform/chimera","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulp-platform%2Fchimera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulp-platform%2Fchimera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulp-platform%2Fchimera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulp-platform%2Fchimera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pulp-platform","download_url":"https://codeload.github.com/pulp-platform/chimera/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulp-platform%2Fchimera/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31941851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2025-09-24T13:02:09.480Z","updated_at":"2026-04-17T19:05:17.195Z","avatar_url":"https://github.com/pulp-platform.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eChimera: A Flexible Multi-Accelerator Framework for Heterogeneous SoC Integration\u003c/h1\u003e\n\n\u003ca href=\"https://pulp-platform.org\"\u003e\n\u003cimg src=\"docs/img/pulp_logo_icon.svg\" alt=\"Logo\" width=\"100\" align=\"right\"\u003e\n\u003c/a\u003e\n\nChimera is an open-source, highly configurable microcontroller System-on-Chip (SoC) template designed for multi-cluster, heterogeneous computing systems. Its primary objective is to provide a modular platform for seamlessly integrating and managing hardware accelerators, offering developers and researchers an intuitive and extensible foundation.\\\nChimera is developed as part of the [PULP (Parallel Ultra-Low Power) Platform](https://pulp-platform.org/), a joint effort between ETH Zurich and the University of Bologna.\n\n\u003cdiv align=\"center\"\u003e\n\n[![CI status](https://github.com/pulp-platform/chimera/actions/workflows/gitlab-ci.yml/badge.svg?branch=main)](https://github.com/pulp-platform/chimera/actions/workflows/gitlab-ci.yml?query=branch%3Main)\n[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/pulp-platform/chimera?color=blue\u0026label=current\u0026sort=semver)](CHANGELOG.md)\n[![License](https://img.shields.io/badge/license-Apache--2.0-red)](LICENSE-APACHE)\n[![License](https://img.shields.io/badge/license-SHL--0.51-red)](LICENSE-SHL)\n\n[Getting started](#-getting-started)\n[Build RTL](#️-build-rtl)\n[Platform Simulation](#platform-simulation)\n[Formatting](#-formatting)\n\u003c/div\u003e\n\n## 📜 License\nUnless specified otherwise in the respective file headers, all code in this repository is released under permissive licenses.\n- Hardware sources and tool scripts are licensed under the Solderpad Hardware License 0.51 (see [LICENSE-SHL](LICENSE-SHL)) or compatible licenses.\n- Register file code (e.g. [hw/regs/*.sv](hw/regs/)) is generated using a fork of lowRISC's [regtool](https://github.com/lowRISC/opentitan/blob/master/util/regtool.py) and is licensed under Apache 2.0 (see [LICENSE-APACHE](LICENSE-APACHE)).\n- All software sources are licensed under Apache 2.0.\n\n## 🚀 Getting started\n### Environment setup for IIS-members\nFor IIS members, set up the environment by sourcing the `iis-env.sh` script:\n```sh\nsource iis-env.sh\n```\n\n### Environment for non IIS-members\nNon-IIS users need to follow a few more steps to set up the environment properly.\n\n#### Bender\nChimera uses [Bender](https://github.com/pulp-platform/bender) to manage hardware dependencies and automatically generate compilation scripts.\n\n#### Python environment\nPython 3.11 or later is required. Create and activate a virtual environment:\n```sh\nmake python-venv\nsource .venv/bin/activate\n```\nYou can override the Python version using the `BASE_PYTHON` environment variable.\nDependencies are listed in `requirements.txt` and handled via the `python-venv` target.\n\n#### Toolchain\nChimera requires a working RISC-V GCC toolchain for building the Cheshire 32-bit host code. Follow the _Installation (Newlib)_ instructions from [pulp-platform/riscv-gni-toolchain](https://github.com/pulp-platform/riscv-gnu-toolchain).\\\nAfter installation, export the toolchain path:\n```shell\nexport RISCV_GCC_BINROOT=/path/to/gcc/bin\nexport $PATH=$PATH:$RISCV_GCC_BINROOT\n```\nTo verify that the toolchain is in your path:\n```shell\nwhich riscv32-unknown-elf-gcc\n```\n\n### 🛠️ Build RTL\nIf you have all needed dependencies and you want to build the full Chimera SoC, both RTL and SW, run:\n``` sh\nbender checkout\nmake chim-all\n```\nOr for more selective builds:\n```sh\nmake chs-hw-init\nmake sn-hw-all\nmake chim-sw\nmake chim-bootrom-init\n```\n⚠️ You must build the software (`chim-sw`) before building the boot ROM (`chim-bootrom-init`).\n\n### Compile Software Tests\nTo compile the software for Cheshire:\n```sh\nmake chim-sw\n```\n\n### Platform simulation\nTo run simulations, ensure you have Questa installed and accessible via vsim (`which vsim`).\\\nTo compile the hardware run `make chim-sim`.\\\nTo run a simulation, use the `chim-run` target. You must specify the path to the compiled Cheshire binary using the `BINARY` variable:\n```sh\nmake chim-run-batch BINARY=path/to/sw/tests.elf\n```\nTo run the simulation in batch mode, use the `chim-run-batch` target.\n\n### Additional Help\nTo list all available make targets and their descriptions:\n```sh\nmake help\n```\n\n## 🧼 Formatting\n\n### Verilog Formatting\nTo format all hardware source files:\n\n```sh\nverible-verilog-format --flagfile .verilog_format --inplace --verbose hw/*.sv target/sim/src/*.sv\n```\n\n### CXX Formatting\nTo format all files in the `sw/` directory, run\n```sh\npython scripts/run_clang_format.py -ir sw/\n```\n\nOur CI uses llvm-12 for clang-format. On IIS machines, run:\n```sh\npython scripts/run_clang_format.py -ir sw/ --clang-format-executable=/usr/pack/riscv-1.0-kgf/pulp-llvm-0.12.0/bin/clang-format\n\npython scripts/run_clang_format.py -ir hw/ --clang-format-executable=/usr/pack/riscv-1.0-kgf/pulp-llvm-0.12.0/bin/clang-format\n```\nIf you're not using the IIS setup, specify a valid `clang-format-12` binary instead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpulp-platform%2Fchimera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpulp-platform%2Fchimera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpulp-platform%2Fchimera/lists"}