{"id":19240338,"url":"https://github.com/riscv-software-src/riscv-unified-db","last_synced_at":"2025-04-09T18:16:44.398Z","repository":{"id":248169533,"uuid":"827956328","full_name":"riscv-software-src/riscv-unified-db","owner":"riscv-software-src","description":"Machine-readable database of the RISC-V specification, and tools to generate various views","archived":false,"fork":false,"pushed_at":"2025-04-09T17:56:44.000Z","size":49143,"stargazers_count":54,"open_issues_count":170,"forks_count":37,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-09T18:16:39.495Z","etag":null,"topics":["risc-v","riscv"],"latest_commit_sha":null,"homepage":"https://riscv-software-src.github.io/riscv-unified-db/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/riscv-software-src.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-12T18:45:36.000Z","updated_at":"2025-04-09T14:56:40.000Z","dependencies_parsed_at":"2024-07-28T23:27:43.757Z","dependency_job_id":"ee3e4d05-7b2b-4658-9ff4-7fe636f52074","html_url":"https://github.com/riscv-software-src/riscv-unified-db","commit_stats":null,"previous_names":["riscv-software-src/riscv-unified-db"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riscv-software-src%2Friscv-unified-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riscv-software-src%2Friscv-unified-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riscv-software-src%2Friscv-unified-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riscv-software-src%2Friscv-unified-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/riscv-software-src","download_url":"https://codeload.github.com/riscv-software-src/riscv-unified-db/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085323,"owners_count":21045139,"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":["risc-v","riscv"],"created_at":"2024-11-09T17:07:02.716Z","updated_at":"2025-04-09T18:16:44.379Z","avatar_url":"https://github.com/riscv-software-src.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"= RISC-V Unified Database\n\n== Generated artifacts\n\nThe latest documentation artifacts generated from the HEAD of main, include ISA manuals, profiles, etc.,\ncan be found https://riscv-software-src.github.io/riscv-unified-db/index.html[on the GitHub pages site].\n\n== Overview\n\nThe RISC-V Unified Database is intended to hold *all* the information needed to describe RISC-V,\nincluding a list of extensions, instruction specifications, CSR specifications, and documentation prose. The vision is that anything one would need for RISC-V can be generated from the information in this repository.\n\nThis repository contains:\n\n * A (eventually complete) description of the RISC-V specification in a machine-readable format.\n * A tool to generate multiple views of that spec, including:\n ** A configuration-specific, human-readable documentation webpage\n ** [COMING SOON] A configuration-specific Instruction Set Simulator\n ** More backends are planned\n\n== What can it do?\n\n=== Working examples:\n\n * Generate https://riscv-software-src.github.io/riscv-unified-db/manual/html/index.html[configuration-specific documentation] tailored to the set of implemented extensions and unnamed implementation options (_e.g._, `./do gen:html[example_rv64_with_overlay]`).\n ** Only implemented extensions/instructions/CSRs are included\n ** Unreachable/unimplemented parts of the formal specification are pruned away\n ** A dedicated documentation page for every implemented instruction, including its encoding, pruned execution behavior, and what types of exceptions it may cause.\n ** A dedicated documentation page for every implemented CSR, including its (possibly runtime-changing) encoding, fields, and pruned behavior on reads and writes\n ** Clickable links to all mentions of instructions, extensions, CSRs, CSR fields, and glossary terms.\n * Generate documentation for specific extensions (_e.g._, `./do gen:ext_pdf[B]`)\n ** Automatically include a complete list of added instructions and CSRs\n ** Per-instruction documentation\n ** Per-CSR documentation\n ** Formal specification\n * Generate a single YAML file containing *everything* knowable about a configuration (_e.g._, `./do gen:cfg_arch[example_rv64_with_overlay]`).\n\n=== Possibilities:\n\n  * Generate binutils files for an extension\n  * Generate instruction tables for compilers\n  * Generate https://github.com/riscv/riscv-opcodes[riscv-opcodes]\n  * Generate the full RISC-V specification, along with an appendix of instructions and CSRs\n  * ...\n\n== Prerequisites\n\nThere are two supported ways to run the RISC-V Unified Database,\nboth of which are container-based.\n\n=== Singularity/Apptainer\n\nYou can run within `Singularity CE` (\u003e= 3.3) or `Apptainer` (\u003e= 1.0) container system. Either one will work (they are forks).\n\nIf it is not installed, either ask your IT admin or:\n\n * For Apptainer, see https://apptainer.org/docs/admin/main/installation.html[Apptainer Installation].\n * For Singularity CE, see https://docs.sylabs.io/guides/latest/admin-guide/installation.html[Singularity CE Installation].\n\n[NOTE]\nYou do *not* need root privileges to download or use the container. However, to modify/build the container,\nyou will need either root privileges or the ability to run in `fakeroot` mode. See https://docs.sylabs.io/guides/4.1/user-guide/fakeroot.html[Singularity Fakeroot Documentation] for more information.\n\nWhen you run with Singularity/Apptainer, the files under `bin/`\nwill run within the container, _e.g._:\n\n```bash\n./bin/ruby --version\n# =\u003e ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux-gnu]\n```\n\n=== Devcontainer\n\nYou can also leverage https://containers.dev/[devcontainers] to run the RISC-V Unified Database.\n\nThis is especially useful when using Visual Studio Code or GitHub codespaces, as it will setup up your IDE environment for you.\n\n==== VS Code\n\nTo run the devcontainer locally, you will need to have https://docs.docker.com/engine/install[Docker installed].\n\nWith Docker installed, install the https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers[Dev Containers] extension in VS Code.\n\nYou can then run `Dev Containers: Open Folder in Container...` from the Command Palette (Ctrl+Shift+P) and select the folder with this repository.\n\n==== GitHub Codespaces\n\nYou can start a GitHub Codespace for this repository by clicking the \"Code\" button and selecting \"Open with Codespaces\".\n\n== Tasks\n\nQuick start:\n\n[source,bash]\n----\n./do --tasks                 # list all documented tasks\n\n## examples\n\n# run smoke tests\n./do test:smoke\n\n# generate all versions of ISA manual, as an Antora static website\n./do gen:html_manual MANUAL_NAME=isa VERSIONS=all\n\n# generate an implementation-specific spec for the 'example_rv64_with_overlay' config\n./do gen:arch[example_rv64_with_overlay]\n----\n\n== More info\n\n * xref:arch/README.adoc[Architecture specification format]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friscv-software-src%2Friscv-unified-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friscv-software-src%2Friscv-unified-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friscv-software-src%2Friscv-unified-db/lists"}