{"id":18411108,"url":"https://github.com/fpgawars/apio-examples","last_synced_at":"2026-05-24T05:07:27.516Z","repository":{"id":48623630,"uuid":"56981735","full_name":"FPGAwars/apio-examples","owner":"FPGAwars","description":":seedling: Apio examples","archived":false,"fork":false,"pushed_at":"2026-05-04T03:05:28.000Z","size":2541,"stargazers_count":38,"open_issues_count":0,"forks_count":26,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-05-04T05:30:42.791Z","etag":null,"topics":["apio","examples","verilog"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"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/FPGAwars.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-04-24T16:21:35.000Z","updated_at":"2026-04-30T17:45:39.000Z","dependencies_parsed_at":"2026-03-27T21:00:32.314Z","dependency_job_id":null,"html_url":"https://github.com/FPGAwars/apio-examples","commit_stats":null,"previous_names":[],"tags_count":214,"template":false,"template_full_name":null,"purl":"pkg:github/FPGAwars/apio-examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FPGAwars%2Fapio-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FPGAwars%2Fapio-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FPGAwars%2Fapio-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FPGAwars%2Fapio-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FPGAwars","download_url":"https://codeload.github.com/FPGAwars/apio-examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FPGAwars%2Fapio-examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33422044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["apio","examples","verilog"],"created_at":"2024-11-06T03:35:16.949Z","updated_at":"2026-05-24T05:07:27.483Z","avatar_url":"https://github.com/FPGAwars.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n**IMPORTANT** [Dec 24th 2025] The main branch of this repository was changed from `master`\nto a new branch called `main` and the old `master` branch is now frozen in read-only state. Please submit all future pull requests on the new branch `main`. The frozen branch should keep serving\nthis URL https://raw.githubusercontent.com/fpgawars/apio-examples/master/VERSION to Apio versions\nbefore 1.2.0.\n\n\u003e **Note:** Please **do not** open issues in this repository.\n\u003e For any questions, discussions, or bug reports, use the [main Apio repository](https://github.com/FPGAwars/apio).\n\n# Apio examples package\n\nA package with sample FPGA project for [Apio](https://github.com/fpgawars/apio)\n\n## Creating a release\n\nPre-releases are created daily by the `build-pre-release` workflow and are deleted after\na few days. To keep a release, edit it and unselect `pre-release` checkbox.\n\nAfter you unselected the 'pre-release', you can make Apio using it by editing the version\nof the `examples` package in `fpgawars/apio repo` dir `remote-control`.\n\n## Guides for authoring examples\n\n### Directory structure\n\nThe examples in the apio-examples repository have the following directory structure\n\n```\nexamples\n    \u003cboard-id\u003e\n        \u003cexample-id\u003e\n            \u003cexample-files\u003e\n```\n\nWhere:\n\n**Board-id**\nThis the exact FPGA board id of the example, as listed by `apio examples -l`. This is also the `board=` value in the `apio.ini` file of the example.\n\n```\nalhambra-ii   # good\nAlhambra-II   # bad\n```\n\n**Example-id**\nThis is a short name that identify the example among the examples of that bord and it is in lower-case format with ASCII alphanumeric characters only (no unicode).\n\n```\nblinky             # good\ndivide-by-pi       # good\n\nBlinky             # bad\nDivide By Pi       # bad\ndivide_by_pi       # bad\ndivide-by-3.14     # bad\n```\n\n**Examble-files**\nThese are the files that make up the examples. Subdirectories are not allow in the example directory.\n\n---\n\n### Board level requirements\n\n**A board should have at least one example.** This is self explanatory.\n\n---\n\n### Example level requirements\n\n**An example should be license compatible**\nThe publishing of the example should be compatible with the LICESNE of the FPGAWars' apio-examples repository.\n\n**An example should include an 'info' file**\nThe example directory should include a text file named `info` with a single\nline, up to 50 characters long, desdribing the example.\n\n**An example should have an apio.ini**\nEach example should contain an apio.ini file with all the required options. Example\n\n```\n[env:default]\nboard = alhambra-ii\ntop-module = main\n```\n\n**An example should not be broken**\nAn example should pass successfuly the following commands `apio build`, `apio upload`, `apio report`, `apio graph`.\n\n**A testbench should not be broken**\nIf an example contains a testbench (\\*\\_tb.v files), they should pass successfuly the commands `apio test` and `apio sim \u003ctestbench\u003e`.\n\n---\n\n### Board level 'nice to have'\n\n**A 'template' example for new projects**\nHaving for your board an example called `template` will provide your users with\ngood starting point to start a new project. The `template` should have a full\nconstrains file for that FPGA which the users can then trim or comment out.\n\n---\n\n### Example level 'nice to have'\n\n**lower-case file names**\nIt's recomanded to use `lower-case` format (ASCII a-z, 0-9, no unicode) for base file\nnames. For example:\n\n```\nclock-divider.v\nmy-test-bench_tb.v.\nmain.v\n```\n\n**A least one testbench**\nA good example should have at least one testbench.\n\n**A .gtkw file for each testbench**\nHaving a .gtkw file for each testbench makes your example more user friedly.\nYou can the .gtkw files by running `apio sim \u003ctestbench\u003e`,\nselecting in the GUI the signals to display, and saving the .gtkw file using the menu entry `File | Write Save File`.\n\n**Consistent example names**\nIf you create a hello-world example that turn on or blinks a led, prefer to reuse\ncommon example name from other boards, such as `ledon` or `blinky` rathe than\ninventing new names.\n\n---\n\n## License\n\nThe Apio project itself is licensed under the GNU General Public License version 3.0 (GPL-3.0).\nPre-built packages may include third-party tools and components, which are subject to their\nrespective license terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpgawars%2Fapio-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffpgawars%2Fapio-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpgawars%2Fapio-examples/lists"}