{"id":39073292,"url":"https://github.com/im-tomu/fomu-workshop","last_synced_at":"2026-01-17T18:24:15.363Z","repository":{"id":36843039,"uuid":"202675791","full_name":"im-tomu/fomu-workshop","owner":"im-tomu","description":"Support files for participating in a Fomu workshop","archived":false,"fork":false,"pushed_at":"2024-03-17T19:30:37.000Z","size":27667,"stargazers_count":156,"open_issues_count":67,"forks_count":63,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-05-01T14:57:02.081Z","etag":null,"topics":["chisel","fomu","fomu-workshop","fpga","hdl","litex","migen","riscv","verilog","vhdl"],"latest_commit_sha":null,"homepage":"https://workshop.fomu.im","language":"Verilog","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/im-tomu.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}},"created_at":"2019-08-16T06:59:02.000Z","updated_at":"2024-04-02T17:41:09.000Z","dependencies_parsed_at":"2024-03-17T19:37:51.919Z","dependency_job_id":null,"html_url":"https://github.com/im-tomu/fomu-workshop","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/im-tomu/fomu-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/im-tomu%2Ffomu-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/im-tomu%2Ffomu-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/im-tomu%2Ffomu-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/im-tomu%2Ffomu-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/im-tomu","download_url":"https://codeload.github.com/im-tomu/fomu-workshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/im-tomu%2Ffomu-workshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28515418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T17:57:59.192Z","status":"ssl_error","status_checked_at":"2026-01-17T17:57:52.527Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["chisel","fomu","fomu-workshop","fpga","hdl","litex","migen","riscv","verilog","vhdl"],"created_at":"2026-01-17T18:24:15.244Z","updated_at":"2026-01-17T18:24:15.336Z","avatar_url":"https://github.com/im-tomu.png","language":"Verilog","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca title=\"FPGA Tomu (Fomu) Workshop\" href=\"https://workshop.fomu.im/\"\u003e\u003cimg width=\"600px\" src=\"docs/_static/logo.png\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca title=\"Nightly build\" href=\"https://workshop.fomu.im/\"\u003e\u003cimg src=\"https://img.shields.io/website.svg?label=workshop.fomu.im\u0026longCache=true\u0026style=flat-square\u0026url=http%3A%2F%2Fworkshop.fomu.im%2Fen%2Flatest%2Findex.html\u0026logo=Read%20the%20Docs\u0026logoColor=fff\"\u003e\u003c/a\u003e\u003c!--\n  --\u003e\n  \u003ca title=\"Nightly build\" href=\"https://im-tomu.github.io/fomu-workshop\"\u003e\u003cimg src=\"https://img.shields.io/website.svg?label=im-tomu.github.io%2Ffomu-workshop\u0026longCache=true\u0026style=flat-square\u0026url=http%3A%2F%2Fim-tomu.github.io%2Ffomu-workshop%2Findex.html\u0026logo=GitHub\u0026logoColor=fff\"\u003e\u003c/a\u003e\u003c!--\n  --\u003e\n  \u003ca title=\"'test' workflow status\" href=\"https://github.com/im-tomu/fomu-workshop/actions/workflows/test.yml\"\u003e\u003cimg alt=\"'test' workflow status\" src=\"https://img.shields.io/github/actions/workflow/status/im-tomu/fomu-workshop/test.yml?branch=master\u0026longCache=true\u0026style=flat-square\u0026label=test\u0026logo=Github%20Actions\u0026logoColor=fff\"\u003e\u003c/a\u003e\u003c!--\n  --\u003e\n  \u003ca title=\"'doc' workflow status\" href=\"https://github.com/im-tomu/fomu-workshop/actions/workflows/doc.yml\"\u003e\u003cimg alt=\"'doc' workflow status\" src=\"https://img.shields.io/github/actions/workflow/status/im-tomu/fomu-workshop/doc.yml?branch=master\u0026longCache=true\u0026style=flat-square\u0026label=doc\u0026logo=Github%20Actions\u0026logoColor=fff\"\u003e\u003c/a\u003e\u003c!--\n  --\u003e\n\u003c/p\u003e\n\nHi, I'm Fomu!  [This workshop](https://workshop.fomu.im/) covers the basics of Fomu in a top-down approach.\nWe'll start out by learning **what** Fomu is, **how to load software** into Fomu, **how to write software** for Fomu and\nfinally **how to write hardware** for Fomu.\n\n\u003cp align=\"center\"\u003e\n  \u003ca title=\"FPGA Tomu (Fomu) Workshop\" href=\"https://workshop.fomu.im/\"\u003e\u003cimg src=\"docs/_static/hw-pvt-back-bare-small.jpg\"/\u003e\u003c/a\u003e\n  \u003ca title=\"FPGA Tomu (Fomu) Workshop\" href=\"https://workshop.fomu.im/\"\u003e\u003cimg src=\"docs/_static/hw-pvt-front-bare-small.jpg\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nFPGAs are complex, weird things, so we'll take a gentle approach and start out by treating it like a Python interpreter\nfirst, and gradually peel away layers until we're writing our own hardware registers.\nYou can take a break at any time and explore!\nStop when you feel the concepts are too unfamiliar, or plough on and dig deep into the world of hardware.\n\nThe contents of this workshop is published at [workshop.fomu.im](https://workshop.fomu.im).\n\n## Repository Contents\n\n- [docs](./docs) - The actual workshop directions and content.\n- [hdl](./hdl)\n  - [verilog](./hdl/verilog) - The files required for the [Verilog on Fomu](https://workshop.fomu.im/en/latest/verilog.html)\n    section of the workshop.\n  - [vhdl](./hdl/vhdl) - The files required for the [VHDL on Fomu](https://workshop.fomu.im/en/latest/vhdl.html) section\n    of the workshop.\n  - [mixed](./hdl/mixed) - The files required for the [Mixed HDL on Fomu](https://workshop.fomu.im/en/latest/mixedhdl.html)\n    section of the workshop.\n- [icestudio](./icestudio) - The files required for the [Fomu on IceStudio *Nightly*](https://workshop.fomu.im/en/latest/icestudio.html)\n    section of the workshop.\n- [litex](./litex), [migen](./migen) - The files required for the [Migen and LiteX](https://workshop.fomu.im/en/latest/migen.html)\n  section of the workshop.\n- [reference](./reference) - Extra reference documentation such as schematics and part datasheets.\n- riscv\n  - [riscv-blink](./riscv-blink) - The files required for the [Fomu as a CPU](https://workshop.fomu.im/en/latest/riscv.html)\n    section of the workshop.\n  - [riscv-rust-blink](./riscv-rust-blink) - The files required for the [Fomu as a CPU, Using Rust](https://workshop.fomu.im/en/latest/riscv.html#using-rust)\n    section of the workshop.\n\n# Development\n\nFor guidelines about how to develop the workshop or how to build the workshop\nlocally, see [DEVELOPMENT](DEVELOPMENT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fim-tomu%2Ffomu-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fim-tomu%2Ffomu-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fim-tomu%2Ffomu-workshop/lists"}