{"id":31815682,"url":"https://github.com/xilinx/finn","last_synced_at":"2025-10-11T09:23:01.322Z","repository":{"id":37492927,"uuid":"139168534","full_name":"Xilinx/finn","owner":"Xilinx","description":"Dataflow compiler for QNN inference on FPGAs","archived":false,"fork":false,"pushed_at":"2025-10-08T16:52:20.000Z","size":91234,"stargazers_count":880,"open_issues_count":113,"forks_count":274,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-10-08T18:48:42.101Z","etag":null,"topics":["compiler","dataflow","fpga","neural-network","quantization"],"latest_commit_sha":null,"homepage":"https://xilinx.github.io/finn","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xilinx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-06-29T15:49:53.000Z","updated_at":"2025-10-08T17:39:11.000Z","dependencies_parsed_at":"2023-02-18T09:45:31.833Z","dependency_job_id":"e1f71a55-b116-4828-9fa6-1b228c534593","html_url":"https://github.com/Xilinx/finn","commit_stats":{"total_commits":3397,"total_committers":38,"mean_commits":89.39473684210526,"dds":0.6788342655284074,"last_synced_commit":"b3bdff118ae076cb776af6e51ddc28eeaa0d6390"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/Xilinx/finn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2Ffinn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2Ffinn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2Ffinn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2Ffinn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xilinx","download_url":"https://codeload.github.com/Xilinx/finn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2Ffinn/sbom","scorecard":{"id":153366,"data":{"date":"2025-08-11","repo":{"name":"github.com/Xilinx/finn","commit":"af5041d1aae76f9705a703e6a62f7c9e2cc74dc9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.1,"checks":[{"name":"Code-Review","score":4,"reason":"Found 4/10 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":9,"reason":"2 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/docker-image.yml:1","Warn: no topLevel permission defined: .github/workflows/pre-commit.yml:1","Warn: no topLevel permission defined: .github/workflows/quicktest-dev-pr.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-image.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/docker-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/docker-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/docker-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/docker-image.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pre-commit.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/pre-commit.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pre-commit.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/pre-commit.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pre-commit.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/pre-commit.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/quicktest-dev-pr.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/Xilinx/finn/quicktest-dev-pr.yml/main?enable=pin","Warn: containerImage not pinned by hash: docker/Dockerfile.finn:30: pin your Docker image by updating ubuntu:jammy-20230126 to ubuntu:jammy-20230126@sha256:9a0bdde4188b896a372804be2384015e90e3f84906b750c1a53539b585fbbe7f","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:94","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:98","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:101","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:102","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:103","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:104","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:105","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:106","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:107","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:108","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:109","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:110","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:111","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:112","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:113","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:116","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:117","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:118","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:119","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:120","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:125","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:126","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:127","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:129","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:130","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:131","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:133","Warn: pipCommand not pinned by hash: docker/Dockerfile.finn:136","Warn: pipCommand not pinned by hash: docker/finn_entrypoint.sh:60","Warn: pipCommand not pinned by hash: docker/finn_entrypoint.sh:63","Warn: pipCommand not pinned by hash: docker/finn_entrypoint.sh:65","Warn: pipCommand not pinned by hash: docker/finn_entrypoint.sh:67","Warn: pipCommand not pinned by hash: docker/finn_entrypoint.sh:71","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of  33 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker-image.yml:8"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"20 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: GHSA-3749-ghw9-m3mg","Warn: Project is vulnerable to: PYSEC-2022-43015 / GHSA-47fc-vmwq-366v","Warn: Project is vulnerable to: PYSEC-2025-41 / GHSA-53q9-r3pm-6pq6","Warn: Project is vulnerable to: PYSEC-2024-252 / GHSA-5pcm-hx3q-hm94","Warn: Project is vulnerable to: GHSA-887c-mr87-cxwp","Warn: Project is vulnerable to: PYSEC-2024-251 / GHSA-pg7h-5qx3-wjr3","Warn: Project is vulnerable to: PYSEC-2024-250","Warn: Project is vulnerable to: PYSEC-2024-259","Warn: Project is vulnerable to: PYSEC-2017-74","Warn: Project is vulnerable to: GHSA-6rq9-53c3-f7vj","Warn: Project is vulnerable to: PYSEC-2025-10 / GHSA-h36j-8vv3-cj52","Warn: Project is vulnerable to: PYSEC-2024-223 / GHSA-h8wv-9h96-m4hr","Warn: Project is vulnerable to: PYSEC-2024-222 / GHSA-whh8-fjgc-qp73","Warn: Project is vulnerable to: GHSA-8qvm-5x2c-j2w7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T11:12:47.444Z","repository_id":37492927,"created_at":"2025-08-16T11:12:47.444Z","updated_at":"2025-08-16T11:12:47.444Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006753,"owners_count":26084178,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"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":["compiler","dataflow","fpga","neural-network","quantization"],"created_at":"2025-10-11T09:22:59.955Z","updated_at":"2025-10-11T09:23:01.318Z","avatar_url":"https://github.com/Xilinx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## \u003cimg src=https://raw.githubusercontent.com/Xilinx/finn/github-pages/docs/img/finn-logo.png width=128/\u003e Fast, Scalable Quantized Neural Network Inference on FPGAs\n\n\n\n\u003cimg align=\"left\" src=\"https://raw.githubusercontent.com/Xilinx/finn/github-pages/docs/img/finn-stack.PNG\" alt=\"drawing\" style=\"margin-right: 20px\" width=\"250\"/\u003e\n\n[![GitHub Discussions](https://img.shields.io/badge/discussions-join-green)](https://github.com/Xilinx/finn/discussions)\n[![ReadTheDocs](https://readthedocs.org/projects/finn/badge/?version=latest\u0026style=plastic)](http://finn.readthedocs.io/)\n\nFINN is an experimental framework from Integrated Communications and AI Lab of AMD Research \u0026 Advanced Development to explore deep neural network inference on FPGAs.\nIt specifically targets \u003ca href=\"https://github.com/maltanar/qnn-inference-examples\" target=\"_blank\"\u003equantized neural\nnetworks\u003c/a\u003e, with emphasis on\ngenerating dataflow-style architectures customized for each network.\nThe resulting FPGA accelerators are highly efficient and can yield high throughput and low latency.\nThe framework is fully open-source in order to give a higher degree of flexibility, and is intended to enable neural network research spanning several layers of the software/hardware abstraction stack.\n\nWe have a separate repository [finn-examples](https://github.com/Xilinx/finn-examples) that houses pre-built examples for several neural networks.\nFor more general information about FINN, please visit the [project page](https://xilinx.github.io/finn/) and check out the [publications](https://xilinx.github.io/finn/publications).\n\n## Getting Started\n\nPlease see the [Getting Started](https://finn.readthedocs.io/en/latest/getting_started.html) page for more information on requirements, installation, and how to run FINN in different modes. Due to the complex nature of the dependencies of the project, **we only support Docker-based execution of the FINN compiler at this time**.\n\n## What's New in FINN?\n\n* Please find all news under [GitHub discussions Announcements](https://github.com/Xilinx/finn/discussions/categories/announcements).\n\n## Documentation\n\nYou can view the documentation on [readthedocs](https://finn.readthedocs.io). Additionally, there is a series of [Jupyter notebook tutorials](https://github.com/Xilinx/finn/tree/main/notebooks), which we recommend running from inside Docker for a better experience.\n\n## Community\n\nWe have [GitHub discussions](https://github.com/Xilinx/finn/discussions) where you can ask questions. You can use the GitHub issue tracker to report bugs, but please don't file issues to ask questions as this is better handled in GitHub discussions.\n\nWe also heartily welcome contributions to the project, please check out the [contribution guidelines](CONTRIBUTING.md) and the [list of open issues](https://github.com/Xilinx/finn/issues). Don't hesitate to get in touch over [GitHub discussions](https://github.com/Xilinx/finn/discussions) to discuss your ideas.\n\nIn the past, we also had a [Gitter channel](https://gitter.im/xilinx-finn/community). Please be aware that this is no longer maintained by us but can still be used to search for questions previous users had.\n\n\n## Citation\n\nThe current implementation of the framework is based on the following publications. Please consider citing them if you find FINN useful.\n\n    @article{blott2018finn,\n      title={FINN-R: An end-to-end deep-learning framework for fast exploration of quantized neural networks},\n      author={Blott, Michaela and Preu{\\ss}er, Thomas B and Fraser, Nicholas J and Gambardella, Giulio and O’brien, Kenneth and Umuroglu, Yaman and Leeser, Miriam and Vissers, Kees},\n      journal={ACM Transactions on Reconfigurable Technology and Systems (TRETS)},\n      volume={11},\n      number={3},\n      pages={1--23},\n      year={2018},\n      publisher={ACM New York, NY, USA}\n    }\n\n    @inproceedings{finn,\n    author = {Umuroglu, Yaman and Fraser, Nicholas J. and Gambardella, Giulio and Blott, Michaela and Leong, Philip and Jahre, Magnus and Vissers, Kees},\n    title = {FINN: A Framework for Fast, Scalable Binarized Neural Network Inference},\n    booktitle = {Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays},\n    series = {FPGA '17},\n    year = {2017},\n    pages = {65--74},\n    publisher = {ACM}\n    }\n\n## Old version\n\nWe previously released an early-stage prototype of a toolflow that took in Caffe-HWGQ binarized network descriptions and produced dataflow architectures. You can find it in the [v0.1](https://github.com/Xilinx/finn/tree/v0.1) branch in this repository.\nPlease be aware that this version is deprecated and unsupported, and the main branch does not share history with that branch so it should be treated as a separate repository for all purposes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxilinx%2Ffinn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxilinx%2Ffinn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxilinx%2Ffinn/lists"}